freecodego 0.1.7-rc.2.3 → 0.2.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/client.cjs CHANGED
@@ -5006,6 +5006,105 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
5006
5006
  "username": string().readonly().optional(),
5007
5007
  "apiKeyConfigured": boolean().readonly()
5008
5008
  })]);
5009
+ let _deepseek_ai_dsh_freecodego_harness_plugin_freeCodeGoHarness_antSeedGenerateIdentity_result$schema$value;
5010
+ const _deepseek_ai_dsh_freecodego_harness_plugin_freeCodeGoHarness_antSeedGenerateIdentity_result$schema = () => _deepseek_ai_dsh_freecodego_harness_plugin_freeCodeGoHarness_antSeedGenerateIdentity_result$schema$value ??= object$1({
5011
+ "installed": boolean().readonly(),
5012
+ "running": boolean().readonly(),
5013
+ "gatewayEnabled": boolean().readonly(),
5014
+ "hasIdentity": boolean().readonly(),
5015
+ "identityUnreadable": boolean().readonly().optional(),
5016
+ "peerId": string().readonly().optional(),
5017
+ "port": number().readonly(),
5018
+ "version": string().readonly(),
5019
+ "models": array(object$1({
5020
+ "id": string().readonly(),
5021
+ "name": string().readonly(),
5022
+ "kind": union([literal("text"), literal("images")]).readonly()
5023
+ })).readonly(),
5024
+ "paidModels": number().readonly(),
5025
+ "reason": string().readonly().optional()
5026
+ });
5027
+ let _deepseek_ai_dsh_freecodego_harness_plugin_freeCodeGoHarness_antSeedInstall_result$schema$value;
5028
+ const _deepseek_ai_dsh_freecodego_harness_plugin_freeCodeGoHarness_antSeedInstall_result$schema = () => _deepseek_ai_dsh_freecodego_harness_plugin_freeCodeGoHarness_antSeedInstall_result$schema$value ??= object$1({
5029
+ "installed": boolean().readonly(),
5030
+ "running": boolean().readonly(),
5031
+ "gatewayEnabled": boolean().readonly(),
5032
+ "hasIdentity": boolean().readonly(),
5033
+ "identityUnreadable": boolean().readonly().optional(),
5034
+ "peerId": string().readonly().optional(),
5035
+ "port": number().readonly(),
5036
+ "version": string().readonly(),
5037
+ "models": array(object$1({
5038
+ "id": string().readonly(),
5039
+ "name": string().readonly(),
5040
+ "kind": union([literal("text"), literal("images")]).readonly()
5041
+ })).readonly(),
5042
+ "paidModels": number().readonly(),
5043
+ "reason": string().readonly().optional()
5044
+ });
5045
+ let _deepseek_ai_dsh_freecodego_harness_plugin_freeCodeGoHarness_antSeedRevealIdentity_result$schema$value;
5046
+ const _deepseek_ai_dsh_freecodego_harness_plugin_freeCodeGoHarness_antSeedRevealIdentity_result$schema = () => _deepseek_ai_dsh_freecodego_harness_plugin_freeCodeGoHarness_antSeedRevealIdentity_result$schema$value ??= object$1({
5047
+ "privateKeyHex": string().readonly(),
5048
+ "peerId": string().readonly()
5049
+ });
5050
+ let _deepseek_ai_dsh_freecodego_harness_plugin_freeCodeGoHarness_antSeedSetGateway_parameter_0$schema$value;
5051
+ const _deepseek_ai_dsh_freecodego_harness_plugin_freeCodeGoHarness_antSeedSetGateway_parameter_0$schema = () => _deepseek_ai_dsh_freecodego_harness_plugin_freeCodeGoHarness_antSeedSetGateway_parameter_0$schema$value ??= boolean();
5052
+ let _deepseek_ai_dsh_freecodego_harness_plugin_freeCodeGoHarness_antSeedSetGateway_result$schema$value;
5053
+ const _deepseek_ai_dsh_freecodego_harness_plugin_freeCodeGoHarness_antSeedSetGateway_result$schema = () => _deepseek_ai_dsh_freecodego_harness_plugin_freeCodeGoHarness_antSeedSetGateway_result$schema$value ??= object$1({
5054
+ "installed": boolean().readonly(),
5055
+ "running": boolean().readonly(),
5056
+ "gatewayEnabled": boolean().readonly(),
5057
+ "hasIdentity": boolean().readonly(),
5058
+ "identityUnreadable": boolean().readonly().optional(),
5059
+ "peerId": string().readonly().optional(),
5060
+ "port": number().readonly(),
5061
+ "version": string().readonly(),
5062
+ "models": array(object$1({
5063
+ "id": string().readonly(),
5064
+ "name": string().readonly(),
5065
+ "kind": union([literal("text"), literal("images")]).readonly()
5066
+ })).readonly(),
5067
+ "paidModels": number().readonly(),
5068
+ "reason": string().readonly().optional()
5069
+ });
5070
+ let _deepseek_ai_dsh_freecodego_harness_plugin_freeCodeGoHarness_antSeedSetIdentity_parameter_0$schema$value;
5071
+ const _deepseek_ai_dsh_freecodego_harness_plugin_freeCodeGoHarness_antSeedSetIdentity_parameter_0$schema = () => _deepseek_ai_dsh_freecodego_harness_plugin_freeCodeGoHarness_antSeedSetIdentity_parameter_0$schema$value ??= string();
5072
+ let _deepseek_ai_dsh_freecodego_harness_plugin_freeCodeGoHarness_antSeedSetIdentity_result$schema$value;
5073
+ const _deepseek_ai_dsh_freecodego_harness_plugin_freeCodeGoHarness_antSeedSetIdentity_result$schema = () => _deepseek_ai_dsh_freecodego_harness_plugin_freeCodeGoHarness_antSeedSetIdentity_result$schema$value ??= object$1({
5074
+ "installed": boolean().readonly(),
5075
+ "running": boolean().readonly(),
5076
+ "gatewayEnabled": boolean().readonly(),
5077
+ "hasIdentity": boolean().readonly(),
5078
+ "identityUnreadable": boolean().readonly().optional(),
5079
+ "peerId": string().readonly().optional(),
5080
+ "port": number().readonly(),
5081
+ "version": string().readonly(),
5082
+ "models": array(object$1({
5083
+ "id": string().readonly(),
5084
+ "name": string().readonly(),
5085
+ "kind": union([literal("text"), literal("images")]).readonly()
5086
+ })).readonly(),
5087
+ "paidModels": number().readonly(),
5088
+ "reason": string().readonly().optional()
5089
+ });
5090
+ let _deepseek_ai_dsh_freecodego_harness_plugin_freeCodeGoHarness_antSeedStatus_result$schema$value;
5091
+ const _deepseek_ai_dsh_freecodego_harness_plugin_freeCodeGoHarness_antSeedStatus_result$schema = () => _deepseek_ai_dsh_freecodego_harness_plugin_freeCodeGoHarness_antSeedStatus_result$schema$value ??= object$1({
5092
+ "installed": boolean().readonly(),
5093
+ "running": boolean().readonly(),
5094
+ "gatewayEnabled": boolean().readonly(),
5095
+ "hasIdentity": boolean().readonly(),
5096
+ "identityUnreadable": boolean().readonly().optional(),
5097
+ "peerId": string().readonly().optional(),
5098
+ "port": number().readonly(),
5099
+ "version": string().readonly(),
5100
+ "models": array(object$1({
5101
+ "id": string().readonly(),
5102
+ "name": string().readonly(),
5103
+ "kind": union([literal("text"), literal("images")]).readonly()
5104
+ })).readonly(),
5105
+ "paidModels": number().readonly(),
5106
+ "reason": string().readonly().optional()
5107
+ });
5009
5108
  let _deepseek_ai_dsh_freecodego_harness_plugin_freeCodeGoHarness_automationSettingsStatus_result$schema$value;
5010
5109
  const _deepseek_ai_dsh_freecodego_harness_plugin_freeCodeGoHarness_automationSettingsStatus_result$schema = () => _deepseek_ai_dsh_freecodego_harness_plugin_freeCodeGoHarness_automationSettingsStatus_result$schema$value ??= object$1({
5011
5110
  "hookChainsEnabled": boolean().readonly(),
@@ -8542,18 +8641,18 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
8542
8641
  ]).readonly()
8543
8642
  })).readonly()
8544
8643
  });
8545
- let _deepseek_ai_dsh_freecodego_harness_plugin_freeCodeGoHarness_logfareRegister_parameter_0$schema$value;
8546
- const _deepseek_ai_dsh_freecodego_harness_plugin_freeCodeGoHarness_logfareRegister_parameter_0$schema = () => _deepseek_ai_dsh_freecodego_harness_plugin_freeCodeGoHarness_logfareRegister_parameter_0$schema$value ??= object$1({
8644
+ let _deepseek_ai_dsh_freecodego_harness_plugin_freeCodeGoHarness_logfareLogin_parameter_0$schema$value;
8645
+ const _deepseek_ai_dsh_freecodego_harness_plugin_freeCodeGoHarness_logfareLogin_parameter_0$schema = () => _deepseek_ai_dsh_freecodego_harness_plugin_freeCodeGoHarness_logfareLogin_parameter_0$schema$value ??= object$1({
8547
8646
  "username": string().readonly(),
8548
- "password": string().readonly(),
8549
- "tosAccepted": boolean().readonly(),
8550
- "ageConfirmed": boolean().readonly(),
8551
- "trainingOptIn": boolean().readonly()
8647
+ "password": string().readonly()
8552
8648
  });
8553
- let _deepseek_ai_dsh_freecodego_harness_plugin_freeCodeGoHarness_logfareRegister_result$schema$value;
8554
- const _deepseek_ai_dsh_freecodego_harness_plugin_freeCodeGoHarness_logfareRegister_result$schema = () => _deepseek_ai_dsh_freecodego_harness_plugin_freeCodeGoHarness_logfareRegister_result$schema$value ??= object$1({
8649
+ let _deepseek_ai_dsh_freecodego_harness_plugin_freeCodeGoHarness_logfareLogin_result$schema$value;
8650
+ const _deepseek_ai_dsh_freecodego_harness_plugin_freeCodeGoHarness_logfareLogin_result$schema = () => _deepseek_ai_dsh_freecodego_harness_plugin_freeCodeGoHarness_logfareLogin_result$schema$value ??= object$1({
8555
8651
  "configured": boolean().readonly(),
8556
8652
  "sessionConfigured": boolean().readonly(),
8653
+ "migrationReason": string().readonly(),
8654
+ "discordMigrationRequired": boolean().readonly(),
8655
+ "accountActive": boolean().readonly(),
8557
8656
  "trainingOptIn": boolean().readonly(),
8558
8657
  "premiumUnlocked": boolean().readonly(),
8559
8658
  "standardModelCount": number().readonly(),
@@ -8567,6 +8666,9 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
8567
8666
  const _deepseek_ai_dsh_freecodego_harness_plugin_freeCodeGoHarness_logfareSetKey_result$schema = () => _deepseek_ai_dsh_freecodego_harness_plugin_freeCodeGoHarness_logfareSetKey_result$schema$value ??= object$1({
8568
8667
  "configured": boolean().readonly(),
8569
8668
  "sessionConfigured": boolean().readonly(),
8669
+ "migrationReason": string().readonly(),
8670
+ "discordMigrationRequired": boolean().readonly(),
8671
+ "accountActive": boolean().readonly(),
8570
8672
  "trainingOptIn": boolean().readonly(),
8571
8673
  "premiumUnlocked": boolean().readonly(),
8572
8674
  "standardModelCount": number().readonly(),
@@ -8580,6 +8682,9 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
8580
8682
  const _deepseek_ai_dsh_freecodego_harness_plugin_freeCodeGoHarness_logfareSetTrainingOptIn_result$schema = () => _deepseek_ai_dsh_freecodego_harness_plugin_freeCodeGoHarness_logfareSetTrainingOptIn_result$schema$value ??= object$1({
8581
8683
  "configured": boolean().readonly(),
8582
8684
  "sessionConfigured": boolean().readonly(),
8685
+ "migrationReason": string().readonly(),
8686
+ "discordMigrationRequired": boolean().readonly(),
8687
+ "accountActive": boolean().readonly(),
8583
8688
  "trainingOptIn": boolean().readonly(),
8584
8689
  "premiumUnlocked": boolean().readonly(),
8585
8690
  "standardModelCount": number().readonly(),
@@ -8591,6 +8696,9 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
8591
8696
  const _deepseek_ai_dsh_freecodego_harness_plugin_freeCodeGoHarness_logfareStatus_result$schema = () => _deepseek_ai_dsh_freecodego_harness_plugin_freeCodeGoHarness_logfareStatus_result$schema$value ??= object$1({
8592
8697
  "configured": boolean().readonly(),
8593
8698
  "sessionConfigured": boolean().readonly(),
8699
+ "migrationReason": string().readonly(),
8700
+ "discordMigrationRequired": boolean().readonly(),
8701
+ "accountActive": boolean().readonly(),
8594
8702
  "trainingOptIn": boolean().readonly(),
8595
8703
  "premiumUnlocked": boolean().readonly(),
8596
8704
  "standardModelCount": number().readonly(),
@@ -12293,7 +12401,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
12293
12401
  },
12294
12402
  sourceLocation: {
12295
12403
  "file": "packages/freecodego/harness-plugin/src/index.ts",
12296
- "line": 6556,
12404
+ "line": 6646,
12297
12405
  "column": 9
12298
12406
  }
12299
12407
  },
@@ -12311,7 +12419,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
12311
12419
  },
12312
12420
  sourceLocation: {
12313
12421
  "file": "packages/freecodego/harness-plugin/src/index.ts",
12314
- "line": 6399,
12422
+ "line": 6489,
12315
12423
  "column": 9
12316
12424
  }
12317
12425
  },
@@ -12330,7 +12438,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
12330
12438
  },
12331
12439
  sourceLocation: {
12332
12440
  "file": "packages/freecodego/harness-plugin/src/index.ts",
12333
- "line": 6543,
12441
+ "line": 6633,
12334
12442
  "column": 9
12335
12443
  }
12336
12444
  },
@@ -12358,7 +12466,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
12358
12466
  },
12359
12467
  sourceLocation: {
12360
12468
  "file": "packages/freecodego/harness-plugin/src/index.ts",
12361
- "line": 6429,
12469
+ "line": 6519,
12362
12470
  "column": 9
12363
12471
  }
12364
12472
  },
@@ -12386,7 +12494,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
12386
12494
  },
12387
12495
  sourceLocation: {
12388
12496
  "file": "packages/freecodego/harness-plugin/src/index.ts",
12389
- "line": 6449,
12497
+ "line": 6539,
12390
12498
  "column": 9
12391
12499
  }
12392
12500
  },
@@ -12405,7 +12513,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
12405
12513
  },
12406
12514
  sourceLocation: {
12407
12515
  "file": "packages/freecodego/harness-plugin/src/index.ts",
12408
- "line": 6535,
12516
+ "line": 6625,
12409
12517
  "column": 9
12410
12518
  }
12411
12519
  },
@@ -12433,7 +12541,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
12433
12541
  },
12434
12542
  sourceLocation: {
12435
12543
  "file": "packages/freecodego/harness-plugin/src/index.ts",
12436
- "line": 6566,
12544
+ "line": 6656,
12437
12545
  "column": 9
12438
12546
  }
12439
12547
  },
@@ -12471,7 +12579,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
12471
12579
  },
12472
12580
  sourceLocation: {
12473
12581
  "file": "packages/freecodego/harness-plugin/src/index.ts",
12474
- "line": 6516,
12582
+ "line": 6606,
12475
12583
  "column": 9
12476
12584
  }
12477
12585
  },
@@ -12499,7 +12607,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
12499
12607
  },
12500
12608
  sourceLocation: {
12501
12609
  "file": "packages/freecodego/harness-plugin/src/index.ts",
12502
- "line": 6470,
12610
+ "line": 6560,
12503
12611
  "column": 9
12504
12612
  }
12505
12613
  },
@@ -12527,7 +12635,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
12527
12635
  },
12528
12636
  sourceLocation: {
12529
12637
  "file": "packages/freecodego/harness-plugin/src/index.ts",
12530
- "line": 6496,
12638
+ "line": 6586,
12531
12639
  "column": 9
12532
12640
  }
12533
12641
  },
@@ -12555,7 +12663,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
12555
12663
  },
12556
12664
  sourceLocation: {
12557
12665
  "file": "packages/freecodego/harness-plugin/src/index.ts",
12558
- "line": 6505,
12666
+ "line": 6595,
12559
12667
  "column": 9
12560
12668
  }
12561
12669
  },
@@ -12583,7 +12691,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
12583
12691
  },
12584
12692
  sourceLocation: {
12585
12693
  "file": "packages/freecodego/harness-plugin/src/index.ts",
12586
- "line": 6487,
12694
+ "line": 6577,
12587
12695
  "column": 9
12588
12696
  }
12589
12697
  },
@@ -12602,7 +12710,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
12602
12710
  },
12603
12711
  sourceLocation: {
12604
12712
  "file": "packages/freecodego/harness-plugin/src/index.ts",
12605
- "line": 6478,
12713
+ "line": 6568,
12606
12714
  "column": 9
12607
12715
  }
12608
12716
  },
@@ -12631,7 +12739,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
12631
12739
  },
12632
12740
  sourceLocation: {
12633
12741
  "file": "packages/freecodego/harness-plugin/src/index.ts",
12634
- "line": 6526,
12742
+ "line": 6616,
12635
12743
  "column": 9
12636
12744
  }
12637
12745
  },
@@ -12659,7 +12767,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
12659
12767
  },
12660
12768
  sourceLocation: {
12661
12769
  "file": "packages/freecodego/harness-plugin/src/index.ts",
12662
- "line": 6409,
12770
+ "line": 6499,
12663
12771
  "column": 9
12664
12772
  }
12665
12773
  },
@@ -12678,7 +12786,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
12678
12786
  },
12679
12787
  sourceLocation: {
12680
12788
  "file": "packages/freecodego/harness-plugin/src/index.ts",
12681
- "line": 6458,
12789
+ "line": 6548,
12682
12790
  "column": 9
12683
12791
  }
12684
12792
  },
@@ -12706,7 +12814,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
12706
12814
  },
12707
12815
  sourceLocation: {
12708
12816
  "file": "packages/freecodego/harness-plugin/src/index.ts",
12709
- "line": 6439,
12817
+ "line": 6529,
12710
12818
  "column": 9
12711
12819
  }
12712
12820
  },
@@ -12725,7 +12833,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
12725
12833
  },
12726
12834
  sourceLocation: {
12727
12835
  "file": "packages/freecodego/harness-plugin/src/index.ts",
12728
- "line": 6584,
12836
+ "line": 6674,
12729
12837
  "column": 9
12730
12838
  }
12731
12839
  },
@@ -12753,7 +12861,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
12753
12861
  },
12754
12862
  sourceLocation: {
12755
12863
  "file": "packages/freecodego/harness-plugin/src/index.ts",
12756
- "line": 6576,
12864
+ "line": 6666,
12757
12865
  "column": 9
12758
12866
  }
12759
12867
  },
@@ -12781,7 +12889,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
12781
12889
  },
12782
12890
  sourceLocation: {
12783
12891
  "file": "packages/freecodego/harness-plugin/src/index.ts",
12784
- "line": 6419,
12892
+ "line": 6509,
12785
12893
  "column": 9
12786
12894
  }
12787
12895
  },
@@ -12799,7 +12907,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
12799
12907
  },
12800
12908
  sourceLocation: {
12801
12909
  "file": "packages/freecodego/harness-plugin/src/index.ts",
12802
- "line": 6390,
12910
+ "line": 6480,
12803
12911
  "column": 9
12804
12912
  }
12805
12913
  },
@@ -12827,7 +12935,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
12827
12935
  },
12828
12936
  sourceLocation: {
12829
12937
  "file": "packages/freecodego/harness-plugin/src/index.ts",
12830
- "line": 7202,
12938
+ "line": 7355,
12831
12939
  "column": 9
12832
12940
  }
12833
12941
  },
@@ -12863,7 +12971,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
12863
12971
  },
12864
12972
  sourceLocation: {
12865
12973
  "file": "packages/freecodego/harness-plugin/src/index.ts",
12866
- "line": 7184,
12974
+ "line": 7337,
12867
12975
  "column": 9
12868
12976
  }
12869
12977
  },
@@ -12891,7 +12999,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
12891
12999
  },
12892
13000
  sourceLocation: {
12893
13001
  "file": "packages/freecodego/harness-plugin/src/index.ts",
12894
- "line": 7226,
13002
+ "line": 7379,
12895
13003
  "column": 9
12896
13004
  }
12897
13005
  },
@@ -12919,7 +13027,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
12919
13027
  },
12920
13028
  sourceLocation: {
12921
13029
  "file": "packages/freecodego/harness-plugin/src/index.ts",
12922
- "line": 7218,
13030
+ "line": 7371,
12923
13031
  "column": 9
12924
13032
  }
12925
13033
  },
@@ -12968,7 +13076,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
12968
13076
  },
12969
13077
  sourceLocation: {
12970
13078
  "file": "packages/freecodego/harness-plugin/src/index.ts",
12971
- "line": 7194,
13079
+ "line": 7347,
12972
13080
  "column": 9
12973
13081
  }
12974
13082
  },
@@ -12995,7 +13103,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
12995
13103
  },
12996
13104
  sourceLocation: {
12997
13105
  "file": "packages/freecodego/harness-plugin/src/index.ts",
12998
- "line": 7210,
13106
+ "line": 7363,
12999
13107
  "column": 9
13000
13108
  }
13001
13109
  },
@@ -13044,7 +13152,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
13044
13152
  },
13045
13153
  sourceLocation: {
13046
13154
  "file": "packages/freecodego/harness-plugin/src/index.ts",
13047
- "line": 7175,
13155
+ "line": 7328,
13048
13156
  "column": 9
13049
13157
  }
13050
13158
  },
@@ -13071,7 +13179,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
13071
13179
  },
13072
13180
  sourceLocation: {
13073
13181
  "file": "packages/freecodego/harness-plugin/src/index.ts",
13074
- "line": 7165,
13182
+ "line": 7318,
13075
13183
  "column": 9
13076
13184
  }
13077
13185
  },
@@ -13098,7 +13206,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
13098
13206
  },
13099
13207
  sourceLocation: {
13100
13208
  "file": "packages/freecodego/harness-plugin/src/index.ts",
13101
- "line": 7157,
13209
+ "line": 7310,
13102
13210
  "column": 9
13103
13211
  }
13104
13212
  },
@@ -13116,7 +13224,133 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
13116
13224
  },
13117
13225
  sourceLocation: {
13118
13226
  "file": "packages/freecodego/harness-plugin/src/index.ts",
13119
- "line": 7149,
13227
+ "line": 7302,
13228
+ "column": 9
13229
+ }
13230
+ },
13231
+ {
13232
+ id: "@deepseek-ai/dsh-freecodego-harness-plugin#freeCodeGoHarness/antSeedGenerateIdentity",
13233
+ service: "freeCodeGoHarness",
13234
+ namespace: "freeCodeGoHarness",
13235
+ method: "antSeedGenerateIdentity",
13236
+ invocation: { kind: "direct" },
13237
+ parameters: [],
13238
+ result: {
13239
+ mode: "strict",
13240
+ typeSymbol: "@deepseek-ai/dsh-freecodego-harness-plugin/types#FreeCodeGoAntSeedStatus",
13241
+ create: _deepseek_ai_dsh_freecodego_harness_plugin_freeCodeGoHarness_antSeedGenerateIdentity_result$schema
13242
+ },
13243
+ sourceLocation: {
13244
+ "file": "packages/freecodego/harness-plugin/src/index.ts",
13245
+ "line": 6858,
13246
+ "column": 9
13247
+ }
13248
+ },
13249
+ {
13250
+ id: "@deepseek-ai/dsh-freecodego-harness-plugin#freeCodeGoHarness/antSeedInstall",
13251
+ service: "freeCodeGoHarness",
13252
+ namespace: "freeCodeGoHarness",
13253
+ method: "antSeedInstall",
13254
+ invocation: { kind: "direct" },
13255
+ parameters: [],
13256
+ result: {
13257
+ mode: "strict",
13258
+ typeSymbol: "@deepseek-ai/dsh-freecodego-harness-plugin/types#FreeCodeGoAntSeedStatus",
13259
+ create: _deepseek_ai_dsh_freecodego_harness_plugin_freeCodeGoHarness_antSeedInstall_result$schema
13260
+ },
13261
+ sourceLocation: {
13262
+ "file": "packages/freecodego/harness-plugin/src/index.ts",
13263
+ "line": 6813,
13264
+ "column": 9
13265
+ }
13266
+ },
13267
+ {
13268
+ id: "@deepseek-ai/dsh-freecodego-harness-plugin#freeCodeGoHarness/antSeedRevealIdentity",
13269
+ service: "freeCodeGoHarness",
13270
+ namespace: "freeCodeGoHarness",
13271
+ method: "antSeedRevealIdentity",
13272
+ invocation: { kind: "direct" },
13273
+ parameters: [],
13274
+ result: {
13275
+ mode: "strict",
13276
+ typeSymbol: "@deepseek-ai/dsh-freecodego-harness-plugin#freeCodeGoHarness/antSeedRevealIdentity:result",
13277
+ create: _deepseek_ai_dsh_freecodego_harness_plugin_freeCodeGoHarness_antSeedRevealIdentity_result$schema
13278
+ },
13279
+ sourceLocation: {
13280
+ "file": "packages/freecodego/harness-plugin/src/index.ts",
13281
+ "line": 6835,
13282
+ "column": 9
13283
+ }
13284
+ },
13285
+ {
13286
+ id: "@deepseek-ai/dsh-freecodego-harness-plugin#freeCodeGoHarness/antSeedSetGateway",
13287
+ service: "freeCodeGoHarness",
13288
+ namespace: "freeCodeGoHarness",
13289
+ method: "antSeedSetGateway",
13290
+ invocation: { kind: "direct" },
13291
+ parameters: [{
13292
+ name: "enabled",
13293
+ wire: "enabled",
13294
+ source: "json",
13295
+ codec: {
13296
+ mode: "strict",
13297
+ typeSymbol: "@deepseek-ai/dsh-freecodego-harness-plugin#freeCodeGoHarness/antSeedSetGateway:enabled",
13298
+ create: _deepseek_ai_dsh_freecodego_harness_plugin_freeCodeGoHarness_antSeedSetGateway_parameter_0$schema
13299
+ }
13300
+ }],
13301
+ result: {
13302
+ mode: "strict",
13303
+ typeSymbol: "@deepseek-ai/dsh-freecodego-harness-plugin/types#FreeCodeGoAntSeedStatus",
13304
+ create: _deepseek_ai_dsh_freecodego_harness_plugin_freeCodeGoHarness_antSeedSetGateway_result$schema
13305
+ },
13306
+ sourceLocation: {
13307
+ "file": "packages/freecodego/harness-plugin/src/index.ts",
13308
+ "line": 6824,
13309
+ "column": 9
13310
+ }
13311
+ },
13312
+ {
13313
+ id: "@deepseek-ai/dsh-freecodego-harness-plugin#freeCodeGoHarness/antSeedSetIdentity",
13314
+ service: "freeCodeGoHarness",
13315
+ namespace: "freeCodeGoHarness",
13316
+ method: "antSeedSetIdentity",
13317
+ invocation: { kind: "direct" },
13318
+ parameters: [{
13319
+ name: "privateKeyHex",
13320
+ wire: "privateKeyHex",
13321
+ source: "json",
13322
+ codec: {
13323
+ mode: "strict",
13324
+ typeSymbol: "@deepseek-ai/dsh-freecodego-harness-plugin#freeCodeGoHarness/antSeedSetIdentity:privateKeyHex",
13325
+ create: _deepseek_ai_dsh_freecodego_harness_plugin_freeCodeGoHarness_antSeedSetIdentity_parameter_0$schema
13326
+ }
13327
+ }],
13328
+ result: {
13329
+ mode: "strict",
13330
+ typeSymbol: "@deepseek-ai/dsh-freecodego-harness-plugin/types#FreeCodeGoAntSeedStatus",
13331
+ create: _deepseek_ai_dsh_freecodego_harness_plugin_freeCodeGoHarness_antSeedSetIdentity_result$schema
13332
+ },
13333
+ sourceLocation: {
13334
+ "file": "packages/freecodego/harness-plugin/src/index.ts",
13335
+ "line": 6848,
13336
+ "column": 9
13337
+ }
13338
+ },
13339
+ {
13340
+ id: "@deepseek-ai/dsh-freecodego-harness-plugin#freeCodeGoHarness/antSeedStatus",
13341
+ service: "freeCodeGoHarness",
13342
+ namespace: "freeCodeGoHarness",
13343
+ method: "antSeedStatus",
13344
+ invocation: { kind: "direct" },
13345
+ parameters: [],
13346
+ result: {
13347
+ mode: "strict",
13348
+ typeSymbol: "@deepseek-ai/dsh-freecodego-harness-plugin/types#FreeCodeGoAntSeedStatus",
13349
+ create: _deepseek_ai_dsh_freecodego_harness_plugin_freeCodeGoHarness_antSeedStatus_result$schema
13350
+ },
13351
+ sourceLocation: {
13352
+ "file": "packages/freecodego/harness-plugin/src/index.ts",
13353
+ "line": 6804,
13120
13354
  "column": 9
13121
13355
  }
13122
13356
  },
@@ -13134,7 +13368,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
13134
13368
  },
13135
13369
  sourceLocation: {
13136
13370
  "file": "packages/freecodego/harness-plugin/src/index.ts",
13137
- "line": 5460,
13371
+ "line": 5550,
13138
13372
  "column": 9
13139
13373
  }
13140
13374
  },
@@ -13161,7 +13395,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
13161
13395
  },
13162
13396
  sourceLocation: {
13163
13397
  "file": "packages/freecodego/harness-plugin/src/index.ts",
13164
- "line": 5487,
13398
+ "line": 5577,
13165
13399
  "column": 9
13166
13400
  }
13167
13401
  },
@@ -13179,7 +13413,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
13179
13413
  },
13180
13414
  sourceLocation: {
13181
13415
  "file": "packages/freecodego/harness-plugin/src/index.ts",
13182
- "line": 7084,
13416
+ "line": 7237,
13183
13417
  "column": 9
13184
13418
  }
13185
13419
  },
@@ -13197,7 +13431,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
13197
13431
  },
13198
13432
  sourceLocation: {
13199
13433
  "file": "packages/freecodego/harness-plugin/src/index.ts",
13200
- "line": 6597,
13434
+ "line": 6687,
13201
13435
  "column": 9
13202
13436
  }
13203
13437
  },
@@ -13215,7 +13449,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
13215
13449
  },
13216
13450
  sourceLocation: {
13217
13451
  "file": "packages/freecodego/harness-plugin/src/index.ts",
13218
- "line": 7092,
13452
+ "line": 7245,
13219
13453
  "column": 9
13220
13454
  }
13221
13455
  },
@@ -13233,7 +13467,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
13233
13467
  },
13234
13468
  sourceLocation: {
13235
13469
  "file": "packages/freecodego/harness-plugin/src/index.ts",
13236
- "line": 7100,
13470
+ "line": 7253,
13237
13471
  "column": 9
13238
13472
  }
13239
13473
  },
@@ -13260,7 +13494,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
13260
13494
  },
13261
13495
  sourceLocation: {
13262
13496
  "file": "packages/freecodego/harness-plugin/src/index.ts",
13263
- "line": 7110,
13497
+ "line": 7263,
13264
13498
  "column": 9
13265
13499
  }
13266
13500
  },
@@ -13279,7 +13513,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
13279
13513
  },
13280
13514
  sourceLocation: {
13281
13515
  "file": "packages/freecodego/harness-plugin/src/index.ts",
13282
- "line": 5882,
13516
+ "line": 5972,
13283
13517
  "column": 9
13284
13518
  }
13285
13519
  },
@@ -13306,7 +13540,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
13306
13540
  },
13307
13541
  sourceLocation: {
13308
13542
  "file": "packages/freecodego/harness-plugin/src/index.ts",
13309
- "line": 5891,
13543
+ "line": 5981,
13310
13544
  "column": 9
13311
13545
  }
13312
13546
  },
@@ -13333,7 +13567,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
13333
13567
  },
13334
13568
  sourceLocation: {
13335
13569
  "file": "packages/freecodego/harness-plugin/src/index.ts",
13336
- "line": 5987,
13570
+ "line": 6077,
13337
13571
  "column": 9
13338
13572
  }
13339
13573
  },
@@ -13351,7 +13585,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
13351
13585
  },
13352
13586
  sourceLocation: {
13353
13587
  "file": "packages/freecodego/harness-plugin/src/index.ts",
13354
- "line": 6265,
13588
+ "line": 6355,
13355
13589
  "column": 3
13356
13590
  }
13357
13591
  },
@@ -13379,7 +13613,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
13379
13613
  },
13380
13614
  sourceLocation: {
13381
13615
  "file": "packages/freecodego/harness-plugin/src/index.ts",
13382
- "line": 6336,
13616
+ "line": 6426,
13383
13617
  "column": 9
13384
13618
  }
13385
13619
  },
@@ -13397,7 +13631,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
13397
13631
  },
13398
13632
  sourceLocation: {
13399
13633
  "file": "packages/freecodego/harness-plugin/src/index.ts",
13400
- "line": 6345,
13634
+ "line": 6435,
13401
13635
  "column": 3
13402
13636
  }
13403
13637
  },
@@ -13415,7 +13649,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
13415
13649
  },
13416
13650
  sourceLocation: {
13417
13651
  "file": "packages/freecodego/harness-plugin/src/index.ts",
13418
- "line": 6352,
13652
+ "line": 6442,
13419
13653
  "column": 9
13420
13654
  }
13421
13655
  },
@@ -13433,7 +13667,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
13433
13667
  },
13434
13668
  sourceLocation: {
13435
13669
  "file": "packages/freecodego/harness-plugin/src/index.ts",
13436
- "line": 6328,
13670
+ "line": 6418,
13437
13671
  "column": 3
13438
13672
  }
13439
13673
  },
@@ -13460,7 +13694,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
13460
13694
  },
13461
13695
  sourceLocation: {
13462
13696
  "file": "packages/freecodego/harness-plugin/src/index.ts",
13463
- "line": 7047,
13697
+ "line": 7200,
13464
13698
  "column": 9
13465
13699
  }
13466
13700
  },
@@ -13478,7 +13712,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
13478
13712
  },
13479
13713
  sourceLocation: {
13480
13714
  "file": "packages/freecodego/harness-plugin/src/index.ts",
13481
- "line": 7076,
13715
+ "line": 7229,
13482
13716
  "column": 9
13483
13717
  }
13484
13718
  },
@@ -13505,7 +13739,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
13505
13739
  },
13506
13740
  sourceLocation: {
13507
13741
  "file": "packages/freecodego/harness-plugin/src/index.ts",
13508
- "line": 7037,
13742
+ "line": 7190,
13509
13743
  "column": 9
13510
13744
  }
13511
13745
  },
@@ -13533,7 +13767,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
13533
13767
  },
13534
13768
  sourceLocation: {
13535
13769
  "file": "packages/freecodego/harness-plugin/src/index.ts",
13536
- "line": 7067,
13770
+ "line": 7220,
13537
13771
  "column": 9
13538
13772
  }
13539
13773
  },
@@ -13560,7 +13794,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
13560
13794
  },
13561
13795
  sourceLocation: {
13562
13796
  "file": "packages/freecodego/harness-plugin/src/index.ts",
13563
- "line": 7057,
13797
+ "line": 7210,
13564
13798
  "column": 9
13565
13799
  }
13566
13800
  },
@@ -13578,7 +13812,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
13578
13812
  },
13579
13813
  sourceLocation: {
13580
13814
  "file": "packages/freecodego/harness-plugin/src/index.ts",
13581
- "line": 7027,
13815
+ "line": 7180,
13582
13816
  "column": 9
13583
13817
  }
13584
13818
  },
@@ -13596,7 +13830,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
13596
13830
  },
13597
13831
  sourceLocation: {
13598
13832
  "file": "packages/freecodego/harness-plugin/src/index.ts",
13599
- "line": 7018,
13833
+ "line": 7171,
13600
13834
  "column": 9
13601
13835
  }
13602
13836
  },
@@ -13624,7 +13858,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
13624
13858
  },
13625
13859
  sourceLocation: {
13626
13860
  "file": "packages/freecodego/harness-plugin/src/index.ts",
13627
- "line": 6303,
13861
+ "line": 6393,
13628
13862
  "column": 9
13629
13863
  }
13630
13864
  },
@@ -13642,7 +13876,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
13642
13876
  },
13643
13877
  sourceLocation: {
13644
13878
  "file": "packages/freecodego/harness-plugin/src/index.ts",
13645
- "line": 6312,
13879
+ "line": 6402,
13646
13880
  "column": 9
13647
13881
  }
13648
13882
  },
@@ -13660,7 +13894,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
13660
13894
  },
13661
13895
  sourceLocation: {
13662
13896
  "file": "packages/freecodego/harness-plugin/src/index.ts",
13663
- "line": 6319,
13897
+ "line": 6409,
13664
13898
  "column": 9
13665
13899
  }
13666
13900
  },
@@ -13678,7 +13912,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
13678
13912
  },
13679
13913
  sourceLocation: {
13680
13914
  "file": "packages/freecodego/harness-plugin/src/index.ts",
13681
- "line": 6295,
13915
+ "line": 6385,
13682
13916
  "column": 3
13683
13917
  }
13684
13918
  },
@@ -13706,7 +13940,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
13706
13940
  },
13707
13941
  sourceLocation: {
13708
13942
  "file": "packages/freecodego/harness-plugin/src/index.ts",
13709
- "line": 6128,
13943
+ "line": 6218,
13710
13944
  "column": 9
13711
13945
  }
13712
13946
  },
@@ -13733,7 +13967,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
13733
13967
  },
13734
13968
  sourceLocation: {
13735
13969
  "file": "packages/freecodego/harness-plugin/src/index.ts",
13736
- "line": 6137,
13970
+ "line": 6227,
13737
13971
  "column": 9
13738
13972
  }
13739
13973
  },
@@ -13751,7 +13985,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
13751
13985
  },
13752
13986
  sourceLocation: {
13753
13987
  "file": "packages/freecodego/harness-plugin/src/index.ts",
13754
- "line": 6146,
13988
+ "line": 6236,
13755
13989
  "column": 9
13756
13990
  }
13757
13991
  },
@@ -13778,7 +14012,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
13778
14012
  },
13779
14013
  sourceLocation: {
13780
14014
  "file": "packages/freecodego/harness-plugin/src/index.ts",
13781
- "line": 6165,
14015
+ "line": 6255,
13782
14016
  "column": 9
13783
14017
  }
13784
14018
  },
@@ -13796,7 +14030,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
13796
14030
  },
13797
14031
  sourceLocation: {
13798
14032
  "file": "packages/freecodego/harness-plugin/src/index.ts",
13799
- "line": 6155,
14033
+ "line": 6245,
13800
14034
  "column": 9
13801
14035
  }
13802
14036
  },
@@ -13823,7 +14057,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
13823
14057
  },
13824
14058
  sourceLocation: {
13825
14059
  "file": "packages/freecodego/harness-plugin/src/index.ts",
13826
- "line": 6174,
14060
+ "line": 6264,
13827
14061
  "column": 9
13828
14062
  }
13829
14063
  },
@@ -13850,7 +14084,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
13850
14084
  },
13851
14085
  sourceLocation: {
13852
14086
  "file": "packages/freecodego/harness-plugin/src/index.ts",
13853
- "line": 3032,
14087
+ "line": 3122,
13854
14088
  "column": 9
13855
14089
  }
13856
14090
  },
@@ -13868,7 +14102,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
13868
14102
  },
13869
14103
  sourceLocation: {
13870
14104
  "file": "packages/freecodego/harness-plugin/src/index.ts",
13871
- "line": 3023,
14105
+ "line": 3113,
13872
14106
  "column": 3
13873
14107
  }
13874
14108
  },
@@ -13904,7 +14138,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
13904
14138
  },
13905
14139
  sourceLocation: {
13906
14140
  "file": "packages/freecodego/harness-plugin/src/index.ts",
13907
- "line": 2640,
14141
+ "line": 2730,
13908
14142
  "column": 9
13909
14143
  }
13910
14144
  },
@@ -13931,7 +14165,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
13931
14165
  },
13932
14166
  sourceLocation: {
13933
14167
  "file": "packages/freecodego/harness-plugin/src/index.ts",
13934
- "line": 2630,
14168
+ "line": 2720,
13935
14169
  "column": 9
13936
14170
  }
13937
14171
  },
@@ -13949,7 +14183,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
13949
14183
  },
13950
14184
  sourceLocation: {
13951
14185
  "file": "packages/freecodego/harness-plugin/src/index.ts",
13952
- "line": 2620,
14186
+ "line": 2710,
13953
14187
  "column": 9
13954
14188
  }
13955
14189
  },
@@ -13985,7 +14219,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
13985
14219
  },
13986
14220
  sourceLocation: {
13987
14221
  "file": "packages/freecodego/harness-plugin/src/index.ts",
13988
- "line": 2913,
14222
+ "line": 3003,
13989
14223
  "column": 9
13990
14224
  }
13991
14225
  },
@@ -14021,7 +14255,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14021
14255
  },
14022
14256
  sourceLocation: {
14023
14257
  "file": "packages/freecodego/harness-plugin/src/index.ts",
14024
- "line": 2952,
14258
+ "line": 3042,
14025
14259
  "column": 3
14026
14260
  }
14027
14261
  },
@@ -14048,7 +14282,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14048
14282
  },
14049
14283
  sourceLocation: {
14050
14284
  "file": "packages/freecodego/harness-plugin/src/index.ts",
14051
- "line": 2922,
14285
+ "line": 3012,
14052
14286
  "column": 3
14053
14287
  }
14054
14288
  },
@@ -14084,7 +14318,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14084
14318
  },
14085
14319
  sourceLocation: {
14086
14320
  "file": "packages/freecodego/harness-plugin/src/index.ts",
14087
- "line": 2942,
14321
+ "line": 3032,
14088
14322
  "column": 3
14089
14323
  }
14090
14324
  },
@@ -14120,7 +14354,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14120
14354
  },
14121
14355
  sourceLocation: {
14122
14356
  "file": "packages/freecodego/harness-plugin/src/index.ts",
14123
- "line": 2932,
14357
+ "line": 3022,
14124
14358
  "column": 9
14125
14359
  }
14126
14360
  },
@@ -14156,7 +14390,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14156
14390
  },
14157
14391
  sourceLocation: {
14158
14392
  "file": "packages/freecodego/harness-plugin/src/index.ts",
14159
- "line": 2962,
14393
+ "line": 3052,
14160
14394
  "column": 3
14161
14395
  }
14162
14396
  },
@@ -14193,7 +14427,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14193
14427
  },
14194
14428
  sourceLocation: {
14195
14429
  "file": "packages/freecodego/harness-plugin/src/index.ts",
14196
- "line": 5818,
14430
+ "line": 5908,
14197
14431
  "column": 3
14198
14432
  }
14199
14433
  },
@@ -14220,7 +14454,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14220
14454
  },
14221
14455
  sourceLocation: {
14222
14456
  "file": "packages/freecodego/harness-plugin/src/index.ts",
14223
- "line": 5838,
14457
+ "line": 5928,
14224
14458
  "column": 3
14225
14459
  }
14226
14460
  },
@@ -14247,7 +14481,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14247
14481
  },
14248
14482
  sourceLocation: {
14249
14483
  "file": "packages/freecodego/harness-plugin/src/index.ts",
14250
- "line": 5848,
14484
+ "line": 5938,
14251
14485
  "column": 3
14252
14486
  }
14253
14487
  },
@@ -14274,7 +14508,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14274
14508
  },
14275
14509
  sourceLocation: {
14276
14510
  "file": "packages/freecodego/harness-plugin/src/index.ts",
14277
- "line": 5808,
14511
+ "line": 5898,
14278
14512
  "column": 3
14279
14513
  }
14280
14514
  },
@@ -14292,7 +14526,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14292
14526
  },
14293
14527
  sourceLocation: {
14294
14528
  "file": "packages/freecodego/harness-plugin/src/index.ts",
14295
- "line": 5791,
14529
+ "line": 5881,
14296
14530
  "column": 3
14297
14531
  }
14298
14532
  },
@@ -14310,7 +14544,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14310
14544
  },
14311
14545
  sourceLocation: {
14312
14546
  "file": "packages/freecodego/harness-plugin/src/index.ts",
14313
- "line": 5783,
14547
+ "line": 5873,
14314
14548
  "column": 3
14315
14549
  }
14316
14550
  },
@@ -14328,7 +14562,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14328
14562
  },
14329
14563
  sourceLocation: {
14330
14564
  "file": "packages/freecodego/harness-plugin/src/index.ts",
14331
- "line": 5799,
14565
+ "line": 5889,
14332
14566
  "column": 3
14333
14567
  }
14334
14568
  },
@@ -14346,7 +14580,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14346
14580
  },
14347
14581
  sourceLocation: {
14348
14582
  "file": "packages/freecodego/harness-plugin/src/index.ts",
14349
- "line": 5775,
14583
+ "line": 5865,
14350
14584
  "column": 3
14351
14585
  }
14352
14586
  },
@@ -14373,7 +14607,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14373
14607
  },
14374
14608
  sourceLocation: {
14375
14609
  "file": "packages/freecodego/harness-plugin/src/index.ts",
14376
- "line": 5828,
14610
+ "line": 5918,
14377
14611
  "column": 3
14378
14612
  }
14379
14613
  },
@@ -14391,7 +14625,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14391
14625
  },
14392
14626
  sourceLocation: {
14393
14627
  "file": "packages/freecodego/harness-plugin/src/index.ts",
14394
- "line": 3007,
14628
+ "line": 3097,
14395
14629
  "column": 9
14396
14630
  }
14397
14631
  },
@@ -14428,7 +14662,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14428
14662
  },
14429
14663
  sourceLocation: {
14430
14664
  "file": "packages/freecodego/harness-plugin/src/index.ts",
14431
- "line": 5728,
14665
+ "line": 5818,
14432
14666
  "column": 3
14433
14667
  }
14434
14668
  },
@@ -14455,7 +14689,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14455
14689
  },
14456
14690
  sourceLocation: {
14457
14691
  "file": "packages/freecodego/harness-plugin/src/index.ts",
14458
- "line": 5747,
14692
+ "line": 5837,
14459
14693
  "column": 3
14460
14694
  }
14461
14695
  },
@@ -14492,7 +14726,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14492
14726
  },
14493
14727
  sourceLocation: {
14494
14728
  "file": "packages/freecodego/harness-plugin/src/index.ts",
14495
- "line": 5757,
14729
+ "line": 5847,
14496
14730
  "column": 3
14497
14731
  }
14498
14732
  },
@@ -14519,7 +14753,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14519
14753
  },
14520
14754
  sourceLocation: {
14521
14755
  "file": "packages/freecodego/harness-plugin/src/index.ts",
14522
- "line": 5767,
14756
+ "line": 5857,
14523
14757
  "column": 3
14524
14758
  }
14525
14759
  },
@@ -14546,7 +14780,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14546
14780
  },
14547
14781
  sourceLocation: {
14548
14782
  "file": "packages/freecodego/harness-plugin/src/index.ts",
14549
- "line": 5718,
14783
+ "line": 5808,
14550
14784
  "column": 3
14551
14785
  }
14552
14786
  },
@@ -14573,7 +14807,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14573
14807
  },
14574
14808
  sourceLocation: {
14575
14809
  "file": "packages/freecodego/harness-plugin/src/index.ts",
14576
- "line": 5701,
14810
+ "line": 5791,
14577
14811
  "column": 3
14578
14812
  }
14579
14813
  },
@@ -14591,7 +14825,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14591
14825
  },
14592
14826
  sourceLocation: {
14593
14827
  "file": "packages/freecodego/harness-plugin/src/index.ts",
14594
- "line": 5692,
14828
+ "line": 5782,
14595
14829
  "column": 3
14596
14830
  }
14597
14831
  },
@@ -14609,7 +14843,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14609
14843
  },
14610
14844
  sourceLocation: {
14611
14845
  "file": "packages/freecodego/harness-plugin/src/index.ts",
14612
- "line": 5709,
14846
+ "line": 5799,
14613
14847
  "column": 3
14614
14848
  }
14615
14849
  },
@@ -14627,7 +14861,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14627
14861
  },
14628
14862
  sourceLocation: {
14629
14863
  "file": "packages/freecodego/harness-plugin/src/index.ts",
14630
- "line": 5684,
14864
+ "line": 5774,
14631
14865
  "column": 3
14632
14866
  }
14633
14867
  },
@@ -14654,7 +14888,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14654
14888
  },
14655
14889
  sourceLocation: {
14656
14890
  "file": "packages/freecodego/harness-plugin/src/index.ts",
14657
- "line": 5738,
14891
+ "line": 5828,
14658
14892
  "column": 3
14659
14893
  }
14660
14894
  },
@@ -14681,7 +14915,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14681
14915
  },
14682
14916
  sourceLocation: {
14683
14917
  "file": "packages/freecodego/harness-plugin/src/index.ts",
14684
- "line": 2667,
14918
+ "line": 2757,
14685
14919
  "column": 9
14686
14920
  }
14687
14921
  },
@@ -14708,7 +14942,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14708
14942
  },
14709
14943
  sourceLocation: {
14710
14944
  "file": "packages/freecodego/harness-plugin/src/index.ts",
14711
- "line": 2658,
14945
+ "line": 2748,
14712
14946
  "column": 9
14713
14947
  }
14714
14948
  },
@@ -14735,7 +14969,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14735
14969
  },
14736
14970
  sourceLocation: {
14737
14971
  "file": "packages/freecodego/harness-plugin/src/index.ts",
14738
- "line": 2676,
14972
+ "line": 2766,
14739
14973
  "column": 9
14740
14974
  }
14741
14975
  },
@@ -14762,7 +14996,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14762
14996
  },
14763
14997
  sourceLocation: {
14764
14998
  "file": "packages/freecodego/harness-plugin/src/index.ts",
14765
- "line": 2785,
14999
+ "line": 2875,
14766
15000
  "column": 3
14767
15001
  }
14768
15002
  },
@@ -14789,7 +15023,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14789
15023
  },
14790
15024
  sourceLocation: {
14791
15025
  "file": "packages/freecodego/harness-plugin/src/index.ts",
14792
- "line": 2822,
15026
+ "line": 2912,
14793
15027
  "column": 9
14794
15028
  }
14795
15029
  },
@@ -14825,7 +15059,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14825
15059
  },
14826
15060
  sourceLocation: {
14827
15061
  "file": "packages/freecodego/harness-plugin/src/index.ts",
14828
- "line": 2757,
15062
+ "line": 2847,
14829
15063
  "column": 3
14830
15064
  }
14831
15065
  },
@@ -14852,7 +15086,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14852
15086
  },
14853
15087
  sourceLocation: {
14854
15088
  "file": "packages/freecodego/harness-plugin/src/index.ts",
14855
- "line": 2776,
15089
+ "line": 2866,
14856
15090
  "column": 3
14857
15091
  }
14858
15092
  },
@@ -14889,7 +15123,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14889
15123
  },
14890
15124
  sourceLocation: {
14891
15125
  "file": "packages/freecodego/harness-plugin/src/index.ts",
14892
- "line": 2893,
15126
+ "line": 2983,
14893
15127
  "column": 3
14894
15128
  }
14895
15129
  },
@@ -14925,7 +15159,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14925
15159
  },
14926
15160
  sourceLocation: {
14927
15161
  "file": "packages/freecodego/harness-plugin/src/index.ts",
14928
- "line": 2737,
15162
+ "line": 2827,
14929
15163
  "column": 3
14930
15164
  }
14931
15165
  },
@@ -14962,7 +15196,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14962
15196
  },
14963
15197
  sourceLocation: {
14964
15198
  "file": "packages/freecodego/harness-plugin/src/index.ts",
14965
- "line": 2686,
15199
+ "line": 2776,
14966
15200
  "column": 3
14967
15201
  }
14968
15202
  },
@@ -14989,7 +15223,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14989
15223
  },
14990
15224
  sourceLocation: {
14991
15225
  "file": "packages/freecodego/harness-plugin/src/index.ts",
14992
- "line": 2840,
15226
+ "line": 2930,
14993
15227
  "column": 3
14994
15228
  }
14995
15229
  },
@@ -15026,7 +15260,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
15026
15260
  },
15027
15261
  sourceLocation: {
15028
15262
  "file": "packages/freecodego/harness-plugin/src/index.ts",
15029
- "line": 2767,
15263
+ "line": 2857,
15030
15264
  "column": 3
15031
15265
  }
15032
15266
  },
@@ -15053,7 +15287,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
15053
15287
  },
15054
15288
  sourceLocation: {
15055
15289
  "file": "packages/freecodego/harness-plugin/src/index.ts",
15056
- "line": 2706,
15290
+ "line": 2796,
15057
15291
  "column": 3
15058
15292
  }
15059
15293
  },
@@ -15090,7 +15324,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
15090
15324
  },
15091
15325
  sourceLocation: {
15092
15326
  "file": "packages/freecodego/harness-plugin/src/index.ts",
15093
- "line": 2795,
15327
+ "line": 2885,
15094
15328
  "column": 3
15095
15329
  }
15096
15330
  },
@@ -15126,7 +15360,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
15126
15360
  },
15127
15361
  sourceLocation: {
15128
15362
  "file": "packages/freecodego/harness-plugin/src/index.ts",
15129
- "line": 2747,
15363
+ "line": 2837,
15130
15364
  "column": 3
15131
15365
  }
15132
15366
  },
@@ -15177,7 +15411,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
15177
15411
  },
15178
15412
  sourceLocation: {
15179
15413
  "file": "packages/freecodego/harness-plugin/src/index.ts",
15180
- "line": 2697,
15414
+ "line": 2787,
15181
15415
  "column": 3
15182
15416
  }
15183
15417
  },
@@ -15204,7 +15438,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
15204
15438
  },
15205
15439
  sourceLocation: {
15206
15440
  "file": "packages/freecodego/harness-plugin/src/index.ts",
15207
- "line": 2872,
15441
+ "line": 2962,
15208
15442
  "column": 3
15209
15443
  }
15210
15444
  },
@@ -15231,7 +15465,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
15231
15465
  },
15232
15466
  sourceLocation: {
15233
15467
  "file": "packages/freecodego/harness-plugin/src/index.ts",
15234
- "line": 2855,
15468
+ "line": 2945,
15235
15469
  "column": 3
15236
15470
  }
15237
15471
  },
@@ -15267,7 +15501,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
15267
15501
  },
15268
15502
  sourceLocation: {
15269
15503
  "file": "packages/freecodego/harness-plugin/src/index.ts",
15270
- "line": 2727,
15504
+ "line": 2817,
15271
15505
  "column": 3
15272
15506
  }
15273
15507
  },
@@ -15294,7 +15528,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
15294
15528
  },
15295
15529
  sourceLocation: {
15296
15530
  "file": "packages/freecodego/harness-plugin/src/index.ts",
15297
- "line": 2612,
15531
+ "line": 2702,
15298
15532
  "column": 9
15299
15533
  }
15300
15534
  },
@@ -15321,7 +15555,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
15321
15555
  },
15322
15556
  sourceLocation: {
15323
15557
  "file": "packages/freecodego/harness-plugin/src/index.ts",
15324
- "line": 2649,
15558
+ "line": 2739,
15325
15559
  "column": 9
15326
15560
  }
15327
15561
  },
@@ -15348,7 +15582,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
15348
15582
  },
15349
15583
  sourceLocation: {
15350
15584
  "file": "packages/freecodego/harness-plugin/src/index.ts",
15351
- "line": 2976,
15585
+ "line": 3066,
15352
15586
  "column": 9
15353
15587
  }
15354
15588
  },
@@ -15384,7 +15618,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
15384
15618
  },
15385
15619
  sourceLocation: {
15386
15620
  "file": "packages/freecodego/harness-plugin/src/index.ts",
15387
- "line": 2992,
15621
+ "line": 3082,
15388
15622
  "column": 9
15389
15623
  }
15390
15624
  },
@@ -15402,7 +15636,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
15402
15636
  },
15403
15637
  sourceLocation: {
15404
15638
  "file": "packages/freecodego/harness-plugin/src/index.ts",
15405
- "line": 2603,
15639
+ "line": 2693,
15406
15640
  "column": 9
15407
15641
  }
15408
15642
  },
@@ -15429,7 +15663,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
15429
15663
  },
15430
15664
  sourceLocation: {
15431
15665
  "file": "packages/freecodego/harness-plugin/src/index.ts",
15432
- "line": 2549,
15666
+ "line": 2639,
15433
15667
  "column": 3
15434
15668
  }
15435
15669
  },
@@ -15465,7 +15699,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
15465
15699
  },
15466
15700
  sourceLocation: {
15467
15701
  "file": "packages/freecodego/harness-plugin/src/index.ts",
15468
- "line": 2569,
15702
+ "line": 2659,
15469
15703
  "column": 9
15470
15704
  }
15471
15705
  },
@@ -15501,7 +15735,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
15501
15735
  },
15502
15736
  sourceLocation: {
15503
15737
  "file": "packages/freecodego/harness-plugin/src/index.ts",
15504
- "line": 2595,
15738
+ "line": 2685,
15505
15739
  "column": 9
15506
15740
  }
15507
15741
  },
@@ -15528,7 +15762,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
15528
15762
  },
15529
15763
  sourceLocation: {
15530
15764
  "file": "packages/freecodego/harness-plugin/src/index.ts",
15531
- "line": 2540,
15765
+ "line": 2630,
15532
15766
  "column": 9
15533
15767
  }
15534
15768
  },
@@ -15555,7 +15789,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
15555
15789
  },
15556
15790
  sourceLocation: {
15557
15791
  "file": "packages/freecodego/harness-plugin/src/index.ts",
15558
- "line": 2559,
15792
+ "line": 2649,
15559
15793
  "column": 9
15560
15794
  }
15561
15795
  },
@@ -15591,7 +15825,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
15591
15825
  },
15592
15826
  sourceLocation: {
15593
15827
  "file": "packages/freecodego/harness-plugin/src/index.ts",
15594
- "line": 2531,
15828
+ "line": 2621,
15595
15829
  "column": 3
15596
15830
  }
15597
15831
  },
@@ -15627,7 +15861,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
15627
15861
  },
15628
15862
  sourceLocation: {
15629
15863
  "file": "packages/freecodego/harness-plugin/src/index.ts",
15630
- "line": 2582,
15864
+ "line": 2672,
15631
15865
  "column": 9
15632
15866
  }
15633
15867
  },
@@ -15654,7 +15888,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
15654
15888
  },
15655
15889
  sourceLocation: {
15656
15890
  "file": "packages/freecodego/harness-plugin/src/index.ts",
15657
- "line": 7260,
15891
+ "line": 7413,
15658
15892
  "column": 9
15659
15893
  }
15660
15894
  },
@@ -15704,7 +15938,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
15704
15938
  },
15705
15939
  sourceLocation: {
15706
15940
  "file": "packages/freecodego/harness-plugin/src/index.ts",
15707
- "line": 6628,
15941
+ "line": 6718,
15708
15942
  "column": 9
15709
15943
  }
15710
15944
  },
@@ -15722,7 +15956,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
15722
15956
  },
15723
15957
  sourceLocation: {
15724
15958
  "file": "packages/freecodego/harness-plugin/src/index.ts",
15725
- "line": 3600,
15959
+ "line": 3690,
15726
15960
  "column": 9
15727
15961
  }
15728
15962
  },
@@ -15749,7 +15983,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
15749
15983
  },
15750
15984
  sourceLocation: {
15751
15985
  "file": "packages/freecodego/harness-plugin/src/index.ts",
15752
- "line": 5553,
15986
+ "line": 5643,
15753
15987
  "column": 9
15754
15988
  }
15755
15989
  },
@@ -15776,7 +16010,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
15776
16010
  },
15777
16011
  sourceLocation: {
15778
16012
  "file": "packages/freecodego/harness-plugin/src/index.ts",
15779
- "line": 5570,
16013
+ "line": 5660,
15780
16014
  "column": 9
15781
16015
  }
15782
16016
  },
@@ -15794,7 +16028,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
15794
16028
  },
15795
16029
  sourceLocation: {
15796
16030
  "file": "packages/freecodego/harness-plugin/src/index.ts",
15797
- "line": 3015,
16031
+ "line": 3105,
15798
16032
  "column": 3
15799
16033
  }
15800
16034
  },
@@ -15821,7 +16055,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
15821
16055
  },
15822
16056
  sourceLocation: {
15823
16057
  "file": "packages/freecodego/harness-plugin/src/index.ts",
15824
- "line": 5582,
16058
+ "line": 5672,
15825
16059
  "column": 9
15826
16060
  }
15827
16061
  },
@@ -15839,15 +16073,15 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
15839
16073
  },
15840
16074
  sourceLocation: {
15841
16075
  "file": "packages/freecodego/harness-plugin/src/index.ts",
15842
- "line": 4243,
16076
+ "line": 4333,
15843
16077
  "column": 9
15844
16078
  }
15845
16079
  },
15846
16080
  {
15847
- id: "@deepseek-ai/dsh-freecodego-harness-plugin#freeCodeGoHarness/logfareRegister",
16081
+ id: "@deepseek-ai/dsh-freecodego-harness-plugin#freeCodeGoHarness/logfareLogin",
15848
16082
  service: "freeCodeGoHarness",
15849
16083
  namespace: "freeCodeGoHarness",
15850
- method: "logfareRegister",
16084
+ method: "logfareLogin",
15851
16085
  invocation: { kind: "direct" },
15852
16086
  parameters: [{
15853
16087
  name: "input",
@@ -15855,18 +16089,18 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
15855
16089
  source: "json",
15856
16090
  codec: {
15857
16091
  mode: "strict",
15858
- typeSymbol: "@deepseek-ai/dsh-freecodego-harness-plugin/types#FreeCodeGoLogfareRegistrationRequest",
15859
- create: _deepseek_ai_dsh_freecodego_harness_plugin_freeCodeGoHarness_logfareRegister_parameter_0$schema
16092
+ typeSymbol: "@deepseek-ai/dsh-freecodego-harness-plugin/types#FreeCodeGoLogfareLoginRequest",
16093
+ create: _deepseek_ai_dsh_freecodego_harness_plugin_freeCodeGoHarness_logfareLogin_parameter_0$schema
15860
16094
  }
15861
16095
  }],
15862
16096
  result: {
15863
16097
  mode: "strict",
15864
16098
  typeSymbol: "@deepseek-ai/dsh-freecodego-harness-plugin/types#FreeCodeGoLogfareStatus",
15865
- create: _deepseek_ai_dsh_freecodego_harness_plugin_freeCodeGoHarness_logfareRegister_result$schema
16099
+ create: _deepseek_ai_dsh_freecodego_harness_plugin_freeCodeGoHarness_logfareLogin_result$schema
15866
16100
  },
15867
16101
  sourceLocation: {
15868
16102
  "file": "packages/freecodego/harness-plugin/src/index.ts",
15869
- "line": 6657,
16103
+ "line": 6747,
15870
16104
  "column": 9
15871
16105
  }
15872
16106
  },
@@ -15893,7 +16127,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
15893
16127
  },
15894
16128
  sourceLocation: {
15895
16129
  "file": "packages/freecodego/harness-plugin/src/index.ts",
15896
- "line": 6647,
16130
+ "line": 6737,
15897
16131
  "column": 9
15898
16132
  }
15899
16133
  },
@@ -15920,7 +16154,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
15920
16154
  },
15921
16155
  sourceLocation: {
15922
16156
  "file": "packages/freecodego/harness-plugin/src/index.ts",
15923
- "line": 6667,
16157
+ "line": 6757,
15924
16158
  "column": 9
15925
16159
  }
15926
16160
  },
@@ -15938,7 +16172,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
15938
16172
  },
15939
16173
  sourceLocation: {
15940
16174
  "file": "packages/freecodego/harness-plugin/src/index.ts",
15941
- "line": 6637,
16175
+ "line": 6727,
15942
16176
  "column": 9
15943
16177
  }
15944
16178
  },
@@ -15956,7 +16190,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
15956
16190
  },
15957
16191
  sourceLocation: {
15958
16192
  "file": "packages/freecodego/harness-plugin/src/index.ts",
15959
- "line": 3073,
16193
+ "line": 3163,
15960
16194
  "column": 9
15961
16195
  }
15962
16196
  },
@@ -15983,7 +16217,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
15983
16217
  },
15984
16218
  sourceLocation: {
15985
16219
  "file": "packages/freecodego/harness-plugin/src/index.ts",
15986
- "line": 5996,
16220
+ "line": 6086,
15987
16221
  "column": 9
15988
16222
  }
15989
16223
  },
@@ -16010,7 +16244,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
16010
16244
  },
16011
16245
  sourceLocation: {
16012
16246
  "file": "packages/freecodego/harness-plugin/src/index.ts",
16013
- "line": 5935,
16247
+ "line": 6025,
16014
16248
  "column": 9
16015
16249
  }
16016
16250
  },
@@ -16037,7 +16271,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
16037
16271
  },
16038
16272
  sourceLocation: {
16039
16273
  "file": "packages/freecodego/harness-plugin/src/index.ts",
16040
- "line": 5926,
16274
+ "line": 6016,
16041
16275
  "column": 9
16042
16276
  }
16043
16277
  },
@@ -16064,7 +16298,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
16064
16298
  },
16065
16299
  sourceLocation: {
16066
16300
  "file": "packages/freecodego/harness-plugin/src/index.ts",
16067
- "line": 3063,
16301
+ "line": 3153,
16068
16302
  "column": 9
16069
16303
  }
16070
16304
  },
@@ -16082,7 +16316,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
16082
16316
  },
16083
16317
  sourceLocation: {
16084
16318
  "file": "packages/freecodego/harness-plugin/src/index.ts",
16085
- "line": 3049,
16319
+ "line": 3139,
16086
16320
  "column": 3
16087
16321
  }
16088
16322
  },
@@ -16100,7 +16334,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
16100
16334
  },
16101
16335
  sourceLocation: {
16102
16336
  "file": "packages/freecodego/harness-plugin/src/index.ts",
16103
- "line": 6276,
16337
+ "line": 6366,
16104
16338
  "column": 9
16105
16339
  }
16106
16340
  },
@@ -16127,7 +16361,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
16127
16361
  },
16128
16362
  sourceLocation: {
16129
16363
  "file": "packages/freecodego/harness-plugin/src/index.ts",
16130
- "line": 5900,
16364
+ "line": 5990,
16131
16365
  "column": 9
16132
16366
  }
16133
16367
  },
@@ -16154,7 +16388,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
16154
16388
  },
16155
16389
  sourceLocation: {
16156
16390
  "file": "packages/freecodego/harness-plugin/src/index.ts",
16157
- "line": 6705,
16391
+ "line": 6795,
16158
16392
  "column": 9
16159
16393
  }
16160
16394
  },
@@ -16172,7 +16406,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
16172
16406
  },
16173
16407
  sourceLocation: {
16174
16408
  "file": "packages/freecodego/harness-plugin/src/index.ts",
16175
- "line": 6695,
16409
+ "line": 6785,
16176
16410
  "column": 9
16177
16411
  }
16178
16412
  },
@@ -16199,7 +16433,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
16199
16433
  },
16200
16434
  sourceLocation: {
16201
16435
  "file": "packages/freecodego/harness-plugin/src/index.ts",
16202
- "line": 7318,
16436
+ "line": 7471,
16203
16437
  "column": 9
16204
16438
  }
16205
16439
  },
@@ -16217,7 +16451,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
16217
16451
  },
16218
16452
  sourceLocation: {
16219
16453
  "file": "packages/freecodego/harness-plugin/src/index.ts",
16220
- "line": 7242,
16454
+ "line": 7395,
16221
16455
  "column": 9
16222
16456
  }
16223
16457
  },
@@ -16277,7 +16511,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
16277
16511
  },
16278
16512
  sourceLocation: {
16279
16513
  "file": "packages/freecodego/harness-plugin/src/index.ts",
16280
- "line": 7289,
16514
+ "line": 7442,
16281
16515
  "column": 9
16282
16516
  }
16283
16517
  },
@@ -16295,7 +16529,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
16295
16529
  },
16296
16530
  sourceLocation: {
16297
16531
  "file": "packages/freecodego/harness-plugin/src/index.ts",
16298
- "line": 7250,
16532
+ "line": 7403,
16299
16533
  "column": 9
16300
16534
  }
16301
16535
  },
@@ -16322,7 +16556,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
16322
16556
  },
16323
16557
  sourceLocation: {
16324
16558
  "file": "packages/freecodego/harness-plugin/src/index.ts",
16325
- "line": 7298,
16559
+ "line": 7451,
16326
16560
  "column": 9
16327
16561
  }
16328
16562
  },
@@ -16340,7 +16574,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
16340
16574
  },
16341
16575
  sourceLocation: {
16342
16576
  "file": "packages/freecodego/harness-plugin/src/index.ts",
16343
- "line": 7277,
16577
+ "line": 7430,
16344
16578
  "column": 9
16345
16579
  }
16346
16580
  },
@@ -16358,7 +16592,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
16358
16592
  },
16359
16593
  sourceLocation: {
16360
16594
  "file": "packages/freecodego/harness-plugin/src/index.ts",
16361
- "line": 7233,
16595
+ "line": 7386,
16362
16596
  "column": 9
16363
16597
  }
16364
16598
  },
@@ -16385,7 +16619,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
16385
16619
  },
16386
16620
  sourceLocation: {
16387
16621
  "file": "packages/freecodego/harness-plugin/src/index.ts",
16388
- "line": 7338,
16622
+ "line": 7491,
16389
16623
  "column": 9
16390
16624
  }
16391
16625
  },
@@ -16412,7 +16646,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
16412
16646
  },
16413
16647
  sourceLocation: {
16414
16648
  "file": "packages/freecodego/harness-plugin/src/index.ts",
16415
- "line": 7328,
16649
+ "line": 7481,
16416
16650
  "column": 9
16417
16651
  }
16418
16652
  },
@@ -16439,7 +16673,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
16439
16673
  },
16440
16674
  sourceLocation: {
16441
16675
  "file": "packages/freecodego/harness-plugin/src/index.ts",
16442
- "line": 7353,
16676
+ "line": 7506,
16443
16677
  "column": 9
16444
16678
  }
16445
16679
  },
@@ -16466,7 +16700,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
16466
16700
  },
16467
16701
  sourceLocation: {
16468
16702
  "file": "packages/freecodego/harness-plugin/src/index.ts",
16469
- "line": 7308,
16703
+ "line": 7461,
16470
16704
  "column": 9
16471
16705
  }
16472
16706
  },
@@ -16493,7 +16727,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
16493
16727
  },
16494
16728
  sourceLocation: {
16495
16729
  "file": "packages/freecodego/harness-plugin/src/index.ts",
16496
- "line": 3788,
16730
+ "line": 3878,
16497
16731
  "column": 3
16498
16732
  }
16499
16733
  },
@@ -16520,7 +16754,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
16520
16754
  },
16521
16755
  sourceLocation: {
16522
16756
  "file": "packages/freecodego/harness-plugin/src/index.ts",
16523
- "line": 3761,
16757
+ "line": 3851,
16524
16758
  "column": 9
16525
16759
  }
16526
16760
  },
@@ -16547,7 +16781,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
16547
16781
  },
16548
16782
  sourceLocation: {
16549
16783
  "file": "packages/freecodego/harness-plugin/src/index.ts",
16550
- "line": 5917,
16784
+ "line": 6007,
16551
16785
  "column": 9
16552
16786
  }
16553
16787
  },
@@ -16565,7 +16799,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
16565
16799
  },
16566
16800
  sourceLocation: {
16567
16801
  "file": "packages/freecodego/harness-plugin/src/index.ts",
16568
- "line": 5908,
16802
+ "line": 5998,
16569
16803
  "column": 3
16570
16804
  }
16571
16805
  },
@@ -16583,7 +16817,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
16583
16817
  },
16584
16818
  sourceLocation: {
16585
16819
  "file": "packages/freecodego/harness-plugin/src/index.ts",
16586
- "line": 6364,
16820
+ "line": 6454,
16587
16821
  "column": 9
16588
16822
  }
16589
16823
  },
@@ -16601,7 +16835,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
16601
16835
  },
16602
16836
  sourceLocation: {
16603
16837
  "file": "packages/freecodego/harness-plugin/src/index.ts",
16604
- "line": 6383,
16838
+ "line": 6473,
16605
16839
  "column": 9
16606
16840
  }
16607
16841
  },
@@ -16619,7 +16853,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
16619
16853
  },
16620
16854
  sourceLocation: {
16621
16855
  "file": "packages/freecodego/harness-plugin/src/index.ts",
16622
- "line": 6377,
16856
+ "line": 6467,
16623
16857
  "column": 9
16624
16858
  }
16625
16859
  },
@@ -16646,7 +16880,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
16646
16880
  },
16647
16881
  sourceLocation: {
16648
16882
  "file": "packages/freecodego/harness-plugin/src/index.ts",
16649
- "line": 6371,
16883
+ "line": 6461,
16650
16884
  "column": 9
16651
16885
  }
16652
16886
  },
@@ -16664,7 +16898,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
16664
16898
  },
16665
16899
  sourceLocation: {
16666
16900
  "file": "packages/freecodego/harness-plugin/src/index.ts",
16667
- "line": 6358,
16901
+ "line": 6448,
16668
16902
  "column": 3
16669
16903
  }
16670
16904
  },
@@ -16692,7 +16926,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
16692
16926
  },
16693
16927
  sourceLocation: {
16694
16928
  "file": "packages/freecodego/harness-plugin/src/index.ts",
16695
- "line": 3303,
16929
+ "line": 3393,
16696
16930
  "column": 9
16697
16931
  }
16698
16932
  },
@@ -16710,7 +16944,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
16710
16944
  },
16711
16945
  sourceLocation: {
16712
16946
  "file": "packages/freecodego/harness-plugin/src/index.ts",
16713
- "line": 6908,
16947
+ "line": 7061,
16714
16948
  "column": 9
16715
16949
  }
16716
16950
  },
@@ -16728,7 +16962,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
16728
16962
  },
16729
16963
  sourceLocation: {
16730
16964
  "file": "packages/freecodego/harness-plugin/src/index.ts",
16731
- "line": 6870,
16965
+ "line": 7023,
16732
16966
  "column": 9
16733
16967
  }
16734
16968
  },
@@ -16755,7 +16989,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
16755
16989
  },
16756
16990
  sourceLocation: {
16757
16991
  "file": "packages/freecodego/harness-plugin/src/index.ts",
16758
- "line": 6861,
16992
+ "line": 7014,
16759
16993
  "column": 9
16760
16994
  }
16761
16995
  },
@@ -16773,7 +17007,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
16773
17007
  },
16774
17008
  sourceLocation: {
16775
17009
  "file": "packages/freecodego/harness-plugin/src/index.ts",
16776
- "line": 6899,
17010
+ "line": 7052,
16777
17011
  "column": 9
16778
17012
  }
16779
17013
  },
@@ -16800,7 +17034,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
16800
17034
  },
16801
17035
  sourceLocation: {
16802
17036
  "file": "packages/freecodego/harness-plugin/src/index.ts",
16803
- "line": 6880,
17037
+ "line": 7033,
16804
17038
  "column": 9
16805
17039
  }
16806
17040
  },
@@ -16827,7 +17061,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
16827
17061
  },
16828
17062
  sourceLocation: {
16829
17063
  "file": "packages/freecodego/harness-plugin/src/index.ts",
16830
- "line": 6890,
17064
+ "line": 7043,
16831
17065
  "column": 9
16832
17066
  }
16833
17067
  },
@@ -16845,7 +17079,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
16845
17079
  },
16846
17080
  sourceLocation: {
16847
17081
  "file": "packages/freecodego/harness-plugin/src/index.ts",
16848
- "line": 6851,
17082
+ "line": 7004,
16849
17083
  "column": 9
16850
17084
  }
16851
17085
  },
@@ -16863,7 +17097,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
16863
17097
  },
16864
17098
  sourceLocation: {
16865
17099
  "file": "packages/freecodego/harness-plugin/src/index.ts",
16866
- "line": 6842,
17100
+ "line": 6995,
16867
17101
  "column": 9
16868
17102
  }
16869
17103
  },
@@ -16899,7 +17133,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
16899
17133
  },
16900
17134
  sourceLocation: {
16901
17135
  "file": "packages/freecodego/harness-plugin/src/index.ts",
16902
- "line": 2498,
17136
+ "line": 2588,
16903
17137
  "column": 9
16904
17138
  }
16905
17139
  },
@@ -16926,7 +17160,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
16926
17160
  },
16927
17161
  sourceLocation: {
16928
17162
  "file": "packages/freecodego/harness-plugin/src/index.ts",
16929
- "line": 2488,
17163
+ "line": 2578,
16930
17164
  "column": 9
16931
17165
  }
16932
17166
  },
@@ -16962,7 +17196,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
16962
17196
  },
16963
17197
  sourceLocation: {
16964
17198
  "file": "packages/freecodego/harness-plugin/src/index.ts",
16965
- "line": 2508,
17199
+ "line": 2598,
16966
17200
  "column": 9
16967
17201
  }
16968
17202
  },
@@ -16998,7 +17232,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
16998
17232
  },
16999
17233
  sourceLocation: {
17000
17234
  "file": "packages/freecodego/harness-plugin/src/index.ts",
17001
- "line": 3131,
17235
+ "line": 3221,
17002
17236
  "column": 9
17003
17237
  }
17004
17238
  },
@@ -17025,7 +17259,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
17025
17259
  },
17026
17260
  sourceLocation: {
17027
17261
  "file": "packages/freecodego/harness-plugin/src/index.ts",
17028
- "line": 3090,
17262
+ "line": 3180,
17029
17263
  "column": 9
17030
17264
  }
17031
17265
  },
@@ -17043,7 +17277,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
17043
17277
  },
17044
17278
  sourceLocation: {
17045
17279
  "file": "packages/freecodego/harness-plugin/src/index.ts",
17046
- "line": 5544,
17280
+ "line": 5634,
17047
17281
  "column": 9
17048
17282
  }
17049
17283
  },
@@ -17061,7 +17295,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
17061
17295
  },
17062
17296
  sourceLocation: {
17063
17297
  "file": "packages/freecodego/harness-plugin/src/index.ts",
17064
- "line": 5499,
17298
+ "line": 5589,
17065
17299
  "column": 3
17066
17300
  }
17067
17301
  },
@@ -17088,7 +17322,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
17088
17322
  },
17089
17323
  sourceLocation: {
17090
17324
  "file": "packages/freecodego/harness-plugin/src/index.ts",
17091
- "line": 5517,
17325
+ "line": 5607,
17092
17326
  "column": 9
17093
17327
  }
17094
17328
  },
@@ -17115,7 +17349,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
17115
17349
  },
17116
17350
  sourceLocation: {
17117
17351
  "file": "packages/freecodego/harness-plugin/src/index.ts",
17118
- "line": 6686,
17352
+ "line": 6776,
17119
17353
  "column": 9
17120
17354
  }
17121
17355
  },
@@ -17133,7 +17367,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
17133
17367
  },
17134
17368
  sourceLocation: {
17135
17369
  "file": "packages/freecodego/harness-plugin/src/index.ts",
17136
- "line": 6676,
17370
+ "line": 6766,
17137
17371
  "column": 9
17138
17372
  }
17139
17373
  },
@@ -17160,7 +17394,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
17160
17394
  },
17161
17395
  sourceLocation: {
17162
17396
  "file": "packages/freecodego/harness-plugin/src/index.ts",
17163
- "line": 5857,
17397
+ "line": 5947,
17164
17398
  "column": 9
17165
17399
  }
17166
17400
  },
@@ -17187,7 +17421,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
17187
17421
  },
17188
17422
  sourceLocation: {
17189
17423
  "file": "packages/freecodego/harness-plugin/src/index.ts",
17190
- "line": 6286,
17424
+ "line": 6376,
17191
17425
  "column": 9
17192
17426
  }
17193
17427
  },
@@ -17214,7 +17448,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
17214
17448
  },
17215
17449
  sourceLocation: {
17216
17450
  "file": "packages/freecodego/harness-plugin/src/index.ts",
17217
- "line": 2470,
17451
+ "line": 2560,
17218
17452
  "column": 9
17219
17453
  }
17220
17454
  },
@@ -17241,7 +17475,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
17241
17475
  },
17242
17476
  sourceLocation: {
17243
17477
  "file": "packages/freecodego/harness-plugin/src/index.ts",
17244
- "line": 2479,
17478
+ "line": 2569,
17245
17479
  "column": 9
17246
17480
  }
17247
17481
  },
@@ -17268,7 +17502,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
17268
17502
  },
17269
17503
  sourceLocation: {
17270
17504
  "file": "packages/freecodego/harness-plugin/src/index.ts",
17271
- "line": 5978,
17505
+ "line": 6068,
17272
17506
  "column": 9
17273
17507
  }
17274
17508
  },
@@ -17295,7 +17529,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
17295
17529
  },
17296
17530
  sourceLocation: {
17297
17531
  "file": "packages/freecodego/harness-plugin/src/index.ts",
17298
- "line": 5963,
17532
+ "line": 6053,
17299
17533
  "column": 9
17300
17534
  }
17301
17535
  },
@@ -17323,7 +17557,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
17323
17557
  },
17324
17558
  sourceLocation: {
17325
17559
  "file": "packages/freecodego/harness-plugin/src/index.ts",
17326
- "line": 6033,
17560
+ "line": 6123,
17327
17561
  "column": 9
17328
17562
  }
17329
17563
  },
@@ -17341,7 +17575,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
17341
17575
  },
17342
17576
  sourceLocation: {
17343
17577
  "file": "packages/freecodego/harness-plugin/src/index.ts",
17344
- "line": 6019,
17578
+ "line": 6109,
17345
17579
  "column": 9
17346
17580
  }
17347
17581
  },
@@ -17378,7 +17612,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
17378
17612
  },
17379
17613
  sourceLocation: {
17380
17614
  "file": "packages/freecodego/harness-plugin/src/index.ts",
17381
- "line": 6005,
17615
+ "line": 6095,
17382
17616
  "column": 9
17383
17617
  }
17384
17618
  },
@@ -17405,7 +17639,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
17405
17639
  },
17406
17640
  sourceLocation: {
17407
17641
  "file": "packages/freecodego/harness-plugin/src/index.ts",
17408
- "line": 6045,
17642
+ "line": 6135,
17409
17643
  "column": 9
17410
17644
  }
17411
17645
  },
@@ -17432,7 +17666,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
17432
17666
  },
17433
17667
  sourceLocation: {
17434
17668
  "file": "packages/freecodego/harness-plugin/src/index.ts",
17435
- "line": 5953,
17669
+ "line": 6043,
17436
17670
  "column": 9
17437
17671
  }
17438
17672
  },
@@ -17459,7 +17693,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
17459
17693
  },
17460
17694
  sourceLocation: {
17461
17695
  "file": "packages/freecodego/harness-plugin/src/index.ts",
17462
- "line": 5944,
17696
+ "line": 6034,
17463
17697
  "column": 9
17464
17698
  }
17465
17699
  },
@@ -17486,7 +17720,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
17486
17720
  },
17487
17721
  sourceLocation: {
17488
17722
  "file": "packages/freecodego/harness-plugin/src/index.ts",
17489
- "line": 6724,
17723
+ "line": 6877,
17490
17724
  "column": 9
17491
17725
  }
17492
17726
  },
@@ -17504,7 +17738,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
17504
17738
  },
17505
17739
  sourceLocation: {
17506
17740
  "file": "packages/freecodego/harness-plugin/src/index.ts",
17507
- "line": 6714,
17741
+ "line": 6867,
17508
17742
  "column": 9
17509
17743
  }
17510
17744
  },
@@ -17522,7 +17756,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
17522
17756
  },
17523
17757
  sourceLocation: {
17524
17758
  "file": "packages/freecodego/harness-plugin/src/index.ts",
17525
- "line": 6733,
17759
+ "line": 6886,
17526
17760
  "column": 9
17527
17761
  }
17528
17762
  },
@@ -17549,7 +17783,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
17549
17783
  },
17550
17784
  sourceLocation: {
17551
17785
  "file": "packages/freecodego/harness-plugin/src/index.ts",
17552
- "line": 7140,
17786
+ "line": 7293,
17553
17787
  "column": 9
17554
17788
  }
17555
17789
  },
@@ -17576,7 +17810,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
17576
17810
  },
17577
17811
  sourceLocation: {
17578
17812
  "file": "packages/freecodego/harness-plugin/src/index.ts",
17579
- "line": 7130,
17813
+ "line": 7283,
17580
17814
  "column": 9
17581
17815
  }
17582
17816
  },
@@ -17603,7 +17837,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
17603
17837
  },
17604
17838
  sourceLocation: {
17605
17839
  "file": "packages/freecodego/harness-plugin/src/index.ts",
17606
- "line": 7120,
17840
+ "line": 7273,
17607
17841
  "column": 9
17608
17842
  }
17609
17843
  },
@@ -17621,7 +17855,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
17621
17855
  },
17622
17856
  sourceLocation: {
17623
17857
  "file": "packages/freecodego/harness-plugin/src/index.ts",
17624
- "line": 6960,
17858
+ "line": 7113,
17625
17859
  "column": 9
17626
17860
  }
17627
17861
  },
@@ -17639,7 +17873,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
17639
17873
  },
17640
17874
  sourceLocation: {
17641
17875
  "file": "packages/freecodego/harness-plugin/src/index.ts",
17642
- "line": 7007,
17876
+ "line": 7160,
17643
17877
  "column": 9
17644
17878
  }
17645
17879
  },
@@ -17657,7 +17891,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
17657
17891
  },
17658
17892
  sourceLocation: {
17659
17893
  "file": "packages/freecodego/harness-plugin/src/index.ts",
17660
- "line": 6978,
17894
+ "line": 7131,
17661
17895
  "column": 9
17662
17896
  }
17663
17897
  },
@@ -17675,7 +17909,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
17675
17909
  },
17676
17910
  sourceLocation: {
17677
17911
  "file": "packages/freecodego/harness-plugin/src/index.ts",
17678
- "line": 6969,
17912
+ "line": 7122,
17679
17913
  "column": 9
17680
17914
  }
17681
17915
  },
@@ -17693,7 +17927,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
17693
17927
  },
17694
17928
  sourceLocation: {
17695
17929
  "file": "packages/freecodego/harness-plugin/src/index.ts",
17696
- "line": 6941,
17930
+ "line": 7094,
17697
17931
  "column": 9
17698
17932
  }
17699
17933
  },
@@ -17720,7 +17954,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
17720
17954
  },
17721
17955
  sourceLocation: {
17722
17956
  "file": "packages/freecodego/harness-plugin/src/index.ts",
17723
- "line": 6988,
17957
+ "line": 7141,
17724
17958
  "column": 9
17725
17959
  }
17726
17960
  },
@@ -17747,7 +17981,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
17747
17981
  },
17748
17982
  sourceLocation: {
17749
17983
  "file": "packages/freecodego/harness-plugin/src/index.ts",
17750
- "line": 6998,
17984
+ "line": 7151,
17751
17985
  "column": 9
17752
17986
  }
17753
17987
  },
@@ -17775,7 +18009,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
17775
18009
  },
17776
18010
  sourceLocation: {
17777
18011
  "file": "packages/freecodego/harness-plugin/src/index.ts",
17778
- "line": 6931,
18012
+ "line": 7084,
17779
18013
  "column": 9
17780
18014
  }
17781
18015
  },
@@ -17793,7 +18027,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
17793
18027
  },
17794
18028
  sourceLocation: {
17795
18029
  "file": "packages/freecodego/harness-plugin/src/index.ts",
17796
- "line": 6921,
18030
+ "line": 7074,
17797
18031
  "column": 9
17798
18032
  }
17799
18033
  },
@@ -17820,7 +18054,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
17820
18054
  },
17821
18055
  sourceLocation: {
17822
18056
  "file": "packages/freecodego/harness-plugin/src/index.ts",
17823
- "line": 6951,
18057
+ "line": 7104,
17824
18058
  "column": 9
17825
18059
  }
17826
18060
  },
@@ -17847,7 +18081,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
17847
18081
  },
17848
18082
  sourceLocation: {
17849
18083
  "file": "packages/freecodego/harness-plugin/src/index.ts",
17850
- "line": 3184,
18084
+ "line": 3274,
17851
18085
  "column": 9
17852
18086
  }
17853
18087
  },
@@ -17874,7 +18108,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
17874
18108
  },
17875
18109
  sourceLocation: {
17876
18110
  "file": "packages/freecodego/harness-plugin/src/index.ts",
17877
- "line": 3219,
18111
+ "line": 3309,
17878
18112
  "column": 9
17879
18113
  }
17880
18114
  },
@@ -17902,7 +18136,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
17902
18136
  },
17903
18137
  sourceLocation: {
17904
18138
  "file": "packages/freecodego/harness-plugin/src/index.ts",
17905
- "line": 3162,
18139
+ "line": 3252,
17906
18140
  "column": 9
17907
18141
  }
17908
18142
  },
@@ -17929,7 +18163,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
17929
18163
  },
17930
18164
  sourceLocation: {
17931
18165
  "file": "packages/freecodego/harness-plugin/src/index.ts",
17932
- "line": 6616,
18166
+ "line": 6706,
17933
18167
  "column": 9
17934
18168
  }
17935
18169
  },
@@ -17947,7 +18181,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
17947
18181
  },
17948
18182
  sourceLocation: {
17949
18183
  "file": "packages/freecodego/harness-plugin/src/index.ts",
17950
- "line": 6606,
18184
+ "line": 6696,
17951
18185
  "column": 9
17952
18186
  }
17953
18187
  },
@@ -17974,7 +18208,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
17974
18208
  },
17975
18209
  sourceLocation: {
17976
18210
  "file": "packages/freecodego/harness-plugin/src/index.ts",
17977
- "line": 5866,
18211
+ "line": 5956,
17978
18212
  "column": 9
17979
18213
  }
17980
18214
  },
@@ -17992,7 +18226,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
17992
18226
  },
17993
18227
  sourceLocation: {
17994
18228
  "file": "packages/freecodego/harness-plugin/src/index.ts",
17995
- "line": 5874,
18229
+ "line": 5964,
17996
18230
  "column": 9
17997
18231
  }
17998
18232
  },
@@ -18010,7 +18244,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
18010
18244
  },
18011
18245
  sourceLocation: {
18012
18246
  "file": "packages/freecodego/harness-plugin/src/index.ts",
18013
- "line": 6755,
18247
+ "line": 6908,
18014
18248
  "column": 9
18015
18249
  }
18016
18250
  },
@@ -18028,7 +18262,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
18028
18262
  },
18029
18263
  sourceLocation: {
18030
18264
  "file": "packages/freecodego/harness-plugin/src/index.ts",
18031
- "line": 6792,
18265
+ "line": 6945,
18032
18266
  "column": 9
18033
18267
  }
18034
18268
  },
@@ -18046,7 +18280,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
18046
18280
  },
18047
18281
  sourceLocation: {
18048
18282
  "file": "packages/freecodego/harness-plugin/src/index.ts",
18049
- "line": 6764,
18283
+ "line": 6917,
18050
18284
  "column": 9
18051
18285
  }
18052
18286
  },
@@ -18073,7 +18307,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
18073
18307
  },
18074
18308
  sourceLocation: {
18075
18309
  "file": "packages/freecodego/harness-plugin/src/index.ts",
18076
- "line": 6783,
18310
+ "line": 6936,
18077
18311
  "column": 9
18078
18312
  }
18079
18313
  },
@@ -18091,7 +18325,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
18091
18325
  },
18092
18326
  sourceLocation: {
18093
18327
  "file": "packages/freecodego/harness-plugin/src/index.ts",
18094
- "line": 6831,
18328
+ "line": 6984,
18095
18329
  "column": 9
18096
18330
  }
18097
18331
  },
@@ -18118,7 +18352,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
18118
18352
  },
18119
18353
  sourceLocation: {
18120
18354
  "file": "packages/freecodego/harness-plugin/src/index.ts",
18121
- "line": 6822,
18355
+ "line": 6975,
18122
18356
  "column": 9
18123
18357
  }
18124
18358
  },
@@ -18145,7 +18379,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
18145
18379
  },
18146
18380
  sourceLocation: {
18147
18381
  "file": "packages/freecodego/harness-plugin/src/index.ts",
18148
- "line": 6802,
18382
+ "line": 6955,
18149
18383
  "column": 9
18150
18384
  }
18151
18385
  },
@@ -18172,7 +18406,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
18172
18406
  },
18173
18407
  sourceLocation: {
18174
18408
  "file": "packages/freecodego/harness-plugin/src/index.ts",
18175
- "line": 6812,
18409
+ "line": 6965,
18176
18410
  "column": 9
18177
18411
  }
18178
18412
  },
@@ -18190,7 +18424,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
18190
18424
  },
18191
18425
  sourceLocation: {
18192
18426
  "file": "packages/freecodego/harness-plugin/src/index.ts",
18193
- "line": 6773,
18427
+ "line": 6926,
18194
18428
  "column": 9
18195
18429
  }
18196
18430
  },
@@ -18208,7 +18442,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
18208
18442
  },
18209
18443
  sourceLocation: {
18210
18444
  "file": "packages/freecodego/harness-plugin/src/index.ts",
18211
- "line": 6746,
18445
+ "line": 6899,
18212
18446
  "column": 9
18213
18447
  }
18214
18448
  }
@@ -21866,6 +22100,38 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
21866
22100
  strokeLinejoin: "round"
21867
22101
  })]
21868
22102
  });
22103
+ if (kind === "antseed") return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("svg", {
22104
+ ...common,
22105
+ children: [
22106
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("circle", {
22107
+ cx: "10",
22108
+ cy: "4.9",
22109
+ r: "2.1",
22110
+ stroke: "currentColor",
22111
+ strokeWidth: "1.5"
22112
+ }),
22113
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("circle", {
22114
+ cx: "4.9",
22115
+ cy: "14.4",
22116
+ r: "2.1",
22117
+ stroke: "currentColor",
22118
+ strokeWidth: "1.5"
22119
+ }),
22120
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("circle", {
22121
+ cx: "15.1",
22122
+ cy: "14.4",
22123
+ r: "2.1",
22124
+ stroke: "currentColor",
22125
+ strokeWidth: "1.5"
22126
+ }),
22127
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
22128
+ d: "M9 6.8 6.1 12.4M11 6.8l2.9 5.6M7 14.4h6",
22129
+ stroke: "currentColor",
22130
+ strokeWidth: "1.4",
22131
+ strokeLinecap: "round"
22132
+ })
22133
+ ]
22134
+ });
21869
22135
  if (kind === "vyce") return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("svg", {
21870
22136
  ...common,
21871
22137
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
@@ -22262,7 +22528,8 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
22262
22528
  "workbuddy",
22263
22529
  "sensenova",
22264
22530
  "nvidia",
22265
- "bai"
22531
+ "bai",
22532
+ "antseed"
22266
22533
  ]);
22267
22534
  /**
22268
22535
  * Providers whose picker rows start hidden unless the model is named here.
@@ -22914,6 +23181,53 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
22914
23181
  models: [...byRoute.values()]
22915
23182
  };
22916
23183
  }
23184
+ /**
23185
+ * Publish the gateway's free image models as media routes.
23186
+ *
23187
+ * The plugin's model adapter deliberately keeps them out of the Harness model
23188
+ * list: an image row is generated media, and offering it as a chat route would
23189
+ * present a model that cannot answer a conversation. They reach the media
23190
+ * pickers through this catalog instead, where the row carries
23191
+ * `image_generation` — so the category page files it under 生图 because the
23192
+ * protocol says so, not because its name happens to contain a word like "flux".
23193
+ *
23194
+ * The list is the gateway's own answer, which is empty while the switch is shut,
23195
+ * so a closed gateway adds no route and needs no separate check here. It is also
23196
+ * already filtered to models priced at zero for a picture, which is a shorter
23197
+ * list than the network's image directory: that directory prices a picture per
23198
+ * picture while showing `0` on both token fields, so most of it costs money.
23199
+ * @param catalog - the catalog the page is reading.
23200
+ * @param antseed - the gateway status, when this page has read one.
23201
+ * @returns the catalog with the buyer's free image models appended.
23202
+ */
23203
+ function withAntSeedMediaModels(catalog, antseed) {
23204
+ const rows = antseed?.models.filter((row) => row.kind === "images") ?? [];
23205
+ if (rows.length === 0) return catalog;
23206
+ const byRoute = new Map(catalog.models.map((model) => [`${model.provider.toLowerCase()}\u0000${model.id.toLowerCase()}`, model]));
23207
+ for (const row of rows) {
23208
+ const id = mediaSelectionId("antseed", row.id);
23209
+ const entry = {
23210
+ id,
23211
+ displayName: row.name,
23212
+ provider: "antseed",
23213
+ providerName: "Private Key Gateway",
23214
+ protocol: "image_generation",
23215
+ availability: "available",
23216
+ compatibleEngines: [],
23217
+ choices: [{
23218
+ routeKey: id,
23219
+ label: "Private Key Gateway",
23220
+ availability: "available",
23221
+ compatibleEngines: []
23222
+ }]
23223
+ };
23224
+ byRoute.set(`antseed\u0000${id.toLowerCase()}`, entry);
23225
+ }
23226
+ return {
23227
+ ...catalog,
23228
+ models: [...byRoute.values()]
23229
+ };
23230
+ }
22917
23231
  function mediaProviderName(model) {
22918
23232
  if (model.provider.toLowerCase() === "logfare") return "logfare";
22919
23233
  return model.providerName?.trim() || model.provider;
@@ -26930,20 +27244,26 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
26930
27244
  const MEDIA_DEFAULTS_READ_RETRY_MS = 1500;
26931
27245
  const mediaDefaultRetryAfter = /* @__PURE__ */ new Map();
26932
27246
  let settingsCache;
26933
- function createLogfareCredentials() {
26934
- const alphabet = "abcdefghijklmnopqrstuvwxyz0123456789";
26935
- const passwordAlphabet = "ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz23456789-_";
26936
- const random = (characters, length) => {
26937
- const values = new Uint32Array(length);
26938
- if (globalThis.crypto?.getRandomValues !== void 0) globalThis.crypto.getRandomValues(values);
26939
- else for (let index = 0; index < values.length; index += 1) values[index] = Math.floor(Math.random() * 4294967296);
26940
- return [...values].map((value) => characters[value % characters.length]).join("");
26941
- };
26942
- return {
26943
- username: `fcg-${random(alphabet, 14)}`,
26944
- password: random(passwordAlphabet, 22)
26945
- };
26946
- }
27247
+ /**
27248
+ * Render one Logfare account failure as something the card can act on.
27249
+ *
27250
+ * Upstream suspends an account until its Discord link is made and says so with a
27251
+ * sentinel the Host carries through; naming the one action that clears it is the
27252
+ * difference between a red line and a fixable state. Everything else passes
27253
+ * through unchanged, because upstream's own wording is the better description of
27254
+ * a refusal this code did not anticipate.
27255
+ * @param message - the failure the remote reported.
27256
+ * @param language - the surface's language.
27257
+ * @returns the line the card shows.
27258
+ */
27259
+ function describeLogfareError(message, language) {
27260
+ if (!message.includes("LOGFARE_DISCORD_MIGRATION_REQUIRED")) return message;
27261
+ return language === "zh" ? "上游要求该 Logfare 账号先绑定 Discord 才能使用账号功能:点上方「绑定 Discord 并激活」,完成后回到这里重新登录一次。" : "Upstream requires this Logfare account to link Discord before its account features work: use \"Link Discord and activate\" above, then sign in here again.";
27262
+ }
27263
+ /** The Logfare pages this card hands off to, which are the only steps no code can drive. */
27264
+ const LOGFARE_REGISTER_PAGE = "https://logfare.ai/register";
27265
+ const LOGFARE_MIGRATE_PAGE = "https://logfare.ai/migrate";
27266
+ const LOGFARE_DISCORD_INVITE = "https://discord.gg/QvuwEPNzDj";
26947
27267
  function settingsStorage() {
26948
27268
  try {
26949
27269
  return globalThis.localStorage;
@@ -27586,7 +27906,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
27586
27906
  ]
27587
27907
  });
27588
27908
  }
27589
- function FreeCodeGoSettingsTab({ catalog, accountStatus, accountRememberedPassword, login, register, sendVerifyCode, forgotPassword, resetPassword, oauthLogin, oauthPendingSendVerifyCode, oauthPendingBind, oauthPendingCreate, completeMfa, logout, deviceSessions, revokeDeviceSession, revokeAllSessions, setDefaultModel, setDefaultEngine, backendCatalog, readMediaDefaults, nativeModelCatalog, pickerModelDirectory, currentSessionId, vyceStatus, vyceSetKey, logfareStatus, logfareRegister, logfareSetTrainingOptIn, logfareSetKey, accountDetail, sensenovaStatus, sensenovaSetKey, nvidiaStatus, nvidiaSetKey, useConnectionEpoch, paymentPlans, paymentChannels, paymentConfig, gatewayModelPrices, paymentCheckout, paymentOrder, paymentVerify, paymentCancel, paymentReceiptEmail, paymentReceiptDocument, paymentStripeReceiptDocument, paymentOrders, agnesStatus, agnesSendVerification, agnesSendPasswordReset, agnesResetPassword, agnesLogin, agnesRegister, agnesLogout, agnesRemoveAccount, agnesRefresh, agnesCreateApiKey, clineStatus, clineStartLogin, clinePollLogin, clineAddAccount, clineRemoveAccount, clineRefresh, clineLogout, workbuddyStatus, workbuddyImportDesktopLogin, workbuddyStartBrowserLogin, workbuddyPollBrowserLogin, workbuddyLogout, workbuddyRemoveAccount, workbuddyRefreshCredits, qoderStatus, qoderStartBrowserLogin, qoderPollBrowserLogin, qoderLogout, qoderRemoveAccount, qoderSetActiveAccount, qoderRefreshQuota, qoderCheckin: runQoderCheckin, traeStatus, traeStartBrowserLogin, traePollBrowserLogin, traeSubmitCallback, traeCancelBrowserLogin, traeModels: loadTraeModels, traeLogout, traeRemoveAccount, traeSetActiveAccount, traeCheckin: runTraeCheckin, codexRuntimeStatus, codexRuntimePackages, codexRuntimeInstall, codexRuntimeRemove, claudeRuntimeStatus, claudeRuntimePackages, claudeRuntimeInstall, claudeRuntimeRemove, pluginUpdateStatus, pluginUpdateCheck, pluginUpdateSetEnabled, pluginUpdateInstall, pluginUpdateRollback, communityCatalog, communityCatalogIcons, communityEnvironment, communityInstalled, communityInstall, communityUninstall, capabilityMarketplace, mcpPresetInstall, skillPresetInstall, skillPresetRemove, skillPlacements, skillPlacementPrefer, capabilities, readLocalCapabilities, capabilitiesSetEnabled, setLocalCapability, setModelCategoryDirect, modelCategorySet, pluginConflictStatus, pluginConflictSetEnabled, headroomStatus, headroomSetEnabled, headroomUpdate, deferredToolsStatus, deferredToolsSetEnabled, mediaGenerationStatus, mediaGenerationSetEnabled, reviewStatus, reviewStart, reviewUpdate, secondModelStatus, secondModelUpdate, secondModelRoutes, guardSettingsStatus, guardSettingsUpdate, workbuddySetActiveAccount, automationSettingsStatus, automationSettingsUpdate, sandboxModeStatus, sandboxModeSet, trustFolderStatus, trustFolderGrant, trustFolderRevoke, projectConfigReport, engineeringStatus, engineeringSetEnabled, speechStatus, speechSetRoute, speechTest, language, t }) {
27909
+ function FreeCodeGoSettingsTab({ catalog, accountStatus, accountRememberedPassword, login, register, sendVerifyCode, forgotPassword, resetPassword, oauthLogin, oauthPendingSendVerifyCode, oauthPendingBind, oauthPendingCreate, completeMfa, logout, deviceSessions, revokeDeviceSession, revokeAllSessions, setDefaultModel, setDefaultEngine, backendCatalog, readMediaDefaults, nativeModelCatalog, pickerModelDirectory, currentSessionId, vyceStatus, vyceSetKey, logfareStatus, logfareLogin, logfareSetTrainingOptIn, logfareSetKey, accountDetail, sensenovaStatus, sensenovaSetKey, nvidiaStatus, nvidiaSetKey, antSeedStatus, antSeedInstall, antSeedSetGateway, antSeedRevealIdentity, antSeedSetIdentity, antSeedGenerateIdentity, useConnectionEpoch, paymentPlans, paymentChannels, paymentConfig, gatewayModelPrices, paymentCheckout, paymentOrder, paymentVerify, paymentCancel, paymentReceiptEmail, paymentReceiptDocument, paymentStripeReceiptDocument, paymentOrders, agnesStatus, agnesSendVerification, agnesSendPasswordReset, agnesResetPassword, agnesLogin, agnesRegister, agnesLogout, agnesRemoveAccount, agnesRefresh, agnesCreateApiKey, clineStatus, clineStartLogin, clinePollLogin, clineAddAccount, clineRemoveAccount, clineRefresh, clineLogout, workbuddyStatus, workbuddyImportDesktopLogin, workbuddyStartBrowserLogin, workbuddyPollBrowserLogin, workbuddyLogout, workbuddyRemoveAccount, workbuddyRefreshCredits, qoderStatus, qoderStartBrowserLogin, qoderPollBrowserLogin, qoderLogout, qoderRemoveAccount, qoderSetActiveAccount, qoderRefreshQuota, qoderCheckin: runQoderCheckin, traeStatus, traeStartBrowserLogin, traePollBrowserLogin, traeSubmitCallback, traeCancelBrowserLogin, traeModels: loadTraeModels, traeLogout, traeRemoveAccount, traeSetActiveAccount, traeCheckin: runTraeCheckin, codexRuntimeStatus, codexRuntimePackages, codexRuntimeInstall, codexRuntimeRemove, claudeRuntimeStatus, claudeRuntimePackages, claudeRuntimeInstall, claudeRuntimeRemove, pluginUpdateStatus, pluginUpdateCheck, pluginUpdateSetEnabled, pluginUpdateInstall, pluginUpdateRollback, communityCatalog, communityCatalogIcons, communityEnvironment, communityInstalled, communityInstall, communityUninstall, capabilityMarketplace, mcpPresetInstall, skillPresetInstall, skillPresetRemove, skillPlacements, skillPlacementPrefer, capabilities, readLocalCapabilities, capabilitiesSetEnabled, setLocalCapability, customApiReasoningSet, setModelCategoryDirect, modelCategorySet, pluginConflictStatus, pluginConflictSetEnabled, headroomStatus, headroomSetEnabled, headroomUpdate, deferredToolsStatus, deferredToolsSetEnabled, mediaGenerationStatus, mediaGenerationSetEnabled, reviewStatus, reviewStart, reviewUpdate, secondModelStatus, secondModelUpdate, secondModelRoutes, guardSettingsStatus, guardSettingsUpdate, workbuddySetActiveAccount, automationSettingsStatus, automationSettingsUpdate, sandboxModeStatus, sandboxModeSet, trustFolderStatus, trustFolderGrant, trustFolderRevoke, projectConfigReport, engineeringStatus, engineeringSetEnabled, speechStatus, speechSetRoute, speechTest, language, t }) {
27590
27910
  const [state, setState] = (0, react.useState)(() => cachedSettings(language, catalog)?.state ?? {
27591
27911
  ...fallbackSettings(),
27592
27912
  syncStatus: "refreshing"
@@ -27672,8 +27992,23 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
27672
27992
  const [claudeBusy, setClaudeBusy] = (0, react.useState)(false);
27673
27993
  const [vyceKey, setVyceKey] = (0, react.useState)("");
27674
27994
  const [vyceBusy, setVyceBusy] = (0, react.useState)(false);
27675
- const [logfareRegisterBusy, setLogfareRegisterBusy] = (0, react.useState)(false);
27995
+ const [logfareLoginBusy, setLogfareLoginBusy] = (0, react.useState)(false);
27676
27996
  const [logfareTrainingBusy, setLogfareTrainingBusy] = (0, react.useState)(false);
27997
+ /** The account name the user types. Digits only, which is this plugin's own
27998
+ * contract for the Logfare accounts it manages rather than upstream's. */
27999
+ const [logfareAccountName, setLogfareAccountName] = (0, react.useState)("");
28000
+ const [logfareAccountPassword, setLogfareAccountPassword] = (0, react.useState)("");
28001
+ /**
28002
+ * The Logfare card's own failure line, drawn beside the buttons that produced it.
28003
+ *
28004
+ * The same defect `authNotice` above describes, in the same shape: the
28005
+ * panel-wide `actionError` renders at the top of this tab, and this card sits
28006
+ * far below it. A refused application or a refused consent therefore put its
28007
+ * reason on a line the reader had already scrolled past — a button that does
28008
+ * nothing and a button whose failure is off-screen look identical from here, so
28009
+ * the two Logfare actions report on this line instead of that one.
28010
+ */
28011
+ const [logfareNotice, setLogfareNotice] = (0, react.useState)(void 0);
27677
28012
  const [logfareKey, setLogfareKey] = (0, react.useState)("");
27678
28013
  const [logfareKeyBusy, setLogfareKeyBusy] = (0, react.useState)(false);
27679
28014
  const [clineToken, setClineToken] = (0, react.useState)("");
@@ -27686,6 +28021,17 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
27686
28021
  const [sensenovaBusy, setSensenovaBusy] = (0, react.useState)(false);
27687
28022
  const [nvidiaKey, setNvidiaKey] = (0, react.useState)("");
27688
28023
  const [nvidiaBusy, setNvidiaBusy] = (0, react.useState)(false);
28024
+ const [antSeedBusy, setAntSeedBusy] = (0, react.useState)(false);
28025
+ /**
28026
+ * The private key, once the user has asked to export it.
28027
+ *
28028
+ * Held here rather than in the status: the status is read on every render and
28029
+ * on every reconnect, and a wallet key must not ride along with it.
28030
+ * `undefined` means "not exported in this view".
28031
+ */
28032
+ const [antSeedKey, setAntSeedKey] = (0, react.useState)(void 0);
28033
+ const [antSeedReplaceOpen, setAntSeedReplaceOpen] = (0, react.useState)(false);
28034
+ const [antSeedNewKey, setAntSeedNewKey] = (0, react.useState)("");
27689
28035
  const [agnesEmail, setAgnesEmail] = (0, react.useState)("");
27690
28036
  const [agnesPassword, setAgnesPassword] = (0, react.useState)("");
27691
28037
  const [agnesCode, setAgnesCode] = (0, react.useState)("");
@@ -27720,7 +28066,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
27720
28066
  const nativeModelSessionId = currentSessionId?.();
27721
28067
  const observedConnectionEpoch = (0, react.useRef)(connectionEpoch);
27722
28068
  const selectedPaymentType = state.status === "ready" && state.channels.some((channel) => channel.paymentType === paymentType) ? paymentType : state.status === "ready" ? state.channels[0]?.paymentType ?? "" : "";
27723
- const effectiveCatalog = state.status === "ready" ? withNativeMediaModels(withProviderAvailability(state.managedCatalog, state.logfare?.configured === true, state.logfare?.premiumUnlocked === true), nativeModels, capabilitySnapshot?.modelCategories ?? {}) : emptyManagedCatalog;
28069
+ const effectiveCatalog = state.status === "ready" ? withAntSeedMediaModels(withNativeMediaModels(withProviderAvailability(state.managedCatalog, state.logfare?.configured === true, state.logfare?.premiumUnlocked === true), nativeModels, capabilitySnapshot?.modelCategories ?? {}), state.antseed) : emptyManagedCatalog;
27724
28070
  const categoryProviderGroups = modelGroupRows(effectiveCatalog.models.filter((model) => model.availability === "available" && modelCategoryOf(model, capabilitySnapshot?.modelCategories) === modelCategory), effectiveCatalog.groups);
27725
28071
  const providerModelNames = (provider, category) => nativeModels.filter((model) => model.provider.toLowerCase() === provider).filter((model) => category === void 0 || (capabilitySnapshot?.modelCategories?.[model.key] ?? inferredModelCategory(model.provider, model.id, model.displayName)) === category).map((model) => model.displayName);
27726
28072
  const logfareModelNames = [...state.status === "ready" ? state.logfare?.standardModelNames ?? [] : [], ...state.status === "ready" ? state.logfare?.premiumModelNames ?? [] : []];
@@ -27764,6 +28110,28 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
27764
28110
  };
27765
28111
  const sensenovaModelNames = providerModelNames("sensenova", "text");
27766
28112
  const nvidiaModelNames = providerModelNames("nvidia", "text");
28113
+ const antSeed = state.status === "ready" ? state.antseed : void 0;
28114
+ const antSeedInstalled = antSeed?.installed === true;
28115
+ const antSeedGatewayEnabled = antSeed?.gatewayEnabled === true;
28116
+ const antSeedHasIdentity = antSeed?.hasIdentity === true;
28117
+ const antSeedIdentityUnreadable = antSeed?.identityUnreadable === true;
28118
+ const antSeedModels = antSeed?.models ?? [];
28119
+ const antSeedModelLabels = antSeedModels.map((row) => row.kind === "images" ? `${row.name} · ${language === "zh" ? "生图" : "image"}` : row.name);
28120
+ const antSeedPaidCount = antSeed?.paidModels ?? 0;
28121
+ const antSeedStatusLabel = !antSeedInstalled ? language === "zh" ? "未下载" : "Not downloaded" : antSeedGatewayEnabled ? language === "zh" ? "网关已开启" : "Gateway open" : language === "zh" ? "网关已关闭" : "Gateway closed";
28122
+ const antSeedStatusTone = !antSeedInstalled ? "idle" : antSeedGatewayEnabled ? "live" : "warn";
28123
+ const antSeedSummary = (() => {
28124
+ if (antSeedIdentityUnreadable) return language === "zh" ? "私钥无法读取,请先替换私钥" : "The private key cannot be read; replace it first";
28125
+ if (!antSeedInstalled) return language === "zh" ? "下载后即可直接使用免费模型" : "Download once, then use the free models";
28126
+ if (!antSeedGatewayEnabled) return language === "zh" ? "网关关闭时不向模型列表添加任何模型" : "A closed gateway adds nothing to the model list";
28127
+ if (antSeed.running !== true) return language === "zh" ? "服务已停止,请重新开启网关" : "The service stopped; reopen the gateway";
28128
+ if (antSeedModels.length === 0) return antSeedPaidCount === 0 ? language === "zh" ? "正在发现免费模型…" : "Discovering free models…" : language === "zh" ? `没有免费模型:${antSeedPaidCount} 个模型都在收费` : `No free models: all ${antSeedPaidCount} advertised are billed`;
28129
+ const roster = language === "zh" ? `免费模型 ${antSeedModels.length} 个` : `${antSeedModels.length} free models`;
28130
+ return antSeedPaidCount === 0 ? roster : language === "zh" ? `${roster},已过滤 ${antSeedPaidCount} 个收费模型` : `${roster}; ${antSeedPaidCount} billed filtered out`;
28131
+ })();
28132
+ const antSeedNotice = antSeed === void 0 ? void 0 : antSeedIdentityUnreadable ? language === "zh" ? "凭证库里的私钥无法读取,网关不会用它启动。请用「替换私钥」粘贴正确的私钥,或由 Host 生成一把新的 —— 插件不会在你不知情时更换钱包。" : "The stored private key cannot be read, so the gateway will not start with it. Use \"Replace key\" to paste the key this address belongs to, or generate a new one — this plugin never swaps a wallet out on its own." : !antSeed.installed ? antSeed.reason === "KEY_GATEWAY_RUNTIME_INCOMPLETE" ? language === "zh" ? "运行时文件不完整,请重新下载。" : "The runtime files are incomplete; download again." : void 0 : antSeed.gatewayEnabled && antSeed.running !== true ? language === "zh" ? "网关开着,但服务已经停止。关闭网关再打开即可重启。" : "The gateway is open but the service has stopped. Close the gateway and open it again to restart it." : !antSeed.gatewayEnabled ? language === "zh" ? "开启网关后才能使用免费模型;网关不持久化,每次重启 Harness 都需要重新手动开启。" : "Free models need the gateway open. The switch is not stored, so every Harness restart needs it opened again." : void 0;
28133
+ const antSeedPeerId = antSeed?.peerId ?? "";
28134
+ const antSeedPeerLine = antSeedPeerId === "" ? language === "zh" ? "尚未创建身份;下载运行时会由插件生成并保管私钥。" : "No identity yet; the download creates and holds the private key." : language === "zh" ? `身份(peerId):${antSeedPeerId}` : `Identity (peerId): ${antSeedPeerId}`;
27767
28135
  const agnesModelNames = providerModelNames("agnes", "text");
27768
28136
  const pickerModelsFor = (provider) => pickerRows.length === 0 ? nativeModels.filter((model) => model.provider.toLowerCase() === provider).map((model) => ({
27769
28137
  id: model.id,
@@ -28085,6 +28453,9 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
28085
28453
  refreshRemote(nvidiaStatus, (nvidia) => {
28086
28454
  patchReady({ nvidia });
28087
28455
  });
28456
+ refreshRemote(antSeedStatus, (antseed) => {
28457
+ patchReady({ antseed });
28458
+ });
28088
28459
  if (!accountResult.ok) {
28089
28460
  refreshRemote(backendCatalog, (managedCatalog) => {
28090
28461
  patchReady({ managedCatalog: withAgnesModels(managedCatalog) });
@@ -28434,41 +28805,44 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
28434
28805
  setVyceBusy(false);
28435
28806
  });
28436
28807
  };
28437
- const registerLogfare = () => {
28438
- if (logfareRegister === void 0 || logfareRegisterBusy || state.status !== "ready") return;
28439
- const credentials = createLogfareCredentials();
28440
- setLogfareRegisterBusy(true);
28441
- logfareRegister({
28442
- ...credentials,
28443
- ageConfirmed: true,
28444
- tosAccepted: true,
28445
- trainingOptIn: false
28808
+ /**
28809
+ * Sign the Host in to the Logfare account the user names.
28810
+ *
28811
+ * There is no registration counterpart, and adding one back would be a bug:
28812
+ * upstream gates `POST /auth/register` on a short-lived HttpOnly cookie that
28813
+ * only its own browser Discord flow issues — it refuses every body, including
28814
+ * an empty one, without that cookie — so the account is created on the
28815
+ * provider's web page and this is the half the plugin can drive. The session
28816
+ * it returns is what the consent switch and the premium unlock both read.
28817
+ */
28818
+ const loginLogfare = () => {
28819
+ if (logfareLogin === void 0 || logfareLoginBusy || state.status !== "ready") return;
28820
+ setLogfareLoginBusy(true);
28821
+ setLogfareNotice(void 0);
28822
+ logfareLogin({
28823
+ username: logfareAccountName.trim(),
28824
+ password: logfareAccountPassword
28446
28825
  }).then((result) => {
28447
28826
  if (!result.ok) {
28448
- setState((previous) => previous.status === "ready" ? {
28449
- ...previous,
28450
- actionError: result.error.message
28451
- } : previous);
28827
+ setLogfareNotice(describeLogfareError(result.error.message, language));
28452
28828
  return;
28453
28829
  }
28830
+ setLogfareAccountPassword("");
28454
28831
  applyLogfareStatus(result.value);
28455
28832
  refreshManagedMediaCatalog();
28456
28833
  }, (error) => {
28457
- setState((previous) => previous.status === "ready" ? {
28458
- ...previous,
28459
- actionError: error instanceof Error ? error.message : String(error)
28460
- } : previous);
28834
+ setLogfareNotice(describeLogfareError(error instanceof Error ? error.message : String(error), language));
28461
28835
  }).finally(() => {
28462
- setLogfareRegisterBusy(false);
28836
+ setLogfareLoginBusy(false);
28463
28837
  });
28464
28838
  };
28465
28839
  /**
28466
28840
  * Store a Logfare key the user already holds.
28467
28841
  *
28468
28842
  * Applying for a credential and supplying an existing one were the same single
28469
- * path before this: `logfareRegister` creates an account and saves whatever the
28470
- * backend issues. Someone with a key from another machine had no way to enter
28471
- * it, so the only route was to apply again under a new identity.
28843
+ * path before this: signing in drove the provider's own sign-up and saved
28844
+ * whatever it issued. Someone with a key from another machine had no way to
28845
+ * enter it, so the only route was to apply again under a new identity.
28472
28846
  */
28473
28847
  const saveLogfareKey = () => {
28474
28848
  if (logfareSetKey === void 0 || logfareKeyBusy || logfareKey.trim() === "") return;
@@ -28519,20 +28893,15 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
28519
28893
  const setLogfareTraining = () => {
28520
28894
  if (logfareSetTrainingOptIn === void 0 || logfareTrainingBusy) return;
28521
28895
  setLogfareTrainingBusy(true);
28896
+ setLogfareNotice(void 0);
28522
28897
  logfareSetTrainingOptIn(true).then((result) => {
28523
- if (!result.ok) setState((previous) => previous.status === "ready" ? {
28524
- ...previous,
28525
- actionError: result.error.message
28526
- } : previous);
28898
+ if (!result.ok) setLogfareNotice(describeLogfareError(result.error.message, language));
28527
28899
  else {
28528
28900
  applyLogfareStatus(result.value);
28529
28901
  refreshManagedMediaCatalog();
28530
28902
  }
28531
28903
  }, (error) => {
28532
- setState((previous) => previous.status === "ready" ? {
28533
- ...previous,
28534
- actionError: error instanceof Error ? error.message : String(error)
28535
- } : previous);
28904
+ setLogfareNotice(describeLogfareError(error instanceof Error ? error.message : String(error), language));
28536
28905
  }).finally(() => {
28537
28906
  setLogfareTrainingBusy(false);
28538
28907
  });
@@ -28629,6 +28998,165 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
28629
28998
  setNvidiaBusy(false);
28630
28999
  });
28631
29000
  };
29001
+ /**
29002
+ * Download the buyer runtime and create its identity, in one gesture.
29003
+ *
29004
+ * The Host owns the ordering — download first, key second — so a failed
29005
+ * download never leaves the user holding a wallet a broken button announced.
29006
+ */
29007
+ const installAntSeed = () => {
29008
+ if (antSeedInstall === void 0 || antSeedBusy) return;
29009
+ setAntSeedBusy(true);
29010
+ setAntSeedKey(void 0);
29011
+ antSeedInstall().then((result) => {
29012
+ if (!result.ok) {
29013
+ setState((previous) => previous.status === "ready" ? {
29014
+ ...previous,
29015
+ actionError: result.error.message
29016
+ } : previous);
29017
+ return;
29018
+ }
29019
+ setState((previous) => previous.status === "ready" ? {
29020
+ ...previous,
29021
+ antseed: result.value
29022
+ } : previous);
29023
+ }, (error) => {
29024
+ setState((previous) => previous.status === "ready" ? {
29025
+ ...previous,
29026
+ actionError: error instanceof Error ? error.message : String(error)
29027
+ } : previous);
29028
+ }).finally(() => {
29029
+ setAntSeedBusy(false);
29030
+ });
29031
+ };
29032
+ /**
29033
+ * Open or close the session gateway.
29034
+ *
29035
+ * Opening is what starts the local buyer and opens peer connections, so this
29036
+ * switch is the user's consent to run it. It is deliberately not stored, and
29037
+ * the Host closes it on the next start; the card says so beside the control.
29038
+ */
29039
+ const toggleAntSeedGateway = (enabled) => {
29040
+ if (antSeedSetGateway === void 0 || antSeedBusy) return;
29041
+ setAntSeedBusy(true);
29042
+ antSeedSetGateway(enabled).then((result) => {
29043
+ if (!result.ok) {
29044
+ setState((previous) => previous.status === "ready" ? {
29045
+ ...previous,
29046
+ actionError: result.error.message
29047
+ } : previous);
29048
+ return;
29049
+ }
29050
+ setState((previous) => previous.status === "ready" ? {
29051
+ ...previous,
29052
+ antseed: result.value
29053
+ } : previous);
29054
+ }, (error) => {
29055
+ setState((previous) => previous.status === "ready" ? {
29056
+ ...previous,
29057
+ actionError: error instanceof Error ? error.message : String(error)
29058
+ } : previous);
29059
+ }).finally(() => {
29060
+ setAntSeedBusy(false);
29061
+ });
29062
+ };
29063
+ /**
29064
+ * Re-read the buyer's roster without touching the switch.
29065
+ *
29066
+ * The roster is a live peer market: sellers arrive and leave while the
29067
+ * gateway stays open, and the page only reads it once when it loads. This is
29068
+ * the affordance that makes a model appear without toggling the gateway off
29069
+ * and on again — which would drop the process an in-flight request is on.
29070
+ */
29071
+ const refreshAntSeedModels = () => {
29072
+ if (antSeedStatus === void 0 || antSeedBusy) return;
29073
+ setAntSeedBusy(true);
29074
+ antSeedStatus().then((result) => {
29075
+ if (!result.ok) {
29076
+ setState((previous) => previous.status === "ready" ? {
29077
+ ...previous,
29078
+ actionError: result.error.message
29079
+ } : previous);
29080
+ return;
29081
+ }
29082
+ setState((previous) => previous.status === "ready" ? {
29083
+ ...previous,
29084
+ antseed: result.value
29085
+ } : previous);
29086
+ }, (error) => {
29087
+ setState((previous) => previous.status === "ready" ? {
29088
+ ...previous,
29089
+ actionError: error instanceof Error ? error.message : String(error)
29090
+ } : previous);
29091
+ }).finally(() => {
29092
+ setAntSeedBusy(false);
29093
+ });
29094
+ };
29095
+ /**
29096
+ * Ask the Host for the private key, on an explicit click.
29097
+ *
29098
+ * This is the only moment the key exists outside the Host vault, which is why
29099
+ * it is its own button and its own Remote rather than a field of the status.
29100
+ */
29101
+ const revealAntSeedIdentity = () => {
29102
+ if (antSeedRevealIdentity === void 0 || antSeedBusy) return;
29103
+ setAntSeedBusy(true);
29104
+ antSeedRevealIdentity().then((result) => {
29105
+ if (!result.ok) {
29106
+ setState((previous) => previous.status === "ready" ? {
29107
+ ...previous,
29108
+ actionError: result.error.message
29109
+ } : previous);
29110
+ return;
29111
+ }
29112
+ setAntSeedKey(result.value.privateKeyHex);
29113
+ }, (error) => {
29114
+ setState((previous) => previous.status === "ready" ? {
29115
+ ...previous,
29116
+ actionError: error instanceof Error ? error.message : String(error)
29117
+ } : previous);
29118
+ }).finally(() => {
29119
+ setAntSeedBusy(false);
29120
+ });
29121
+ };
29122
+ /**
29123
+ * Replace the stored identity, from a pasted key or a freshly generated one.
29124
+ *
29125
+ * Both gestures run through here because they differ only in where the key
29126
+ * comes from: the card asks for a confirmation, the Host refuses a key it
29127
+ * cannot parse, and what follows is the same status with a new peer id beside
29128
+ * it. A key the user exported a moment ago is dropped, since it no longer
29129
+ * names the identity this card describes.
29130
+ */
29131
+ const replaceAntSeedIdentity = (call) => {
29132
+ if (antSeedBusy) return;
29133
+ const pending = call();
29134
+ if (pending === void 0) return;
29135
+ setAntSeedBusy(true);
29136
+ pending.then((result) => {
29137
+ if (!result.ok) {
29138
+ setState((previous) => previous.status === "ready" ? {
29139
+ ...previous,
29140
+ actionError: result.error.message
29141
+ } : previous);
29142
+ return;
29143
+ }
29144
+ setAntSeedKey(void 0);
29145
+ setAntSeedNewKey("");
29146
+ setAntSeedReplaceOpen(false);
29147
+ setState((previous) => previous.status === "ready" ? {
29148
+ ...previous,
29149
+ antseed: result.value
29150
+ } : previous);
29151
+ }, (error) => {
29152
+ setState((previous) => previous.status === "ready" ? {
29153
+ ...previous,
29154
+ actionError: error instanceof Error ? error.message : String(error)
29155
+ } : previous);
29156
+ }).finally(() => {
29157
+ setAntSeedBusy(false);
29158
+ });
29159
+ };
28632
29160
  (0, react.useEffect)(() => {
28633
29161
  const reconnected = observedConnectionEpoch.current !== connectionEpoch;
28634
29162
  observedConnectionEpoch.current = connectionEpoch;
@@ -30104,6 +30632,8 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
30104
30632
  models: nativeModels,
30105
30633
  categories: capabilitySnapshot?.modelCategories ?? {},
30106
30634
  setCategory: modelCategorySet,
30635
+ customApiReasoningEnabled: capabilitySnapshot?.customApiReasoningEnabled !== false,
30636
+ setCustomApiReasoning: customApiReasoningSet,
30107
30637
  language,
30108
30638
  onSnapshot: (snapshot) => {
30109
30639
  setCapabilitySnapshot(snapshot);
@@ -30531,6 +31061,131 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
30531
31061
  })
30532
31062
  ]
30533
31063
  }) : null,
31064
+ settingsPage === "providers" && antSeedStatus !== void 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(ProviderCard, {
31065
+ language,
31066
+ name: language === "zh" ? "私钥网关" : "Private Key Gateway",
31067
+ visibility: providerVisibility("antseed"),
31068
+ title: language === "zh" ? "免费模型" : "Free models",
31069
+ icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ProviderGlyph, { kind: "antseed" }),
31070
+ status: {
31071
+ label: antSeedStatusLabel,
31072
+ tone: antSeedStatusTone
31073
+ },
31074
+ summary: antSeedSummary,
31075
+ models: antSeedModelLabels,
31076
+ modelsAreIdentifiers: true,
31077
+ description: language === "zh" ? "点击下载后,插件会在本地把运行环境准备好,并自动生成一个身份(私钥只保存在 Harness Host,不会写入本地密钥文件),随后即可直接使用免费模型。开启网关后,可用的免费模型会进入模型列表;网关不持久化,每次重启 Harness 都需要重新手动开启。这里只接入免费模型,不涉及充值或付费。" : "Downloading prepares the runtime locally and creates an identity for it (the private key stays in the Harness Host; it is never written to a key file), so the free models are ready to use straight away. Once the gateway is open, the free models that are available join the model list; the switch is not stored, so every Harness restart needs it opened again. Only free models are wired up here — no deposits and no paid routes.",
31078
+ notice: antSeedNotice,
31079
+ actions: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
31080
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
31081
+ className: antSeedInstalled ? settings_tab_module_css_default.button : `${settings_tab_module_css_default.button} ${settings_tab_module_css_default.buttonPrimary}`,
31082
+ type: "button",
31083
+ onClick: installAntSeed,
31084
+ disabled: antSeedBusy || antSeedInstall === void 0,
31085
+ children: antSeedBusy ? language === "zh" ? "处理中…" : "Working…" : antSeedInstalled ? language === "zh" ? "重新下载" : "Download again" : language === "zh" ? "下载并创建身份" : "Download and create identity"
31086
+ }),
31087
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
31088
+ className: antSeedGatewayEnabled ? settings_tab_module_css_default.button : `${settings_tab_module_css_default.button} ${settings_tab_module_css_default.buttonPrimary}`,
31089
+ type: "button",
31090
+ onClick: () => {
31091
+ toggleAntSeedGateway(!antSeedGatewayEnabled);
31092
+ },
31093
+ disabled: antSeedBusy || antSeedSetGateway === void 0 || !antSeedInstalled || !antSeedHasIdentity,
31094
+ children: antSeedGatewayEnabled ? language === "zh" ? "关闭网关" : "Close gateway" : language === "zh" ? "开启网关" : "Open gateway"
31095
+ }),
31096
+ antSeedGatewayEnabled ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
31097
+ className: settings_tab_module_css_default.button,
31098
+ type: "button",
31099
+ onClick: refreshAntSeedModels,
31100
+ disabled: antSeedBusy || antSeedStatus === void 0,
31101
+ children: language === "zh" ? "刷新模型" : "Refresh models"
31102
+ }) : null,
31103
+ antSeedHasIdentity ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
31104
+ className: settings_tab_module_css_default.button,
31105
+ type: "button",
31106
+ onClick: revealAntSeedIdentity,
31107
+ disabled: antSeedBusy || antSeedRevealIdentity === void 0,
31108
+ children: language === "zh" ? "导出私钥" : "Export key"
31109
+ }) : null,
31110
+ antSeedHasIdentity || antSeedIdentityUnreadable ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
31111
+ className: settings_tab_module_css_default.button,
31112
+ type: "button",
31113
+ onClick: () => {
31114
+ setAntSeedReplaceOpen((open) => !open);
31115
+ },
31116
+ "aria-expanded": antSeedReplaceOpen,
31117
+ disabled: antSeedBusy,
31118
+ children: language === "zh" ? "替换私钥" : "Replace key"
31119
+ }) : null
31120
+ ] }),
31121
+ children: [
31122
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("small", {
31123
+ className: settings_tab_module_css_default.sectionMeta,
31124
+ children: antSeedPeerLine
31125
+ }),
31126
+ antSeedKey === void 0 ? null : /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
31127
+ className: settings_tab_module_css_default.authForm,
31128
+ children: [
31129
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
31130
+ className: settings_tab_module_css_default.input,
31131
+ readOnly: true,
31132
+ value: antSeedKey,
31133
+ "aria-label": language === "zh" ? "私钥网关的私钥" : "Private Key Gateway private key"
31134
+ }),
31135
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
31136
+ className: settings_tab_module_css_default.button,
31137
+ type: "button",
31138
+ onClick: () => {
31139
+ globalThis.navigator?.clipboard?.writeText(antSeedKey);
31140
+ },
31141
+ children: language === "zh" ? "复制私钥" : "Copy key"
31142
+ }),
31143
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("small", {
31144
+ className: `${settings_tab_module_css_default.sectionMeta} ${settings_tab_module_css_default.authFull}`,
31145
+ children: language === "zh" ? "这把私钥就是钱包地址(peerId),任何充值余额都与它绑定;请离线保存,插件不会自动更换。" : "This key is the wallet address (peerId) that any deposit is tied to. Keep it offline; the plugin never rotates it."
31146
+ })
31147
+ ]
31148
+ }),
31149
+ !antSeedReplaceOpen ? null : /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
31150
+ className: settings_tab_module_css_default.authForm,
31151
+ children: [
31152
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
31153
+ className: settings_tab_module_css_default.input,
31154
+ type: "password",
31155
+ value: antSeedNewKey,
31156
+ onChange: (event) => {
31157
+ setAntSeedNewKey(event.target.value);
31158
+ },
31159
+ placeholder: language === "zh" ? "粘贴私钥(32 字节,即 64 个十六进制字符,可带 0x)" : "Paste a private key (32 bytes, i.e. 64 hex characters; 0x optional)",
31160
+ "aria-label": language === "zh" ? "要替换为的私钥" : "Private key to replace with",
31161
+ autoComplete: "off"
31162
+ }),
31163
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
31164
+ className: `${settings_tab_module_css_default.button} ${settings_tab_module_css_default.buttonPrimary}`,
31165
+ type: "button",
31166
+ onClick: () => {
31167
+ replaceAntSeedIdentity(() => antSeedSetIdentity?.(antSeedNewKey));
31168
+ },
31169
+ disabled: antSeedBusy || antSeedNewKey.trim() === "" || antSeedSetIdentity === void 0,
31170
+ children: language === "zh" ? "确认替换" : "Replace"
31171
+ }),
31172
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
31173
+ className: settings_tab_module_css_default.button,
31174
+ type: "button",
31175
+ onClick: () => {
31176
+ replaceAntSeedIdentity(() => antSeedGenerateIdentity?.());
31177
+ },
31178
+ disabled: antSeedBusy || antSeedGenerateIdentity === void 0,
31179
+ children: language === "zh" ? "生成新私钥" : "Generate a new key"
31180
+ }),
31181
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("small", {
31182
+ className: `${settings_tab_module_css_default.sectionMeta} ${settings_tab_module_css_default.authFull}`,
31183
+ children: language === "zh" ? "替换后旧私钥立即作废:它的地址就是钱包,绑定在该地址上的任何余额都无法再通过这个网关使用,也不会自动转移——想保留就先用「导出私钥」备份。替换会关闭网关,重新开启即可用新身份连接。" : "The old key stops working the moment this is done: its address is a wallet, and any balance bound to it can no longer be used through this gateway — nothing is moved over. Back the old key up with \"Export key\" first if you want to keep it. Replacing closes the gateway; open it again to connect with the new identity."
31184
+ })
31185
+ ]
31186
+ })
31187
+ ]
31188
+ }) : null,
30534
31189
  settingsPage === "providers" && vyceStatus !== void 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ProviderCard, {
30535
31190
  language,
30536
31191
  name: "VyceAI",
@@ -30591,55 +31246,136 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
30591
31246
  summary: state.logfare?.configured === true ? language === "zh" ? `基础 ${state.logfare.standardModelCount} · 高级 ${state.logfare.premiumModelCount}` : `${state.logfare.standardModelCount} standard · ${state.logfare.premiumModelCount} premium` : void 0,
30592
31247
  models: logfareModelNames,
30593
31248
  description: language === "zh" ? "凭证仅保存在 Harness Host,模型通过独立安全通道使用。" : "Credentials stay in the Harness Host; models use a separate secured channel.",
30594
- actions: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [state.logfare?.configured ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
30595
- className: settings_tab_module_css_default.button,
30596
- type: "button",
30597
- onClick: registerLogfare,
30598
- disabled: logfareRegisterBusy,
30599
- children: logfareRegisterBusy ? language === "zh" ? "申请中…" : "Applying…" : language === "zh" ? "重新申请资格" : "Re-apply"
30600
- }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
30601
- className: `${settings_tab_module_css_default.button} ${settings_tab_module_css_default.buttonPrimary}`,
30602
- type: "button",
30603
- onClick: registerLogfare,
30604
- disabled: logfareRegisterBusy,
30605
- children: logfareRegisterBusy ? language === "zh" ? "申请中…" : "Applying…" : language === "zh" ? "申请资格并保存" : "Apply and save"
30606
- }), state.logfare?.sessionConfigured && !state.logfare.premiumUnlocked ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
30607
- className: `${settings_tab_module_css_default.button} ${settings_tab_module_css_default.buttonPrimary}`,
30608
- type: "button",
30609
- onClick: setLogfareTraining,
30610
- disabled: logfareTrainingBusy,
30611
- title: language === "zh" ? "同意将清理后的请求与回复用于内部评估和模型训练。该同意不会向第三方分发内容;已用于训练的内容影响无法撤销。" : "Agree to use cleaned requests and replies for internal evaluation and model training. This does not distribute content to third parties; training effects cannot be undone.",
30612
- children: logfareTrainingBusy ? language === "zh" ? "处理中…" : "Working…" : language === "zh" ? "同意训练数据并解锁高级模型" : "Unlock premium models"
30613
- }) : null] }),
30614
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("small", {
30615
- className: settings_tab_module_css_default.sectionMeta,
30616
- children: state.logfare?.configured !== true ? language === "zh" ? "尚未连接。可以申请资格,或者用下面的输入框填一个已在别处拿到的 Key。" : "Not connected yet. Apply, or enter a key you already have below." : state.logfare.premiumUnlocked ? language === "zh" ? "基础与高级模型均可从模型列表选择。" : "Standard and premium models are selectable from the model list." : state.logfare.sessionConfigured ? language === "zh" ? "同意训练数据后即可解锁高级模型。" : "Agree to training data to unlock premium models." : language === "zh" ? "申请资格后会自动保存凭证。" : "Applying saves the credential automatically."
30617
- }), logfareSetKey === void 0 ? null : /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("details", {
30618
- className: settings_tab_module_css_default.manualEntry,
30619
- children: [
30620
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)("summary", { children: language === "zh" ? "手动填入手上的 Logfare Key" : "Enter an existing Logfare key" }),
30621
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)("small", { children: language === "zh" ? "凭证只保存在 Harness Host,不会回显。" : "The credential is stored in the Harness Host only and is never echoed back." }),
30622
- /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
30623
- className: settings_tab_module_css_default.capabilityForm,
30624
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: language === "zh" ? "Logfare Key" : "Logfare key" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
31249
+ actions: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
31250
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("a", {
31251
+ className: settings_tab_module_css_default.button,
31252
+ href: LOGFARE_REGISTER_PAGE,
31253
+ target: "_blank",
31254
+ rel: "noopener noreferrer",
31255
+ children: language === "zh" ? "去注册(需 Discord)" : "Register (Discord required)"
31256
+ }),
31257
+ state.logfare?.discordMigrationRequired === true ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("a", {
31258
+ className: `${settings_tab_module_css_default.button} ${settings_tab_module_css_default.buttonPrimary}`,
31259
+ href: LOGFARE_MIGRATE_PAGE,
31260
+ target: "_blank",
31261
+ rel: "noopener noreferrer",
31262
+ children: language === "zh" ? "绑定 Discord 并激活" : "Link Discord and activate"
31263
+ }) : null,
31264
+ state.logfare?.accountActive === true && state.logfare.trainingOptIn !== true ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
31265
+ className: settings_tab_module_css_default.button,
31266
+ type: "button",
31267
+ onClick: setLogfareTraining,
31268
+ disabled: logfareTrainingBusy,
31269
+ title: language === "zh" ? "同意将清理后的请求与回复用于模型训练。这是上游解锁高级模型的开关;该同意不会向第三方分发内容;已用于训练的内容影响无法撤销。" : "Agree to use cleaned requests and replies for model training. This is upstream’s premium-model switch; it does not distribute content to third parties, and training effects cannot be undone.",
31270
+ children: logfareTrainingBusy ? language === "zh" ? "处理中…" : "Working…" : language === "zh" ? "同意训练数据并解锁高级模型" : "Unlock premium models"
31271
+ }) : null
31272
+ ] }),
31273
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
31274
+ logfareNotice === void 0 ? null : /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
31275
+ className: settings_tab_module_css_default.authNoticeAlert,
31276
+ role: "alert",
31277
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: logfareNotice }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
31278
+ className: settings_tab_module_css_default.button,
31279
+ type: "button",
31280
+ onClick: () => {
31281
+ setLogfareNotice(void 0);
31282
+ },
31283
+ children: language === "zh" ? "知道了" : "Dismiss"
31284
+ })]
31285
+ }),
31286
+ state.logfare?.discordMigrationRequired === true ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
31287
+ className: settings_tab_module_css_default.authNoticeAlert,
31288
+ role: "status",
31289
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: language === "zh" ? `上游已暂停该账号:${state.logfare.migrationReason}` : `Upstream suspended this account: ${state.logfare.migrationReason}` }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("a", {
31290
+ className: settings_tab_module_css_default.button,
31291
+ href: LOGFARE_MIGRATE_PAGE,
31292
+ target: "_blank",
31293
+ rel: "noopener noreferrer",
31294
+ children: language === "zh" ? "去绑定" : "Link now"
31295
+ })]
31296
+ }) : null,
31297
+ state.logfare === void 0 ? null : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("small", {
31298
+ className: settings_tab_module_css_default.sectionMeta,
31299
+ "data-logfare-session": state.logfare.sessionConfigured === true ? "saved" : "absent",
31300
+ children: state.logfare.sessionConfigured === true ? state.logfare.accountActive === true ? language === "zh" ? "已保存会话,上游可正常读取该账号。" : "A session is stored and upstream answers for this account." : language === "zh" ? "已保存会话,但上游没有返回该账号状态(账号被暂停、或会话已失效,都会是这种表现)。" : "A session is stored but upstream did not answer for this account — a suspended account and a dead session both look like this." : language === "zh" ? "尚未保存会话。用账号密码登录一次即可保存,重启后不用再登录。" : "No session stored yet. Sign in once with the account name and password and it is kept across restarts."
31301
+ }),
31302
+ logfareLogin === void 0 ? null : /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
31303
+ className: settings_tab_module_css_default.capabilityForm,
31304
+ children: [
31305
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: language === "zh" ? "Logfare 账号(仅数字,3-64 位)" : "Logfare account (digits, 3-64)" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
31306
+ className: settings_tab_module_css_default.input,
31307
+ type: "text",
31308
+ inputMode: "numeric",
31309
+ autoComplete: "username",
31310
+ "aria-label": language === "zh" ? "Logfare 账号" : "Logfare account",
31311
+ value: logfareAccountName,
31312
+ onChange: (event) => {
31313
+ setLogfareAccountName(event.target.value.replace(/\D/gu, ""));
31314
+ }
31315
+ })] }),
31316
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: language === "zh" ? "密码(至少 8 位)" : "Password (8+ characters)" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
30625
31317
  className: settings_tab_module_css_default.input,
30626
31318
  type: "password",
30627
- autoComplete: "off",
30628
- "aria-label": language === "zh" ? "Logfare Key" : "Logfare key",
30629
- value: logfareKey,
31319
+ autoComplete: "current-password",
31320
+ "aria-label": language === "zh" ? "Logfare 密码" : "Logfare password",
31321
+ value: logfareAccountPassword,
30630
31322
  onChange: (event) => {
30631
- setLogfareKey(event.target.value);
31323
+ setLogfareAccountPassword(event.target.value);
30632
31324
  }
30633
- })] }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
31325
+ })] }),
31326
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
30634
31327
  className: settings_tab_module_css_default.button,
30635
31328
  type: "button",
30636
- onClick: saveLogfareKey,
30637
- disabled: logfareKeyBusy || logfareKey.trim() === "",
30638
- children: logfareKeyBusy ? language === "zh" ? "保存中…" : "Saving…" : language === "zh" ? "保存 Key" : "Save key"
30639
- })]
30640
- })
30641
- ]
30642
- })] })
31329
+ onClick: loginLogfare,
31330
+ disabled: logfareLoginBusy || !/^\d{3,64}$/u.test(logfareAccountName.trim()) || logfareAccountPassword.length < 8,
31331
+ children: logfareLoginBusy ? language === "zh" ? "登录中…" : "Signing in…" : state.logfare?.sessionConfigured === true ? language === "zh" ? "重新登录并覆盖会话" : "Sign in again and replace the session" : language === "zh" ? "登录并保存会话" : "Sign in and save session"
31332
+ })
31333
+ ]
31334
+ }),
31335
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("small", {
31336
+ className: settings_tab_module_css_default.sectionMeta,
31337
+ children: state.logfare?.discordMigrationRequired === true ? language === "zh" ? "该账号在上游被暂停,绑定 Discord 后回到这里重新登录即可恢复。" : "Upstream suspended this account; link Discord, then sign in here again to restore it." : state.logfare?.accountActive === true && state.logfare.trainingOptIn !== true ? language === "zh" ? "会话正常。同意训练数据后即可解锁高级模型。" : "The session answers. Agree to training data to unlock premium models." : state.logfare?.premiumUnlocked === true ? language === "zh" ? "当前 Key 已解锁全部模型(基础与高级都能从模型列表选择),无需再同意训练数据。" : "This key already unlocks every model — standard and premium are both selectable — so there is no training-data consent left to give here." : state.logfare?.configured !== true ? language === "zh" ? "尚未连接。先在上游注册拿到 Key(注册需要加入 Discord),再用账号密码登录一次。" : "Not connected yet. Register upstream for a key — registration requires the Discord server — then sign in here once." : state.logfare?.sessionConfigured !== true ? language === "zh" ? "已保存 Key,但高级模型仍未解锁,且还没有会话:上游对未完成 Discord 绑定(或未同意训练数据)的 Key 直接返回 401「API key required」。用账号密码登录一次即可看到具体原因。" : "A key is stored but premium routes are still locked and there is no session: upstream answers 401 “API key required” to a key whose account has not completed Discord linking (or has not agreed to training data). Sign in with the account name and password to see which." : language === "zh" ? "会话已失效,请重新登录。" : "The session no longer answers; sign in again."
31338
+ }),
31339
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("small", {
31340
+ className: settings_tab_module_css_default.sectionMeta,
31341
+ children: [
31342
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("a", {
31343
+ href: LOGFARE_DISCORD_INVITE,
31344
+ target: "_blank",
31345
+ rel: "noopener noreferrer",
31346
+ children: language === "zh" ? "加入 Logfare Discord" : "Join the Logfare Discord"
31347
+ }),
31348
+ " — ",
31349
+ language === "zh" ? "上游要求账号所在 Discord 在服务器内,注册与激活都绕不开这一步。" : "upstream requires the linked Discord account to be in that server, and both registration and activation go through it."
31350
+ ]
31351
+ }),
31352
+ logfareSetKey === void 0 ? null : /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("details", {
31353
+ className: settings_tab_module_css_default.manualEntry,
31354
+ children: [
31355
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("summary", { children: language === "zh" ? "手动填入手上的 Logfare Key" : "Enter an existing Logfare key" }),
31356
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("small", { children: language === "zh" ? "凭证只保存在 Harness Host,不会回显。" : "The credential is stored in the Harness Host only and is never echoed back." }),
31357
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
31358
+ className: settings_tab_module_css_default.capabilityForm,
31359
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: language === "zh" ? "Logfare Key" : "Logfare key" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
31360
+ className: settings_tab_module_css_default.input,
31361
+ type: "password",
31362
+ autoComplete: "off",
31363
+ "aria-label": language === "zh" ? "Logfare Key" : "Logfare key",
31364
+ value: logfareKey,
31365
+ onChange: (event) => {
31366
+ setLogfareKey(event.target.value);
31367
+ }
31368
+ })] }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
31369
+ className: settings_tab_module_css_default.button,
31370
+ type: "button",
31371
+ onClick: saveLogfareKey,
31372
+ disabled: logfareKeyBusy || logfareKey.trim() === "",
31373
+ children: logfareKeyBusy ? language === "zh" ? "保存中…" : "Saving…" : language === "zh" ? "保存 Key" : "Save key"
31374
+ })]
31375
+ })
31376
+ ]
31377
+ })
31378
+ ] })
30643
31379
  }) : null,
30644
31380
  settingsPage === "providers" && sensenovaStatus !== void 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ProviderCard, {
30645
31381
  language,
@@ -34870,6 +35606,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
34870
35606
  /** Keeps media classification separate from provider credentials and routing. */
34871
35607
  function ModelCategorySettingsPage(input) {
34872
35608
  const [busyKey, setBusyKey] = (0, react.useState)(void 0);
35609
+ const [reasoningOverride, setReasoningOverride] = (0, react.useState)(void 0);
34873
35610
  const text = input.language === "zh" ? {
34874
35611
  title: "模型分类",
34875
35612
  badge: "多提供商媒体路由",
@@ -34878,7 +35615,10 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
34878
35615
  auto: "自动识别为",
34879
35616
  manual: "已手动分类为",
34880
35617
  aria: (name) => `${name} 模型分类`,
34881
- autoOption: (label) => `自动识别(${label})`
35618
+ autoOption: (label) => `自动识别(${label})`,
35619
+ reasoningTitle: "自定义 API 的思考程度",
35620
+ reasoningDetail: "为本体内手写的第三方 API 模型声明 off / low / medium / high 四档思考等级,写进 Harness「模型」页的设置。只补不覆盖:模型自己声明过的、以及目录里已支持思考的都不动,也不会删除已写入的声明。",
35621
+ reasoningAria: "自定义 API 的思考程度"
34882
35622
  } : {
34883
35623
  title: "Model categories",
34884
35624
  badge: "Multi-provider media routing",
@@ -34887,7 +35627,18 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
34887
35627
  auto: "Automatically classified as",
34888
35628
  manual: "Manually classified as",
34889
35629
  aria: (name) => `${name} model category`,
34890
- autoOption: (label) => `Automatic (${label})`
35630
+ autoOption: (label) => `Automatic (${label})`,
35631
+ reasoningTitle: "Thinking levels for custom APIs",
35632
+ reasoningDetail: "Declares off / low / medium / high for the third-party models you hand-declared on the Harness Models page, written into that page's settings. Additive only: a model that states its own answer, or one the catalog already lets think, is left alone, and a declaration already written is never removed.",
35633
+ reasoningAria: "Thinking levels for custom APIs"
35634
+ };
35635
+ const setReasoning = (enabled) => {
35636
+ if (input.setCustomApiReasoning === void 0) return;
35637
+ setReasoningOverride(enabled);
35638
+ input.setCustomApiReasoning(enabled).catch((error) => {
35639
+ setReasoningOverride(void 0);
35640
+ input.onError(error instanceof Error ? error.message : String(error));
35641
+ });
34891
35642
  };
34892
35643
  const update = (model, category) => {
34893
35644
  if (input.setCategory === void 0 || busyKey !== void 0) return;
@@ -34925,6 +35676,22 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
34925
35676
  className: settings_tab_module_css_default.sectionMeta,
34926
35677
  children: text.description
34927
35678
  }),
35679
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
35680
+ className: settings_tab_module_css_default.extensionList,
35681
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
35682
+ className: settings_tab_module_css_default.extensionRow,
35683
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("strong", { children: text.reasoningTitle }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("small", { children: text.reasoningDetail })] }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
35684
+ className: settings_tab_module_css_default.switch,
35685
+ "aria-label": text.reasoningAria,
35686
+ type: "checkbox",
35687
+ checked: reasoningOverride ?? input.customApiReasoningEnabled,
35688
+ onChange: (event) => {
35689
+ setReasoning(event.target.checked);
35690
+ },
35691
+ disabled: input.setCustomApiReasoning === void 0
35692
+ })]
35693
+ })
35694
+ }),
34928
35695
  input.models.length === 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("small", {
34929
35696
  className: settings_tab_module_css_default.sectionMeta,
34930
35697
  children: text.empty
@@ -43110,9 +43877,9 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
43110
43877
  /** Marks the injected container, so a re-scan can find one it already mounted. */
43111
43878
  const DOT_FACE_ATTR = "data-fcg-companion-dot-face";
43112
43879
  /** Marks the injected stylesheet, so repeated installs share one sheet. */
43113
- const STYLE_ATTR$2 = "data-fcg-dot-row-style";
43880
+ const STYLE_ATTR$1 = "data-fcg-dot-row-style";
43114
43881
  /** Class of the container the face is mounted into. Named, not hashed: it is ours. */
43115
- const FACE_CLASS$2 = "fcg-dot-face";
43882
+ const FACE_CLASS$1 = "fcg-dot-face";
43116
43883
  /** The size `StateDot` uses when a callsite passes none. */
43117
43884
  const DOT_FALLBACK_PX = 10;
43118
43885
  /**
@@ -43123,11 +43890,11 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
43123
43890
  * with a ring and its animations on it, and hiding it is what stops them — a hidden
43124
43891
  * subtree is no longer laid out or painted.
43125
43892
  */
43126
- const SHEET$2 = `
43893
+ const SHEET$1 = `
43127
43894
  [${DOT_ATTR}] {
43128
43895
  display: none !important;
43129
43896
  }
43130
- .${FACE_CLASS$2} {
43897
+ .${FACE_CLASS$1} {
43131
43898
  display: inline-flex;
43132
43899
  flex: none;
43133
43900
  align-items: center;
@@ -43157,7 +43924,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
43157
43924
  statuses: ctx.uiSession.sessionStatus,
43158
43925
  activity
43159
43926
  };
43160
- ensureTakeoverStyle(STYLE_ATTR$2, SHEET$2);
43927
+ ensureTakeoverStyle(STYLE_ATTR$1, SHEET$1);
43161
43928
  return installTakeover({
43162
43929
  selector: ONGOING_DOT_SELECTOR,
43163
43930
  mark: DOT_ATTR,
@@ -43165,7 +43932,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
43165
43932
  if (!inConversationSurface(dot)) return () => {};
43166
43933
  const edge = faceEdgeFor(dot);
43167
43934
  const container = document.createElement("div");
43168
- container.className = [FACE_CLASS$2, dot.getAttribute("class") ?? ""].join(" ").trim();
43935
+ container.className = [FACE_CLASS$1, dot.getAttribute("class") ?? ""].join(" ").trim();
43169
43936
  container.setAttribute(DOT_FACE_ATTR, "true");
43170
43937
  container.setAttribute("aria-hidden", "true");
43171
43938
  dot.setAttribute(DOT_ATTR, "true");
@@ -43193,7 +43960,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
43193
43960
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(StoreFace, {
43194
43961
  sources,
43195
43962
  size: edge,
43196
- className: `${FACE_CLASS$2}-mark`
43963
+ className: `${FACE_CLASS$1}-mark`
43197
43964
  });
43198
43965
  }
43199
43966
  //#endregion
@@ -43211,9 +43978,9 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
43211
43978
  /** Marks the injected container, so a re-scan can find one it already mounted. */
43212
43979
  const RUNNING_ROW_FACE_ATTR = "data-fcg-companion-row-face";
43213
43980
  /** Marks the injected stylesheet, so repeated installs share one sheet. */
43214
- const STYLE_ATTR$1 = "data-fcg-running-row-style";
43981
+ const STYLE_ATTR = "data-fcg-running-row-style";
43215
43982
  /** Class of the container the face is mounted into. Named, not hashed: it is ours. */
43216
- const FACE_CLASS$1 = "fcg-running-row";
43983
+ const FACE_CLASS = "fcg-running-row";
43217
43984
  /**
43218
43985
  * The sheet that turns the official row into a host for the face.
43219
43986
  *
@@ -43222,7 +43989,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
43222
43989
  * selectors carry the same specificity. Only the paint is overridden — the row's
43223
43990
  * own box, height, and alignment stay upstream's.
43224
43991
  */
43225
- const SHEET$1 = `
43992
+ const SHEET = `
43226
43993
  [${RUNNING_ROW_ATTR}] {
43227
43994
  background: none !important;
43228
43995
  animation: none !important;
@@ -43231,7 +43998,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
43231
43998
  font-size: 0 !important;
43232
43999
  gap: 8px;
43233
44000
  }
43234
- .${FACE_CLASS$1} {
44001
+ .${FACE_CLASS} {
43235
44002
  display: inline-flex;
43236
44003
  flex: none;
43237
44004
  align-items: center;
@@ -43252,14 +44019,14 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
43252
44019
  statuses: ctx.uiSession.sessionStatus,
43253
44020
  activity
43254
44021
  };
43255
- ensureTakeoverStyle(STYLE_ATTR$1, SHEET$1);
44022
+ ensureTakeoverStyle(STYLE_ATTR, SHEET);
43256
44023
  return installTakeover({
43257
44024
  selector: RUNNING_ROW_SELECTOR,
43258
44025
  mark: RUNNING_ROW_ATTR,
43259
44026
  takeOver: (row) => {
43260
44027
  const releaseClaim = claimRunningRowFace();
43261
44028
  row.setAttribute(RUNNING_ROW_ATTR, "true");
43262
- const release = prependFace(row, RUNNING_ROW_FACE_ATTR, FACE_CLASS$1, (container) => {
44029
+ const release = prependFace(row, RUNNING_ROW_FACE_ATTR, FACE_CLASS, (container) => {
43263
44030
  const root = (0, react_dom_client.createRoot)(container);
43264
44031
  root.render(/* @__PURE__ */ (0, react_jsx_runtime.jsx)(RunningRowFace, { sources }));
43265
44032
  return () => {
@@ -43283,131 +44050,6 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
43283
44050
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(StoreFace, {
43284
44051
  sources,
43285
44052
  size: 20,
43286
- className: `${FACE_CLASS$1}-mark`
43287
- });
43288
- }
43289
- //#endregion
43290
- //#region src/client/companion/step-row.tsx
43291
- /**
43292
- * The rows this seat takes over: anything the shell is drawing as *running* that
43293
- * paints a sweep.
43294
- *
43295
- * Scoped on the running state rather than on a row kind on purpose: a new kind of
43296
- * running row is looked at instead of being silently missed, and every settled row —
43297
- * whose state is `ok` or `error` — is left exactly as upstream drew it. A running
43298
- * element that paints no band and shows no dot (a session row, `StateDot`'s own
43299
- * wrapper) resolves to nothing and is left unmarked, so a later pass can still take
43300
- * it if it ever grows either.
43301
- */
43302
- const STEP_ROW_SELECTOR = "[data-state=\"running\"]";
43303
- /** A row header that is *declared* to be one. The fast path; see {@link findBandHost}. */
43304
- const DISCLOSURE_ROW_SELECTOR = "[data-disclosure-row]";
43305
- /** Marks the band's host as taken over. Styling and the re-scan both key on it. */
43306
- const STEP_ROW_ATTR = "data-fcg-companion-step";
43307
- /** Marks the injected container, so a re-scan can find one it already mounted. */
43308
- const STEP_ROW_FACE_ATTR = "data-fcg-companion-step-face";
43309
- /** Marks the injected stylesheet, so repeated installs share one sheet. */
43310
- const STYLE_ATTR = "data-fcg-step-row-style";
43311
- /** Class of the container the face is mounted into. Named, not hashed: it is ours. */
43312
- const FACE_CLASS = "fcg-step-row";
43313
- /** The real probe: an `::after` that has both a box and an animation. */
43314
- const paintsBand = (element) => {
43315
- try {
43316
- const after = window.getComputedStyle(element, "::after");
43317
- return after.content !== "none" && after.content !== "normal" && after.animationName !== "none";
43318
- } catch {
43319
- return false;
43320
- }
43321
- };
43322
- /**
43323
- * Find the element a running row's sweep is painted on.
43324
- *
43325
- * A declared row header wins outright — it is upstream's own marker (`ui-chat`'s
43326
- * command and reasoning rows, `ui-tool`'s rows and `ui-deliverables`' present row
43327
- * all render one) and costs no style resolution. Only when there is none does the
43328
- * band have to be measured, which is the hand-rolled case: `ui-skill`'s row draws
43329
- * its own sweep, and the bash row paints the band on its own box.
43330
- * @param host - the element reporting `data-state="running"`.
43331
- * @param probe - how to recognise the band; the real one in production.
43332
- * @returns the band's host, or null when this row paints no band.
43333
- */
43334
- function findBandHost(host, probe = paintsBand) {
43335
- const declared = host.querySelector(DISCLOSURE_ROW_SELECTOR);
43336
- if (declared !== null) return declared;
43337
- if (probe(host)) return host;
43338
- for (const candidate of host.querySelectorAll("*")) if (probe(candidate)) return candidate;
43339
- return null;
43340
- }
43341
- /**
43342
- * The sheet that switches the sweep off and lays the face out in its place.
43343
- *
43344
- * Keyed on the marker rather than on upstream's class names, which the bundle
43345
- * hashes. `content: none` is what removes the band itself — the pseudo-element is
43346
- * the sweep — and the animation is disabled beside it so nothing is left running
43347
- * with no paint.
43348
- */
43349
- const SHEET = `
43350
- [${STEP_ROW_ATTR}]::after {
43351
- content: none !important;
43352
- animation: none !important;
43353
- }
43354
- .${FACE_CLASS} {
43355
- display: inline-flex;
43356
- flex: none;
43357
- align-items: center;
43358
- margin-right: 6px;
43359
- color: var(--fcg-text-primary);
43360
- }
43361
- `;
43362
- /**
43363
- * Seat the companion in the transcript's running rows.
43364
- * @param ctx - client root context, carrying the Session sources.
43365
- * @param activity - the plugin's one live event feed, so this seat's face and the
43366
- * two slot seats read the same phases at the same instant.
43367
- * @param options - the band probe, overridden only by the specs.
43368
- * @returns a disposer that stops watching and unmounts every injection.
43369
- */
43370
- function installStepRows(ctx, activity, options = {}) {
43371
- const probe = options.bandProbe ?? paintsBand;
43372
- const sources = {
43373
- sessions: ctx.sessions.list,
43374
- jobs: ctx.jobs.state,
43375
- statuses: ctx.uiSession.sessionStatus,
43376
- activity
43377
- };
43378
- ensureTakeoverStyle(STYLE_ATTR, SHEET);
43379
- return installTakeover({
43380
- selector: STEP_ROW_SELECTOR,
43381
- mark: STEP_ROW_ATTR,
43382
- takeOver: (running) => {
43383
- const mark = running.querySelector(ONGOING_DOT_SELECTOR);
43384
- if (mark !== null && inConversationSurface(mark)) return () => {};
43385
- const band = findBandHost(running, probe);
43386
- if (band === null) return () => {};
43387
- band.setAttribute(STEP_ROW_ATTR, "true");
43388
- const release = prependFace(band, STEP_ROW_FACE_ATTR, FACE_CLASS, (container) => {
43389
- const root = (0, react_dom_client.createRoot)(container);
43390
- root.render(/* @__PURE__ */ (0, react_jsx_runtime.jsx)(StepRowFace, { sources }));
43391
- return () => {
43392
- root.unmount();
43393
- };
43394
- });
43395
- return () => {
43396
- release();
43397
- band.removeAttribute(STEP_ROW_ATTR);
43398
- };
43399
- }
43400
- });
43401
- }
43402
- /**
43403
- * The character as a running step row shows it.
43404
- * @param props.sources - the session list and status observables.
43405
- * @returns the face, sized for the row.
43406
- */
43407
- function StepRowFace({ sources }) {
43408
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(StoreFace, {
43409
- sources,
43410
- size: 18,
43411
44053
  className: `${FACE_CLASS}-mark`
43412
44054
  });
43413
44055
  }
@@ -43438,15 +44080,14 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
43438
44080
  }
43439
44081
  /**
43440
44082
  * Seat the companion in the sidebar's brand slot, the composer's entry list, and
43441
- * the transcript's three injected seats — the running turn's status row, the
43442
- * running rows inside a turn, and the shell's own ongoing dot.
44083
+ * the transcript's two injected seats — the running turn's status row, and the
44084
+ * shell's own ongoing dot.
43443
44085
  *
43444
44086
  * The registrations are one entry point because they are one character: a build
43445
44087
  * that seated only the mark would leave the label namespace unreachable, a build
43446
44088
  * that seated only the strip would lose the rail's own mark, and the injected
43447
- * seats (`./running-row.tsx`, `./step-row.tsx`, `./dot-row.tsx`) draw the same pose
43448
- * in place of the shell's own loading animations — the row sweeps that are left, and
43449
- * the spinner ring of an in-flight mark.
44089
+ * seats (`./running-row.tsx`, `./dot-row.tsx`) draw the same pose in place of the
44090
+ * shell's own loading animations — the spinner ring of an in-flight mark.
43450
44091
  *
43451
44092
  * `priority: -1` is the sanctioned way to shadow a single slot: the default rank
43452
44093
  * is 0 and the lowest live entry renders, so this wins over the fallback mark
@@ -43475,7 +44116,6 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
43475
44116
  }, FreeCodeGoCompanion));
43476
44117
  installCompanionBar(ctx, activity);
43477
44118
  ctx.effect(() => installRunningRow(ctx, activity), "freecodego-ui: Companion running row");
43478
- ctx.effect(() => installStepRows(ctx, activity), "freecodego-ui: Companion step rows");
43479
44119
  ctx.effect(() => installDotFaces(ctx, activity), "freecodego-ui: Companion ongoing dots");
43480
44120
  }
43481
44121
  //#endregion
@@ -43696,7 +44336,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
43696
44336
  case "OPENROUTER_API_KEY_REQUIRED": return zh ? "请先在设置中填写 OpenRouter API Key" : "Configure an OpenRouter API key in Settings first";
43697
44337
  case "VYCE_API_KEY_REQUIRED": return zh ? "请先在设置中填写 VyceAI API Key" : "Configure a VyceAI API key in Settings first";
43698
44338
  case "LOGFARE_API_KEY_REQUIRED": return zh ? "请先在设置中配置此提供商的 API Key" : "Configure this provider API key in Settings first";
43699
- case "LOGFARE_PREMIUM_OPT_IN_REQUIRED": return zh ? "请先在设置中开启此提供商的训练数据授权" : "Enable this provider’s training-data consent in Settings first";
44339
+ case "LOGFARE_ACCOUNT_NOT_ACTIVATED": return zh ? "请先在设置中登录此提供商账号并同意训练数据" : "Sign in to this provider in Settings and agree to training data first";
43700
44340
  case "AGNES_API_KEY_REQUIRED": return zh ? "请先在设置中创建 Agnes API Key" : "Create an Agnes API key in Settings first";
43701
44341
  case "AGNES_LOGIN_REQUIRED": return zh ? "请先登录 Agnes" : "Sign in to Agnes first";
43702
44342
  case "WORKBUDDY_LOGIN_REQUIRED": return zh ? "请先登录 WorkBuddy" : "Sign in to WorkBuddy first";
@@ -43758,11 +44398,17 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
43758
44398
  if (reason !== void 0 && DEGRADED_ROUTE_REASONS.has(reason)) return language === "zh" ? "暂不可选" : "DEGRADED";
43759
44399
  return language === "zh" ? "需配置" : "SETUP REQUIRED";
43760
44400
  }
43761
- function labels(language, availability) {
43762
- return [availability?.available === false ? {
44401
+ function labels(language, availability, multiplier) {
44402
+ const badges = [];
44403
+ if (multiplier !== void 0) badges.push({
44404
+ kind: "multiplier",
44405
+ label: multiplier
44406
+ });
44407
+ if (availability?.available === false) badges.push({
43763
44408
  kind: "unavailable",
43764
44409
  label: unavailableLabel(availability.reason, language)
43765
- } : void 0].filter((badge) => badge !== void 0);
44410
+ });
44411
+ return badges;
43766
44412
  }
43767
44413
  function groupName(group) {
43768
44414
  const labelledBy = group.getAttribute("aria-labelledby");
@@ -43795,7 +44441,34 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
43795
44441
  }
43796
44442
  const name = groupName(group);
43797
44443
  const matches = snapshot.groups.filter((candidate) => compact$1(candidate.name) === name);
43798
- return matches.length === 1 ? matches[0].id : void 0;
44444
+ if (matches.length === 1) return matches[0].id;
44445
+ if (matches.length > 1) return void 0;
44446
+ return providerByModels(snapshot, group);
44447
+ }
44448
+ /**
44449
+ * Resolve a section to its provider from the rows it renders.
44450
+ *
44451
+ * The picker's group heading stopped carrying the provider id: `MenuGroup`
44452
+ * renders `aria-labelledby={useId()}` with a plain-text label, so the old
44453
+ * `${reactId}-${group.id}` suffix (and the display-name fallback) both miss when
44454
+ * the label is overridden. The rows do not miss: every row's `title` is its
44455
+ * model name, and a model id belongs to the provider that serves it.
44456
+ *
44457
+ * A section is claimed only when exactly one candidate carries *all* of its row
44458
+ * labels, so two providers offering the same routes stay ambiguous and are
44459
+ * skipped rather than bound to the wrong section.
44460
+ * @param snapshot - the picker directory.
44461
+ * @param group - the rendered `section[role="group"]`.
44462
+ * @returns the provider id, or undefined when no single provider owns every row.
44463
+ */
44464
+ function providerByModels(snapshot, group) {
44465
+ const labels = [...group.querySelectorAll("button[role=\"menuitemradio\"][title]")].map((row) => compact$1(row.dataset.fcgModelOriginalTitle ?? row.getAttribute("title") ?? "")).filter((label) => label !== "");
44466
+ if (labels.length === 0) return void 0;
44467
+ const candidates = snapshot.groups.filter((candidate) => {
44468
+ const names = new Set(candidate.models.flatMap((model) => [compact$1(model.name), compact$1(model.id)]));
44469
+ return labels.every((label) => names.has(label));
44470
+ });
44471
+ return candidates.length === 1 ? candidates[0].id : void 0;
43799
44472
  }
43800
44473
  function modelForRow(snapshot, group, label) {
43801
44474
  const normalizedLabel = compact$1(label);
@@ -43835,7 +44508,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
43835
44508
  group
43836
44509
  };
43837
44510
  }
43838
- function decorateVisibleModelLabel(row, provider, model, fallback, multiplier) {
44511
+ function decorateVisibleModelLabel(row, provider, model, fallback) {
43839
44512
  const label = visibleModelLabel(provider, model, fallback);
43840
44513
  const split = splitGatewayGroupLabel(provider, label);
43841
44514
  let target = row.querySelector("[data-fcg-model-visible-label]");
@@ -43864,8 +44537,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
43864
44537
  group.dataset.fcgModelGroup = "true";
43865
44538
  target.after(group);
43866
44539
  }
43867
- const groupText = multiplier === void 0 ? split.group : `${split.group} · ${multiplier}`;
43868
- if (group.textContent !== groupText) group.textContent = groupText;
44540
+ if (group.textContent !== split.group) group.textContent = split.group;
43869
44541
  }
43870
44542
  /** Freeze the picker at its collapsed width.
43871
44543
  *
@@ -44174,13 +44846,22 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
44174
44846
  /* The group container becomes a flex column only so the decorator can order
44175
44847
  the sections with the order property. Keeping each section at its natural
44176
44848
  height (flex: 0 0 auto) is what lets the container still scroll instead of
44177
- squashing the groups to fit. */
44178
- [role="menu"] [data-fcg-group-ordered="true"] { display: flex; flex-direction: column; }
44179
- [role="menu"] [data-fcg-group-ordered="true"] > section[role="group"] { flex: 0 0 auto; }
44180
- [role="menu"] [class*="groups"] { scrollbar-width: thin; scrollbar-color: var(--dsw-alias-scrollbar-bg-l2, #c4c8cf) transparent; }
44181
- [role="menu"] [class*="groups"]::-webkit-scrollbar { width: 6px; height: 6px; }
44182
- [role="menu"] [class*="groups"]::-webkit-scrollbar-thumb { border-radius: 999px; background: var(--dsw-alias-scrollbar-bg-l2, #c4c8cf); }
44183
- [role="menu"] [class*="groups"]::-webkit-scrollbar-track { background: transparent; }
44849
+ squashing the groups to fit.
44850
+
44851
+ Keyed on the decorator's own attribute rather than on a [role=menu]
44852
+ ancestor: the picker used to put role=menu on the outer surface with the
44853
+ scrolling container inside it, and now puts it on the container itself.
44854
+ A descendant combinator matched the first shape and missed the second,
44855
+ which silently dropped the ordering (the order property is inert outside
44856
+ a flex container). */
44857
+ [data-fcg-group-ordered="true"] { display: flex; flex-direction: column; }
44858
+ [data-fcg-group-ordered="true"] > section[role="group"] { flex: 0 0 auto; }
44859
+ /* Same shape change for the scroll container: it may be the role=menu
44860
+ element itself or a descendant of it, so both are named. */
44861
+ [role="menu"][class*="groups"], [role="menu"] [class*="groups"] { scrollbar-width: thin; scrollbar-color: var(--dsw-alias-scrollbar-bg-l2, #c4c8cf) transparent; }
44862
+ [role="menu"][class*="groups"]::-webkit-scrollbar, [role="menu"] [class*="groups"]::-webkit-scrollbar { width: 6px; height: 6px; }
44863
+ [role="menu"][class*="groups"]::-webkit-scrollbar-thumb, [role="menu"] [class*="groups"]::-webkit-scrollbar-thumb { border-radius: 999px; background: var(--dsw-alias-scrollbar-bg-l2, #c4c8cf); }
44864
+ [role="menu"][class*="groups"]::-webkit-scrollbar-track, [role="menu"] [class*="groups"]::-webkit-scrollbar-track { background: transparent; }
44184
44865
  button[data-fcg-model-unavailable="true"] { cursor: not-allowed !important; filter: grayscale(.72); opacity: .48; }
44185
44866
  [role="menu"][data-fcg-width-pinned="true"] button[role="menuitemradio"] [class*="optionCopy"] { min-width: 0; overflow: hidden; }
44186
44867
  /* The gateway row's billing group gets its own line under the model name:
@@ -44189,7 +44870,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
44189
44870
  button[role="menuitemradio"] [class*="optionCopy"]:has([data-fcg-model-group]) { display: flex; flex-direction: column; align-items: flex-start; }
44190
44871
  [data-fcg-model-group] { display: block; max-width: 100%; margin-top: 1px; overflow: hidden; color: var(--dsw-alias-label-secondary, var(--fcg-text-tertiary)); font: 400 11px/15px var(--fcg-font-mono, ui-monospace), ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; text-overflow: ellipsis; white-space: nowrap; }
44191
44872
  [role="menu"][data-fcg-width-pinned="true"] button[role="menuitemradio"] [data-fcg-model-visible-label] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
44192
- [role="menu"][data-fcg-width-pinned="true"] [class*="groups"] { overflow-x: hidden; }
44873
+ [role="menu"][data-fcg-width-pinned="true"][class*="groups"], [role="menu"][data-fcg-width-pinned="true"] [class*="groups"] { overflow-x: hidden; }
44193
44874
  `;
44194
44875
  document.head.append(style);
44195
44876
  }
@@ -44217,7 +44898,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
44217
44898
  continue;
44218
44899
  }
44219
44900
  if (row.dataset.fcgModelHidden === "true") delete row.dataset.fcgModelHidden;
44220
- decorateVisibleModelLabel(row, provider, model, originalTitle, presentation?.multiplier);
44901
+ decorateVisibleModelLabel(row, provider, model, originalTitle);
44221
44902
  const availability = provider === void 0 ? void 0 : options.availability?.().get(`${provider}\u0000${model.id}`);
44222
44903
  const unavailable = availability?.available === false;
44223
44904
  if (!unavailable && row.dataset.fcgModelUnavailable === "true") {
@@ -44231,7 +44912,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
44231
44912
  }
44232
44913
  if (presentation === void 0 && !unavailable) continue;
44233
44914
  const language = options.language();
44234
- const values = labels(language, availability);
44915
+ const values = labels(language, availability, presentation?.access === "multiplier" ? presentation.multiplier : void 0);
44235
44916
  const gate = availability?.reason !== "CLINE_MODEL_RATE_LIMITED";
44236
44917
  if (unavailable) {
44237
44918
  const message = unavailableMessage(availability?.reason, language);
@@ -47126,7 +47807,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
47126
47807
  * @returns the bar, the dialogs a click opens, or null while there is nothing to show.
47127
47808
  */
47128
47809
  function AnnouncementBar(props) {
47129
- const { text, items, unread, preference, close, setBar } = useAnnouncementFeed(props);
47810
+ const { text, items, unread, close } = useAnnouncementFeed(props);
47130
47811
  const [panel, setPanel] = (0, react.useState)();
47131
47812
  const labels = useMarkdownLabels(text);
47132
47813
  const current = unread[0];
@@ -47137,7 +47818,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
47137
47818
  setPanel((currentPanel) => currentPanel !== void 0 && currentPanel.kind === "detail" && currentPanel.id === announcement.id ? void 0 : currentPanel);
47138
47819
  }, [close]);
47139
47820
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
47140
- current !== void 0 && preference.bar ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
47821
+ current !== void 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
47141
47822
  className: `${announcement_bar_module_css_default.bar} ${current.notifyMode === "popup" ? announcement_bar_module_css_default.urgent : announcement_bar_module_css_default.bonus}`,
47142
47823
  role: "status",
47143
47824
  "aria-label": text.barLabel,
@@ -47188,16 +47869,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
47188
47869
  },
47189
47870
  title: detail?.title ?? "",
47190
47871
  closeLabel: text.closeDialog,
47191
- footer: detail === void 0 ? void 0 : /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
47192
- className: announcement_bar_module_css_default.switch,
47193
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
47194
- type: "checkbox",
47195
- checked: preference.bar,
47196
- onChange: (event) => {
47197
- setBar(event.target.checked);
47198
- }
47199
- }), text.showBar]
47200
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
47872
+ footer: detail === void 0 ? void 0 : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
47201
47873
  className: announcement_bar_module_css_default.footerButtons,
47202
47874
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
47203
47875
  className: announcement_bar_module_css_default.primary,
@@ -47207,7 +47879,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
47207
47879
  },
47208
47880
  children: text.gotIt
47209
47881
  })
47210
- })] }),
47882
+ }),
47211
47883
  children: detail === void 0 ? null : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
47212
47884
  className: announcement_bar_module_css_default.document,
47213
47885
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.MarkdownText, {
@@ -47225,16 +47897,6 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
47225
47897
  title: text.listTitle,
47226
47898
  closeLabel: text.closeDialog,
47227
47899
  description: text.listDetail,
47228
- footer: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
47229
- className: announcement_bar_module_css_default.switch,
47230
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
47231
- type: "checkbox",
47232
- checked: preference.bar,
47233
- onChange: (event) => {
47234
- setBar(event.target.checked);
47235
- }
47236
- }), text.showBar]
47237
- }),
47238
47900
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(AnnouncementRows, {
47239
47901
  items,
47240
47902
  text,
@@ -47289,83 +47951,6 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
47289
47951
  }, item.id))
47290
47952
  });
47291
47953
  }
47292
- /**
47293
- * The settings section: the announcement history, and the switch that brings the
47294
- * bar back.
47295
- *
47296
- * This is the other half of "hide the bar" — the bar's own switch disappears with
47297
- * the bar, so a section that lists the same feed is what keeps a hidden notice
47298
- * reachable rather than lost.
47299
- * @param props - the backend calls and the locale to render in.
47300
- * @returns the section's rows and its switch.
47301
- */
47302
- function AnnouncementSettingsSection(props) {
47303
- const { text, items, preference, close, setBar } = useAnnouncementFeed(props);
47304
- const [openId, setOpenId] = (0, react.useState)();
47305
- const labels = useMarkdownLabels(text);
47306
- const detail = openId === void 0 ? void 0 : items.find((item) => item.id === openId);
47307
- return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("section", {
47308
- className: announcement_bar_module_css_default.section,
47309
- children: [
47310
- /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
47311
- className: announcement_bar_module_css_default.switch,
47312
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
47313
- type: "checkbox",
47314
- checked: preference.bar,
47315
- onChange: (event) => {
47316
- setBar(event.target.checked);
47317
- }
47318
- }), text.showBar]
47319
- }),
47320
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)("small", {
47321
- className: announcement_bar_module_css_default.sectionHint,
47322
- children: text.showBarHint
47323
- }),
47324
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
47325
- className: announcement_bar_module_css_default.sectionHint,
47326
- children: text.settingsDetail
47327
- }),
47328
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(AnnouncementRows, {
47329
- items,
47330
- text,
47331
- onOpen: (id) => {
47332
- setOpenId(id);
47333
- },
47334
- onMarkRead: (announcement) => {
47335
- close(announcement);
47336
- }
47337
- }),
47338
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.Modal, {
47339
- open: detail !== void 0,
47340
- onClose: () => {
47341
- setOpenId(void 0);
47342
- },
47343
- title: detail?.title ?? "",
47344
- closeLabel: text.closeDialog,
47345
- footer: detail === void 0 ? void 0 : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
47346
- className: announcement_bar_module_css_default.footerButtons,
47347
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
47348
- className: announcement_bar_module_css_default.primary,
47349
- type: "button",
47350
- onClick: () => {
47351
- close(detail);
47352
- setOpenId(void 0);
47353
- },
47354
- children: detail.readAt === void 0 ? text.gotIt : text.closeDialog
47355
- })
47356
- }),
47357
- children: detail === void 0 ? null : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
47358
- className: announcement_bar_module_css_default.document,
47359
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.MarkdownText, {
47360
- text: detail.content,
47361
- labels,
47362
- variant: "compact"
47363
- })
47364
- })
47365
- })
47366
- ]
47367
- });
47368
- }
47369
47954
  //#endregion
47370
47955
  //#region src/client/index.ts
47371
47956
  const NS = "settings.freecodego";
@@ -48224,12 +48809,18 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
48224
48809
  vyceStatus: () => backendCall("vyceStatus"),
48225
48810
  vyceSetKey: (value) => backendCall("vyceSetKey", value),
48226
48811
  logfareStatus: () => backendCall("logfareStatus"),
48227
- logfareRegister: (input) => backendCall("logfareRegister", input),
48812
+ logfareLogin: (input) => backendCall("logfareLogin", input),
48228
48813
  logfareSetTrainingOptIn: (enabled) => backendCall("logfareSetTrainingOptIn", enabled),
48229
48814
  sensenovaStatus: () => backendCall("sensenovaStatus"),
48230
48815
  sensenovaSetKey: (value) => backendCall("sensenovaSetKey", value),
48231
48816
  nvidiaStatus: () => backendCall("nvidiaStatus"),
48232
48817
  nvidiaSetKey: (value) => backendCall("nvidiaSetKey", value),
48818
+ antSeedStatus: () => backendCall("antSeedStatus"),
48819
+ antSeedInstall: () => backendCall("antSeedInstall"),
48820
+ antSeedSetGateway: (enabled) => backendCall("antSeedSetGateway", enabled),
48821
+ antSeedRevealIdentity: () => backendCall("antSeedRevealIdentity"),
48822
+ antSeedSetIdentity: (privateKeyHex) => backendCall("antSeedSetIdentity", privateKeyHex),
48823
+ antSeedGenerateIdentity: () => backendCall("antSeedGenerateIdentity"),
48233
48824
  speechStatus: () => backendCall("speechStatus"),
48234
48825
  speechSetRoute: (input) => backendCall("speechSetRoute", input),
48235
48826
  speechTest: () => backendCall("speechTest"),
@@ -48318,7 +48909,8 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
48318
48909
  readLocalCapabilities: async () => {
48319
48910
  const fallback = {
48320
48911
  voiceInputEnabled: true,
48321
- sessionDeleteEnabled: true
48912
+ sessionDeleteEnabled: true,
48913
+ customApiReasoningEnabled: true
48322
48914
  };
48323
48915
  let value;
48324
48916
  try {
@@ -48328,13 +48920,17 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
48328
48920
  }
48329
48921
  return {
48330
48922
  voiceInputEnabled: value.voiceInputEnabled !== false,
48331
- sessionDeleteEnabled: value.sessionDeleteEnabled !== false
48923
+ sessionDeleteEnabled: value.sessionDeleteEnabled !== false,
48924
+ customApiReasoningEnabled: value.customApiReasoningEnabled !== false
48332
48925
  };
48333
48926
  },
48334
48927
  capabilitiesSetEnabled: (input) => backendCall("capabilitiesSetEnabled", input),
48335
48928
  setLocalCapability: async (key, value) => {
48336
48929
  await updateFreeCodeGoSettings({ [key]: value });
48337
48930
  },
48931
+ customApiReasoningSet: async (enabled) => {
48932
+ await updateFreeCodeGoSettings({ customApiReasoningEnabled: enabled });
48933
+ },
48338
48934
  setModelCategoryDirect: async (key, category) => {
48339
48935
  const value = await readFreeCodeGoSettings();
48340
48936
  await updateFreeCodeGoSettings({ modelCategories: {
@@ -48526,17 +49122,6 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
48526
49122
  language: settingsLanguage()
48527
49123
  })
48528
49124
  }, AnnouncementBar)));
48529
- ctx.inject(["slots"], (scope) => scope.slots.inject("settings.section", () => scope.slots.register({
48530
- name: "settings.section",
48531
- id: "freecodego-announcements",
48532
- order: 36,
48533
- label: () => t("announcements"),
48534
- locale: NS,
48535
- inject: () => ({
48536
- ...announcementFeed,
48537
- language: settingsLanguage()
48538
- })
48539
- }, AnnouncementSettingsSection)));
48540
49125
  ctx.inject(["slots", "sessions"], (scope) => scope.slots.inject("settings.section", () => {
48541
49126
  let disposeEngineering;
48542
49127
  let registrationEpoch = 0;