@dotobokuri/fleet-console 1.51.0 → 1.52.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +10 -5
- package/README.md +10 -8
- package/dist/cli.d.ts +3 -0
- package/dist/cli.mjs +8473 -8345
- package/dist/client/assets/{_baseUniq-DFtleNrY.js → _baseUniq-CYpcPDgB.js} +1 -1
- package/dist/client/assets/{arc-CZWcxz4p.js → arc-BuehZLUz.js} +1 -1
- package/dist/client/assets/{architectureDiagram-Q4EWVU46-CoLGMUbn.js → architectureDiagram-Q4EWVU46-Bqn18zpp.js} +1 -1
- package/dist/client/assets/{blockDiagram-DXYQGD6D-d4tcUrvS.js → blockDiagram-DXYQGD6D-DmtLdC53.js} +1 -1
- package/dist/client/assets/{c4Diagram-AHTNJAMY-CcDJVtsE.js → c4Diagram-AHTNJAMY-BEBhZ5GG.js} +1 -1
- package/dist/client/assets/channel-BQlgz3sc.js +1 -0
- package/dist/client/assets/{chunk-4BX2VUAB-BxQcCCSB.js → chunk-4BX2VUAB-B8PizWjA.js} +1 -1
- package/dist/client/assets/{chunk-4TB4RGXK-C1iJwPC-.js → chunk-4TB4RGXK-C1ofR8zt.js} +1 -1
- package/dist/client/assets/{chunk-55IACEB6-Du7lkUwv.js → chunk-55IACEB6-CbKQ3d6C.js} +1 -1
- package/dist/client/assets/{chunk-EDXVE4YY-Chblko53.js → chunk-EDXVE4YY-DU-bru4J.js} +1 -1
- package/dist/client/assets/{chunk-FMBD7UC4-B4fgWiDf.js → chunk-FMBD7UC4-DD9GbN05.js} +1 -1
- package/dist/client/assets/{chunk-OYMX7WX6-BXyyJDJI.js → chunk-OYMX7WX6-DZKa6Wtf.js} +1 -1
- package/dist/client/assets/{chunk-QZHKN3VN-BXAPpxgc.js → chunk-QZHKN3VN-fK2o17Jf.js} +1 -1
- package/dist/client/assets/{chunk-YZCP3GAM-BuEMjN4I.js → chunk-YZCP3GAM-z-7p86Bc.js} +1 -1
- package/dist/client/assets/classDiagram-6PBFFD2Q-CQs4cWly.js +1 -0
- package/dist/client/assets/classDiagram-v2-HSJHXN6E-CQs4cWly.js +1 -0
- package/dist/client/assets/clone-B5bOHdOg.js +1 -0
- package/dist/client/assets/{cose-bilkent-S5V4N54A-Bk4ys4DX.js → cose-bilkent-S5V4N54A-x5L9kNFv.js} +1 -1
- package/dist/client/assets/{dagre-KV5264BT-8e2uOIAZ.js → dagre-KV5264BT-944maqqT.js} +1 -1
- package/dist/client/assets/{diagram-5BDNPKRD-BUaee6EH.js → diagram-5BDNPKRD-PV4GQ8C6.js} +1 -1
- package/dist/client/assets/{diagram-G4DWMVQ6-Y0F_eev2.js → diagram-G4DWMVQ6-GcoFZYg0.js} +1 -1
- package/dist/client/assets/{diagram-MMDJMWI5-DeqlMgQv.js → diagram-MMDJMWI5-8cIlnSEJ.js} +1 -1
- package/dist/client/assets/{diagram-TYMM5635-DqtnAuqr.js → diagram-TYMM5635-BlIMSlQ5.js} +1 -1
- package/dist/client/assets/{erDiagram-SMLLAGMA-BBGN7fOL.js → erDiagram-SMLLAGMA-KjlbhDy3.js} +1 -1
- package/dist/client/assets/{flowDiagram-DWJPFMVM-C0WwXtcb.js → flowDiagram-DWJPFMVM-DqYNn08z.js} +1 -1
- package/dist/client/assets/{ganttDiagram-T4ZO3ILL-D00_-gLK.js → ganttDiagram-T4ZO3ILL-BplrlRlU.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-UUTBAWPF-D9-J9LVn.js → gitGraphDiagram-UUTBAWPF-CISgtHAu.js} +1 -1
- package/dist/client/assets/{graph-DbpxB806.js → graph-DaTRgbvC.js} +1 -1
- package/dist/client/assets/index-DVQ5EO_a.css +1 -0
- package/dist/client/assets/index-alR6ElCr.js +479 -0
- package/dist/client/assets/{infoDiagram-42DDH7IO-CoV_lg2_.js → infoDiagram-42DDH7IO-BbFeDUi-.js} +1 -1
- package/dist/client/assets/{ishikawaDiagram-UXIWVN3A-DV9-YHTX.js → ishikawaDiagram-UXIWVN3A-BQTo9ri4.js} +1 -1
- package/dist/client/assets/{journeyDiagram-VCZTEJTY-CFY3HNeL.js → journeyDiagram-VCZTEJTY-CiRkOhp8.js} +1 -1
- package/dist/client/assets/{kanban-definition-6JOO6SKY-BsN5X8OC.js → kanban-definition-6JOO6SKY-IIn_MSzy.js} +1 -1
- package/dist/client/assets/{layout-EvZfc466.js → layout-Cr58D4FS.js} +1 -1
- package/dist/client/assets/{linear-ConFN_kQ.js → linear-DNaIPcgl.js} +1 -1
- package/dist/client/assets/{mermaid.core-q1Rp6XrX.js → mermaid.core-Dq_ukAsT.js} +4 -4
- package/dist/client/assets/{min-CgGOD4w3.js → min-DpLyTgPW.js} +1 -1
- package/dist/client/assets/{mindmap-definition-QFDTVHPH-CLvM_zrO.js → mindmap-definition-QFDTVHPH-C2DLYGq2.js} +1 -1
- package/dist/client/assets/{pieDiagram-DEJITSTG-Bw7QTbiY.js → pieDiagram-DEJITSTG-C3Cxmz-n.js} +1 -1
- package/dist/client/assets/{quadrantDiagram-34T5L4WZ-CJZW6aCq.js → quadrantDiagram-34T5L4WZ-CEdmiODY.js} +1 -1
- package/dist/client/assets/{requirementDiagram-MS252O5E-CMUb9ODK.js → requirementDiagram-MS252O5E-B-Vj0Wyw.js} +1 -1
- package/dist/client/assets/{sankeyDiagram-XADWPNL6-DnjQJPPQ.js → sankeyDiagram-XADWPNL6-CyvEd7TA.js} +1 -1
- package/dist/client/assets/{sequenceDiagram-FGHM5R23-BQLWPMCP.js → sequenceDiagram-FGHM5R23-B2MiPHOT.js} +1 -1
- package/dist/client/assets/{stateDiagram-FHFEXIEX-CYUxN4zL.js → stateDiagram-FHFEXIEX-Dsa-VSCx.js} +1 -1
- package/dist/client/assets/stateDiagram-v2-QKLJ7IA2-BKHWSGsO.js +1 -0
- package/dist/client/assets/{timeline-definition-GMOUNBTQ-DakKVVdc.js → timeline-definition-GMOUNBTQ-B9p0xkPR.js} +1 -1
- package/dist/client/assets/{vennDiagram-DHZGUBPP-CjJALOSl.js → vennDiagram-DHZGUBPP-DeU4CNd8.js} +1 -1
- package/dist/client/assets/{wardley-RL74JXVD-DNN6iyI_.js → wardley-RL74JXVD-BQyG38I_.js} +1 -1
- package/dist/client/assets/{wardleyDiagram-NUSXRM2D-CuoFFC8W.js → wardleyDiagram-NUSXRM2D-DjrdDkEs.js} +1 -1
- package/dist/client/assets/{xychartDiagram-5P7HB3ND-CLeb77Ra.js → xychartDiagram-5P7HB3ND-CG0KUfn_.js} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/fleet-plugins/ledger/routes.mjs +40 -16487
- package/dist/fleet-plugins/quota/routes.mjs +352 -95
- package/dist/fleet-plugins/repository/routes.mjs +63 -7
- package/dist/fleet-plugins/scuttlebutt/routes.mjs +4954 -6895
- package/dist/fleet-plugins/skills/routes.mjs +58 -16505
- package/dist/fleet-plugins/terminal/routes.mjs +22555 -33426
- package/dist/fleet.mjs +54671 -0
- package/package.json +6 -4
- package/dist/client/assets/channel-BkjngaUP.js +0 -1
- package/dist/client/assets/classDiagram-6PBFFD2Q-Bcn4Byd0.js +0 -1
- package/dist/client/assets/classDiagram-v2-HSJHXN6E-Bcn4Byd0.js +0 -1
- package/dist/client/assets/clone-HJ2xLTt3.js +0 -1
- package/dist/client/assets/index-BhOzl99v.css +0 -1
- package/dist/client/assets/index-Bnx3O7Op.js +0 -482
- package/dist/client/assets/stateDiagram-v2-QKLJ7IA2-BqJUiDHN.js +0 -1
|
@@ -17447,8 +17447,12 @@ function fileDesc(b64, imports) {
|
|
|
17447
17447
|
return reg.getFile(root.name);
|
|
17448
17448
|
}
|
|
17449
17449
|
var FLEET_DATA_DIR_NAME = ".fleet";
|
|
17450
|
-
|
|
17451
|
-
|
|
17450
|
+
var FLEET_DATA_DIR_ENV = "FLEET_DATA_DIR";
|
|
17451
|
+
function getFleetDataDir(env = process.env) {
|
|
17452
|
+
const override = env[FLEET_DATA_DIR_ENV];
|
|
17453
|
+
if (override === void 0 || override.trim().length === 0) return path32.join(os3.homedir(), FLEET_DATA_DIR_NAME);
|
|
17454
|
+
if (!path32.isAbsolute(override)) throw new Error(`${FLEET_DATA_DIR_ENV} must be an absolute path, received: ${override}`);
|
|
17455
|
+
return override;
|
|
17452
17456
|
}
|
|
17453
17457
|
var SECURE_DIR_MODE = 448;
|
|
17454
17458
|
var SECURE_FILE_MODE = 384;
|
|
@@ -17806,9 +17810,103 @@ var REASONING_EFFORTS = [
|
|
|
17806
17810
|
new Map(
|
|
17807
17811
|
REASONING_EFFORTS.map((effort, index) => [effort, index])
|
|
17808
17812
|
);
|
|
17813
|
+
var benchmarks_default = {
|
|
17814
|
+
version: 2,
|
|
17815
|
+
sources: {
|
|
17816
|
+
cursorbench: {
|
|
17817
|
+
name: "CursorBench",
|
|
17818
|
+
benchVersion: "3.2",
|
|
17819
|
+
observedAt: "2026-07-30T00:00:00Z",
|
|
17820
|
+
url: "https://cursor.com/cursorbench",
|
|
17821
|
+
method: "Third-party agentic-coding benchmark: ambiguous multi-file tasks from real Cursor sessions, run in Cursor's own harness. Scores are evidence about the vendor model and transfer across gateway providers serving it; token and step figures are harness-relative efficiency signals, not billing facts.",
|
|
17822
|
+
routingTieBandPoints: 2
|
|
17823
|
+
}
|
|
17824
|
+
},
|
|
17825
|
+
models: {
|
|
17826
|
+
"gpt-5.6-sol": {
|
|
17827
|
+
source: "cursorbench",
|
|
17828
|
+
rungs: {
|
|
17829
|
+
low: { score: 52.6, tokensPerTask: 5104, stepsPerTask: 19 },
|
|
17830
|
+
medium: { score: 60, tokensPerTask: 9747, stepsPerTask: 27 },
|
|
17831
|
+
high: { score: 63.5, tokensPerTask: 13867, stepsPerTask: 32 },
|
|
17832
|
+
xhigh: { score: 64.5, tokensPerTask: 19699, stepsPerTask: 38 },
|
|
17833
|
+
max: { score: 67.2, tokensPerTask: 28320, stepsPerTask: 48 }
|
|
17834
|
+
}
|
|
17835
|
+
},
|
|
17836
|
+
"gpt-5.6-terra": {
|
|
17837
|
+
source: "cursorbench",
|
|
17838
|
+
rungs: {
|
|
17839
|
+
low: { score: 46.9, tokensPerTask: 5312, stepsPerTask: 19 },
|
|
17840
|
+
medium: { score: 50.3, tokensPerTask: 6222, stepsPerTask: 20 },
|
|
17841
|
+
high: { score: 54.2, tokensPerTask: 9468, stepsPerTask: 23 },
|
|
17842
|
+
xhigh: { score: 59.2, tokensPerTask: 16089, stepsPerTask: 29 },
|
|
17843
|
+
max: { score: 64.9, tokensPerTask: 32969, stepsPerTask: 47 }
|
|
17844
|
+
}
|
|
17845
|
+
},
|
|
17846
|
+
"gpt-5.6-luna": {
|
|
17847
|
+
source: "cursorbench",
|
|
17848
|
+
rungs: {
|
|
17849
|
+
low: { score: 37.6, tokensPerTask: 3209, stepsPerTask: 17 },
|
|
17850
|
+
medium: { score: 47.7, tokensPerTask: 7095, stepsPerTask: 28 },
|
|
17851
|
+
high: { score: 56.8, tokensPerTask: 15141, stepsPerTask: 40 },
|
|
17852
|
+
xhigh: { score: 57.7, tokensPerTask: 22480, stepsPerTask: 48 },
|
|
17853
|
+
max: { score: 61.1, tokensPerTask: 87973, stepsPerTask: 61 }
|
|
17854
|
+
}
|
|
17855
|
+
},
|
|
17856
|
+
"grok-4.5": {
|
|
17857
|
+
source: "cursorbench",
|
|
17858
|
+
rungs: {
|
|
17859
|
+
low: { score: 63.5, tokensPerTask: 15841, stepsPerTask: 31 },
|
|
17860
|
+
medium: { score: 65.4, tokensPerTask: 18914, stepsPerTask: 34 },
|
|
17861
|
+
high: { score: 66.7, tokensPerTask: 19521, stepsPerTask: 33 }
|
|
17862
|
+
},
|
|
17863
|
+
caveat: "Bench footnote: an earlier snapshot of Cursor's codebase was unintentionally present in this model's training data, inflating scores by an unknown amount; the advantage does not transfer to other repositories."
|
|
17864
|
+
},
|
|
17865
|
+
"kimi-k3": {
|
|
17866
|
+
source: "cursorbench",
|
|
17867
|
+
rungs: {
|
|
17868
|
+
low: { score: 50.5, tokensPerTask: 13007, stepsPerTask: 33 },
|
|
17869
|
+
high: { score: 59.7, tokensPerTask: 26846, stepsPerTask: 47 },
|
|
17870
|
+
max: { score: 60.8, tokensPerTask: 38428, stepsPerTask: 57 }
|
|
17871
|
+
}
|
|
17872
|
+
},
|
|
17873
|
+
"composer-2.5": {
|
|
17874
|
+
source: "cursorbench",
|
|
17875
|
+
overall: { score: 56.1, tokensPerTask: 14286, stepsPerTask: 33 }
|
|
17876
|
+
},
|
|
17877
|
+
"glm-5.2": {
|
|
17878
|
+
source: "cursorbench",
|
|
17879
|
+
rungs: {
|
|
17880
|
+
high: { score: 51.5, tokensPerTask: 21829, stepsPerTask: 49 },
|
|
17881
|
+
max: { score: 55, tokensPerTask: 35946, stepsPerTask: 58 }
|
|
17882
|
+
},
|
|
17883
|
+
caveat: "Measured per reasoning rung, but the gateway serves this model without effort control; which rung the serving path reaches is unknown."
|
|
17884
|
+
},
|
|
17885
|
+
"claude-opus-5": {
|
|
17886
|
+
source: "cursorbench",
|
|
17887
|
+
rungs: {
|
|
17888
|
+
low: { score: 62.8, tokensPerTask: 18529, stepsPerTask: 37 },
|
|
17889
|
+
medium: { score: 64.3, tokensPerTask: 23612, stepsPerTask: 44 },
|
|
17890
|
+
high: { score: 66.7, tokensPerTask: 27932, stepsPerTask: 48 },
|
|
17891
|
+
xhigh: { score: 69.3, tokensPerTask: 54239, stepsPerTask: 72 },
|
|
17892
|
+
max: { score: 70, tokensPerTask: 61838, stepsPerTask: 78 }
|
|
17893
|
+
}
|
|
17894
|
+
},
|
|
17895
|
+
"claude-fable-5": {
|
|
17896
|
+
source: "cursorbench",
|
|
17897
|
+
rungs: {
|
|
17898
|
+
low: { score: 62.1, tokensPerTask: 18182, stepsPerTask: 31 },
|
|
17899
|
+
medium: { score: 65.2, tokensPerTask: 30366, stepsPerTask: 41 },
|
|
17900
|
+
high: { score: 66.5, tokensPerTask: 43747, stepsPerTask: 48 },
|
|
17901
|
+
xhigh: { score: 68.4, tokensPerTask: 64971, stepsPerTask: 56 },
|
|
17902
|
+
max: { score: 70.5, tokensPerTask: 103525, stepsPerTask: 72 }
|
|
17903
|
+
}
|
|
17904
|
+
}
|
|
17905
|
+
}
|
|
17906
|
+
};
|
|
17809
17907
|
var models_default = {
|
|
17810
17908
|
version: 1,
|
|
17811
|
-
updatedAt: "2026-08-
|
|
17909
|
+
updatedAt: "2026-08-08T00:00:00Z",
|
|
17812
17910
|
providers: {
|
|
17813
17911
|
codex: {
|
|
17814
17912
|
name: "Codex",
|
|
@@ -17833,7 +17931,8 @@ var models_default = {
|
|
|
17833
17931
|
},
|
|
17834
17932
|
aliases: [
|
|
17835
17933
|
"gpt-5.6-sol"
|
|
17836
|
-
]
|
|
17934
|
+
],
|
|
17935
|
+
benchmarkKey: "gpt-5.6-sol"
|
|
17837
17936
|
},
|
|
17838
17937
|
{
|
|
17839
17938
|
modelId: "gpt-5.6-sol-fast",
|
|
@@ -17855,7 +17954,8 @@ var models_default = {
|
|
|
17855
17954
|
},
|
|
17856
17955
|
aliases: [
|
|
17857
17956
|
"gpt-5.6-sol-fast"
|
|
17858
|
-
]
|
|
17957
|
+
],
|
|
17958
|
+
benchmarkKey: "gpt-5.6-sol"
|
|
17859
17959
|
},
|
|
17860
17960
|
{
|
|
17861
17961
|
modelId: "gpt-5.6-terra",
|
|
@@ -17875,7 +17975,8 @@ var models_default = {
|
|
|
17875
17975
|
},
|
|
17876
17976
|
aliases: [
|
|
17877
17977
|
"gpt-5.6-terra"
|
|
17878
|
-
]
|
|
17978
|
+
],
|
|
17979
|
+
benchmarkKey: "gpt-5.6-terra"
|
|
17879
17980
|
},
|
|
17880
17981
|
{
|
|
17881
17982
|
modelId: "gpt-5.6-terra-fast",
|
|
@@ -17897,7 +17998,8 @@ var models_default = {
|
|
|
17897
17998
|
},
|
|
17898
17999
|
aliases: [
|
|
17899
18000
|
"gpt-5.6-terra-fast"
|
|
17900
|
-
]
|
|
18001
|
+
],
|
|
18002
|
+
benchmarkKey: "gpt-5.6-terra"
|
|
17901
18003
|
},
|
|
17902
18004
|
{
|
|
17903
18005
|
modelId: "gpt-5.6-luna",
|
|
@@ -17916,7 +18018,8 @@ var models_default = {
|
|
|
17916
18018
|
},
|
|
17917
18019
|
aliases: [
|
|
17918
18020
|
"gpt-5.6-luna"
|
|
17919
|
-
]
|
|
18021
|
+
],
|
|
18022
|
+
benchmarkKey: "gpt-5.6-luna"
|
|
17920
18023
|
},
|
|
17921
18024
|
{
|
|
17922
18025
|
modelId: "gpt-5.6-luna-fast",
|
|
@@ -17937,7 +18040,8 @@ var models_default = {
|
|
|
17937
18040
|
},
|
|
17938
18041
|
aliases: [
|
|
17939
18042
|
"gpt-5.6-luna-fast"
|
|
17940
|
-
]
|
|
18043
|
+
],
|
|
18044
|
+
benchmarkKey: "gpt-5.6-luna"
|
|
17941
18045
|
}
|
|
17942
18046
|
]
|
|
17943
18047
|
},
|
|
@@ -17961,7 +18065,8 @@ var models_default = {
|
|
|
17961
18065
|
name: "Composer-2.5",
|
|
17962
18066
|
capabilityClass: "flagship",
|
|
17963
18067
|
quotaScope: "auto",
|
|
17964
|
-
contextWindow: 2e5
|
|
18068
|
+
contextWindow: 2e5,
|
|
18069
|
+
benchmarkKey: "composer-2.5"
|
|
17965
18070
|
},
|
|
17966
18071
|
{
|
|
17967
18072
|
modelId: "composer-2.5-fast",
|
|
@@ -17984,7 +18089,8 @@ var models_default = {
|
|
|
17984
18089
|
"high"
|
|
17985
18090
|
],
|
|
17986
18091
|
upstreamModelIdTemplate: "cursor-grok-4.5-{effort}"
|
|
17987
|
-
}
|
|
18092
|
+
},
|
|
18093
|
+
benchmarkKey: "grok-4.5"
|
|
17988
18094
|
},
|
|
17989
18095
|
{
|
|
17990
18096
|
modelId: "grok-4.5-fast",
|
|
@@ -18018,7 +18124,8 @@ var models_default = {
|
|
|
18018
18124
|
"max"
|
|
18019
18125
|
],
|
|
18020
18126
|
upstreamModelIdTemplate: "gpt-5.6-sol-{effort}"
|
|
18021
|
-
}
|
|
18127
|
+
},
|
|
18128
|
+
benchmarkKey: "gpt-5.6-sol"
|
|
18022
18129
|
},
|
|
18023
18130
|
{
|
|
18024
18131
|
modelId: "claude-opus-5",
|
|
@@ -18040,7 +18147,8 @@ var models_default = {
|
|
|
18040
18147
|
xhigh: "claude-opus-5-thinking-xhigh",
|
|
18041
18148
|
max: "claude-opus-5-thinking-max"
|
|
18042
18149
|
}
|
|
18043
|
-
}
|
|
18150
|
+
},
|
|
18151
|
+
benchmarkKey: "claude-opus-5"
|
|
18044
18152
|
},
|
|
18045
18153
|
{
|
|
18046
18154
|
modelId: "claude-fable-5",
|
|
@@ -18059,7 +18167,8 @@ var models_default = {
|
|
|
18059
18167
|
"max"
|
|
18060
18168
|
],
|
|
18061
18169
|
upstreamModelIdTemplate: "claude-fable-5-{effort}"
|
|
18062
|
-
}
|
|
18170
|
+
},
|
|
18171
|
+
benchmarkKey: "claude-fable-5"
|
|
18063
18172
|
},
|
|
18064
18173
|
{
|
|
18065
18174
|
modelId: "kimi-k3-1m",
|
|
@@ -18068,7 +18177,8 @@ var models_default = {
|
|
|
18068
18177
|
quotaScope: "api",
|
|
18069
18178
|
providerModelId: "kimi-k3-max",
|
|
18070
18179
|
contextWindow: 1048576,
|
|
18071
|
-
cursorMaxMode: true
|
|
18180
|
+
cursorMaxMode: true,
|
|
18181
|
+
benchmarkKey: "kimi-k3"
|
|
18072
18182
|
},
|
|
18073
18183
|
{
|
|
18074
18184
|
modelId: "kimi-k3",
|
|
@@ -18083,7 +18193,8 @@ var models_default = {
|
|
|
18083
18193
|
"high"
|
|
18084
18194
|
],
|
|
18085
18195
|
upstreamModelIdTemplate: "kimi-k3-{effort}"
|
|
18086
|
-
}
|
|
18196
|
+
},
|
|
18197
|
+
benchmarkKey: "kimi-k3"
|
|
18087
18198
|
}
|
|
18088
18199
|
]
|
|
18089
18200
|
},
|
|
@@ -18107,7 +18218,8 @@ var models_default = {
|
|
|
18107
18218
|
},
|
|
18108
18219
|
aliases: [
|
|
18109
18220
|
"k3"
|
|
18110
|
-
]
|
|
18221
|
+
],
|
|
18222
|
+
benchmarkKey: "kimi-k3"
|
|
18111
18223
|
},
|
|
18112
18224
|
{
|
|
18113
18225
|
modelId: "k3-256k",
|
|
@@ -18124,14 +18236,15 @@ var models_default = {
|
|
|
18124
18236
|
},
|
|
18125
18237
|
aliases: [
|
|
18126
18238
|
"k3-256k"
|
|
18127
|
-
]
|
|
18239
|
+
],
|
|
18240
|
+
benchmarkKey: "kimi-k3"
|
|
18128
18241
|
}
|
|
18129
18242
|
]
|
|
18130
18243
|
},
|
|
18131
18244
|
opencode: {
|
|
18132
18245
|
name: "OpenCode",
|
|
18133
18246
|
defaultModel: "minimax-m3",
|
|
18134
|
-
source: "live GET https://opencode.ai/zen/go/v1/models + per-model wire probes on /messages, /responses, /chat/completions (2026-08-03); contextWindow cross-checked against models.dev api.json opencode-go entries and oh-my-pi packages/catalog/src/models.json (2026-08-03, both agree). Excluded: mimo-v2-pro/mimo-v2-omni (upstream server_error), hy3-preview (listed but Router.ModelNotFound)",
|
|
18247
|
+
source: "live GET https://opencode.ai/zen/go/v1/models + per-model wire probes on /messages, /responses, /chat/completions (2026-08-03); contextWindow cross-checked against models.dev api.json opencode-go entries and oh-my-pi packages/catalog/src/models.json (2026-08-03, both agree). Excluded: mimo-v2-pro/mimo-v2-omni (upstream server_error), hy3-preview (listed but Router.ModelNotFound); superseded generations removed 2026-08-08 \u2014 the catalog keeps each lineup's current generation only",
|
|
18135
18248
|
models: [
|
|
18136
18249
|
{
|
|
18137
18250
|
modelId: "minimax-m3",
|
|
@@ -18139,48 +18252,12 @@ var models_default = {
|
|
|
18139
18252
|
capabilityClass: "flagship",
|
|
18140
18253
|
contextWindow: 1e6
|
|
18141
18254
|
},
|
|
18142
|
-
{
|
|
18143
|
-
modelId: "minimax-m2.7",
|
|
18144
|
-
name: "MiniMax-M2.7",
|
|
18145
|
-
capabilityClass: "standard",
|
|
18146
|
-
contextWindow: 204800
|
|
18147
|
-
},
|
|
18148
|
-
{
|
|
18149
|
-
modelId: "minimax-m2.5",
|
|
18150
|
-
name: "MiniMax-M2.5",
|
|
18151
|
-
capabilityClass: "standard",
|
|
18152
|
-
contextWindow: 204800
|
|
18153
|
-
},
|
|
18154
18255
|
{
|
|
18155
18256
|
modelId: "qwen3.8-max",
|
|
18156
18257
|
name: "Qwen3.8-Max",
|
|
18157
18258
|
capabilityClass: "flagship",
|
|
18158
18259
|
contextWindow: 1e6
|
|
18159
18260
|
},
|
|
18160
|
-
{
|
|
18161
|
-
modelId: "qwen3.7-max",
|
|
18162
|
-
name: "Qwen3.7-Max",
|
|
18163
|
-
capabilityClass: "standard",
|
|
18164
|
-
contextWindow: 1e6
|
|
18165
|
-
},
|
|
18166
|
-
{
|
|
18167
|
-
modelId: "qwen3.7-plus",
|
|
18168
|
-
name: "Qwen3.7-Plus",
|
|
18169
|
-
capabilityClass: "standard",
|
|
18170
|
-
contextWindow: 1e6
|
|
18171
|
-
},
|
|
18172
|
-
{
|
|
18173
|
-
modelId: "qwen3.6-plus",
|
|
18174
|
-
name: "Qwen3.6-Plus",
|
|
18175
|
-
capabilityClass: "standard",
|
|
18176
|
-
contextWindow: 1e6
|
|
18177
|
-
},
|
|
18178
|
-
{
|
|
18179
|
-
modelId: "qwen3.5-plus",
|
|
18180
|
-
name: "Qwen3.5-Plus",
|
|
18181
|
-
capabilityClass: "standard",
|
|
18182
|
-
contextWindow: 262144
|
|
18183
|
-
},
|
|
18184
18261
|
{
|
|
18185
18262
|
modelId: "gpt-5.6-luna",
|
|
18186
18263
|
name: "GPT-5.6-Luna",
|
|
@@ -18196,7 +18273,8 @@ var models_default = {
|
|
|
18196
18273
|
"xhigh",
|
|
18197
18274
|
"max"
|
|
18198
18275
|
]
|
|
18199
|
-
}
|
|
18276
|
+
},
|
|
18277
|
+
benchmarkKey: "gpt-5.6-luna"
|
|
18200
18278
|
},
|
|
18201
18279
|
{
|
|
18202
18280
|
modelId: "grok-4.5",
|
|
@@ -18211,7 +18289,8 @@ var models_default = {
|
|
|
18211
18289
|
"medium",
|
|
18212
18290
|
"high"
|
|
18213
18291
|
]
|
|
18214
|
-
}
|
|
18292
|
+
},
|
|
18293
|
+
benchmarkKey: "grok-4.5"
|
|
18215
18294
|
},
|
|
18216
18295
|
{
|
|
18217
18296
|
modelId: "deepseek-v4-flash",
|
|
@@ -18232,49 +18311,16 @@ var models_default = {
|
|
|
18232
18311
|
name: "GLM-5.2",
|
|
18233
18312
|
capabilityClass: "flagship",
|
|
18234
18313
|
wire: "chat-completions",
|
|
18235
|
-
contextWindow: 1e6
|
|
18236
|
-
|
|
18237
|
-
{
|
|
18238
|
-
modelId: "glm-5.1",
|
|
18239
|
-
name: "GLM-5.1",
|
|
18240
|
-
capabilityClass: "standard",
|
|
18241
|
-
wire: "chat-completions",
|
|
18242
|
-
contextWindow: 202752
|
|
18243
|
-
},
|
|
18244
|
-
{
|
|
18245
|
-
modelId: "glm-5",
|
|
18246
|
-
name: "GLM-5",
|
|
18247
|
-
capabilityClass: "standard",
|
|
18248
|
-
wire: "chat-completions",
|
|
18249
|
-
contextWindow: 202752
|
|
18314
|
+
contextWindow: 1e6,
|
|
18315
|
+
benchmarkKey: "glm-5.2"
|
|
18250
18316
|
},
|
|
18251
18317
|
{
|
|
18252
18318
|
modelId: "kimi-k3",
|
|
18253
18319
|
name: "Kimi-K3",
|
|
18254
18320
|
capabilityClass: "flagship",
|
|
18255
18321
|
wire: "chat-completions",
|
|
18256
|
-
contextWindow: 1048576
|
|
18257
|
-
|
|
18258
|
-
{
|
|
18259
|
-
modelId: "kimi-k2.7-code",
|
|
18260
|
-
name: "Kimi-K2.7-Code",
|
|
18261
|
-
capabilityClass: "standard",
|
|
18262
|
-
wire: "chat-completions",
|
|
18263
|
-
contextWindow: 262144
|
|
18264
|
-
},
|
|
18265
|
-
{
|
|
18266
|
-
modelId: "kimi-k2.6",
|
|
18267
|
-
name: "Kimi-K2.6",
|
|
18268
|
-
capabilityClass: "standard",
|
|
18269
|
-
wire: "chat-completions",
|
|
18270
|
-
contextWindow: 262144
|
|
18271
|
-
},
|
|
18272
|
-
{
|
|
18273
|
-
modelId: "kimi-k2.5",
|
|
18274
|
-
name: "Kimi-K2.5",
|
|
18275
|
-
capabilityClass: "standard",
|
|
18276
|
-
wire: "chat-completions",
|
|
18277
|
-
contextWindow: 262144
|
|
18322
|
+
contextWindow: 1048576,
|
|
18323
|
+
benchmarkKey: "kimi-k3"
|
|
18278
18324
|
},
|
|
18279
18325
|
{
|
|
18280
18326
|
modelId: "mimo-v2.5-pro",
|
|
@@ -18330,10 +18376,44 @@ var GatewayModelEffortSchema = external_exports.discriminatedUnion("supported",
|
|
|
18330
18376
|
]);
|
|
18331
18377
|
var GATEWAY_QUOTA_SCOPES = ["auto", "api"];
|
|
18332
18378
|
var GATEWAY_CAPABILITY_CLASSES = ["flagship", "standard", "light"];
|
|
18379
|
+
var GatewayBenchmarkFiguresSchema = external_exports.object({
|
|
18380
|
+
score: external_exports.number().positive().max(100),
|
|
18381
|
+
tokensPerTask: external_exports.number().int().positive(),
|
|
18382
|
+
stepsPerTask: external_exports.number().int().positive().optional()
|
|
18383
|
+
}).strict();
|
|
18384
|
+
var GatewayBenchmarkSourceSchema = external_exports.object({
|
|
18385
|
+
name: external_exports.string().min(1),
|
|
18386
|
+
benchVersion: external_exports.string().min(1),
|
|
18387
|
+
observedAt: external_exports.iso.datetime(),
|
|
18388
|
+
url: external_exports.string().min(1),
|
|
18389
|
+
method: external_exports.string().min(1),
|
|
18390
|
+
/**
|
|
18391
|
+
* Fleet가 라우팅상 동률로 취급하는 점수 폭. **소스가 발표한 통계값이 아니라 Fleet의
|
|
18392
|
+
* 보수적 라우팅 정책이다** — CursorBench는 동률 임계값을 발표하지 않는다. 그래서 이
|
|
18393
|
+
* 값은 소스를 서술하는 `method`가 아니라 여기에 있고, 이름도 소스 쪽 사실처럼 읽히지
|
|
18394
|
+
* 않게 둔다 — 호스트에는 소스 이름 바로 옆에 실려 나가므로, 이름이 근거 등급을
|
|
18395
|
+
* 그대로 말해 버린다.
|
|
18396
|
+
*/
|
|
18397
|
+
routingTieBandPoints: external_exports.number().positive()
|
|
18398
|
+
}).strict();
|
|
18399
|
+
var GatewayBenchmarkModelEntrySchema = external_exports.object({
|
|
18400
|
+
source: external_exports.string().min(1),
|
|
18401
|
+
rungs: external_exports.partialRecord(external_exports.enum(GATEWAY_REASONING_EFFORTS), GatewayBenchmarkFiguresSchema).optional(),
|
|
18402
|
+
overall: GatewayBenchmarkFiguresSchema.optional(),
|
|
18403
|
+
caveat: external_exports.string().min(1).optional()
|
|
18404
|
+
}).strict().refine((entry) => entry.rungs !== void 0 || entry.overall !== void 0, {
|
|
18405
|
+
message: "Gateway benchmark model entry requires rungs or overall"
|
|
18406
|
+
});
|
|
18407
|
+
var GatewayBenchmarksRegistrySchema = external_exports.object({
|
|
18408
|
+
version: external_exports.number().int().positive(),
|
|
18409
|
+
sources: external_exports.record(external_exports.string().min(1), GatewayBenchmarkSourceSchema),
|
|
18410
|
+
models: external_exports.record(external_exports.string().min(1), GatewayBenchmarkModelEntrySchema)
|
|
18411
|
+
}).strict();
|
|
18333
18412
|
var GatewayModelEntrySchema = external_exports.object({
|
|
18334
18413
|
modelId: external_exports.string().min(1),
|
|
18335
18414
|
name: external_exports.string().min(1),
|
|
18336
18415
|
capabilityClass: external_exports.enum(GATEWAY_CAPABILITY_CLASSES).optional(),
|
|
18416
|
+
benchmarkKey: external_exports.string().min(1).optional(),
|
|
18337
18417
|
description: external_exports.string().min(1).optional(),
|
|
18338
18418
|
providerModelId: external_exports.string().min(1).optional(),
|
|
18339
18419
|
serviceTier: external_exports.literal("priority").optional(),
|
|
@@ -18361,13 +18441,28 @@ var GatewayModelsRegistrySchema = external_exports.object({
|
|
|
18361
18441
|
}).strict()
|
|
18362
18442
|
}).strict();
|
|
18363
18443
|
var UNSUPPORTED_GATEWAY_MODEL_EFFORT = Object.freeze({ supported: false });
|
|
18364
|
-
var
|
|
18444
|
+
var benchmarksRegistry = parseGatewayBenchmarksRegistry(benchmarks_default);
|
|
18445
|
+
function parseGatewayBenchmarksRegistry(value) {
|
|
18446
|
+
const parsed = GatewayBenchmarksRegistrySchema.parse(value);
|
|
18447
|
+
for (const [modelKey, entry] of Object.entries(parsed.models)) {
|
|
18448
|
+
if (!parsed.sources[entry.source]) {
|
|
18449
|
+
throw new Error(`Gateway benchmark model entry names an unknown source: ${modelKey} -> ${entry.source}`);
|
|
18450
|
+
}
|
|
18451
|
+
}
|
|
18452
|
+
return parsed;
|
|
18453
|
+
}
|
|
18365
18454
|
function parseGatewayModelsRegistry(value) {
|
|
18366
18455
|
const parsed = GatewayModelsRegistrySchema.parse(value);
|
|
18367
18456
|
validateRegistry(parsed);
|
|
18368
18457
|
return parsed;
|
|
18369
18458
|
}
|
|
18459
|
+
var registry2 = (() => {
|
|
18460
|
+
const parsed = parseGatewayModelsRegistry(models_default);
|
|
18461
|
+
validateBenchmarkCoverage(parsed);
|
|
18462
|
+
return parsed;
|
|
18463
|
+
})();
|
|
18370
18464
|
registry2.updatedAt;
|
|
18465
|
+
Object.entries(benchmarksRegistry.sources).map(([sourceId, source]) => `${sourceId}:${source.observedAt}`).sort().join("|");
|
|
18371
18466
|
Object.freeze(
|
|
18372
18467
|
Object.fromEntries(
|
|
18373
18468
|
GATEWAY_PROVIDERS.map((provider) => [provider, registry2.providers[provider].name])
|
|
@@ -18399,7 +18494,45 @@ function gatewayProviderDefault(provider) {
|
|
|
18399
18494
|
function scopedModelId(provider, modelId) {
|
|
18400
18495
|
return `${provider}--${modelId}`;
|
|
18401
18496
|
}
|
|
18497
|
+
function freezeBenchmarkFigures(figures) {
|
|
18498
|
+
return Object.freeze({ ...figures });
|
|
18499
|
+
}
|
|
18500
|
+
function resolveGatewayModelBenchmark(entry, effort) {
|
|
18501
|
+
if (!entry.benchmarkKey) return void 0;
|
|
18502
|
+
const benchEntry = benchmarksRegistry.models[entry.benchmarkKey];
|
|
18503
|
+
if (!benchEntry) return void 0;
|
|
18504
|
+
const source = benchmarksRegistry.sources[benchEntry.source];
|
|
18505
|
+
if (!source) return void 0;
|
|
18506
|
+
let rungs;
|
|
18507
|
+
if (benchEntry.rungs) {
|
|
18508
|
+
if (effort.supported) {
|
|
18509
|
+
const narrowed = effort.levels.filter((level) => benchEntry.rungs?.[level] !== void 0).map((level) => [level, freezeBenchmarkFigures(benchEntry.rungs[level])]);
|
|
18510
|
+
rungs = narrowed.length > 0 ? Object.freeze(Object.fromEntries(narrowed)) : void 0;
|
|
18511
|
+
} else {
|
|
18512
|
+
rungs = Object.freeze(
|
|
18513
|
+
Object.fromEntries(
|
|
18514
|
+
Object.entries(benchEntry.rungs).map(([level, figures]) => [
|
|
18515
|
+
level,
|
|
18516
|
+
freezeBenchmarkFigures(figures)
|
|
18517
|
+
])
|
|
18518
|
+
)
|
|
18519
|
+
);
|
|
18520
|
+
}
|
|
18521
|
+
}
|
|
18522
|
+
const overall = benchEntry.overall ? freezeBenchmarkFigures(benchEntry.overall) : void 0;
|
|
18523
|
+
const benchmark = Object.freeze({
|
|
18524
|
+
source: `${source.name} ${source.benchVersion}`,
|
|
18525
|
+
observedAt: source.observedAt,
|
|
18526
|
+
routingTieBandPoints: source.routingTieBandPoints,
|
|
18527
|
+
...rungs ? { rungs } : {},
|
|
18528
|
+
...overall ? { overall } : {},
|
|
18529
|
+
...benchEntry.caveat ? { caveat: benchEntry.caveat } : {}
|
|
18530
|
+
});
|
|
18531
|
+
if (!benchmark.rungs && !benchmark.overall) return void 0;
|
|
18532
|
+
return benchmark;
|
|
18533
|
+
}
|
|
18402
18534
|
function toGatewayModel(provider, providerName, entry) {
|
|
18535
|
+
const benchmark = resolveGatewayModelBenchmark(entry, freezeGatewayModelEffort(entry.effort));
|
|
18403
18536
|
return {
|
|
18404
18537
|
id: scopedModelId(provider, entry.modelId),
|
|
18405
18538
|
displayName: `${providerName}-${entry.name}`,
|
|
@@ -18410,6 +18543,7 @@ function toGatewayModel(provider, providerName, entry) {
|
|
|
18410
18543
|
...entry.quotaScope ? { quotaScope: entry.quotaScope } : {},
|
|
18411
18544
|
...entry.wire ? { wire: entry.wire } : {},
|
|
18412
18545
|
...entry.capabilityClass ? { capabilityClass: entry.capabilityClass } : {},
|
|
18546
|
+
...benchmark ? { benchmark } : {},
|
|
18413
18547
|
...entry.description ? { description: entry.description } : {},
|
|
18414
18548
|
...entry.contextWindow ? { contextWindow: entry.contextWindow } : {},
|
|
18415
18549
|
effort: freezeGatewayModelEffort(entry.effort),
|
|
@@ -18419,7 +18553,37 @@ function toGatewayModel(provider, providerName, entry) {
|
|
|
18419
18553
|
function providerModels(provider) {
|
|
18420
18554
|
return Object.freeze(GATEWAY_MODELS.filter((model) => model.provider === provider));
|
|
18421
18555
|
}
|
|
18556
|
+
function validateBenchmarkCoverage(value, benchmarks = benchmarksRegistry) {
|
|
18557
|
+
const referencedBenchmarkKeys = /* @__PURE__ */ new Set();
|
|
18558
|
+
for (const provider of GATEWAY_PROVIDERS) {
|
|
18559
|
+
for (const model of value.providers[provider].models) {
|
|
18560
|
+
if (model.benchmarkKey) referencedBenchmarkKeys.add(model.benchmarkKey);
|
|
18561
|
+
}
|
|
18562
|
+
}
|
|
18563
|
+
for (const key of Object.keys(benchmarks.models)) {
|
|
18564
|
+
if (!referencedBenchmarkKeys.has(key)) {
|
|
18565
|
+
throw new Error(`Gateway benchmark entry is orphaned: ${key}`);
|
|
18566
|
+
}
|
|
18567
|
+
}
|
|
18568
|
+
}
|
|
18422
18569
|
function validateRegistry(value) {
|
|
18570
|
+
for (const provider of GATEWAY_PROVIDERS) {
|
|
18571
|
+
const definition = value.providers[provider];
|
|
18572
|
+
for (const model of definition.models) {
|
|
18573
|
+
if (model.benchmarkKey) {
|
|
18574
|
+
if (!benchmarksRegistry.models[model.benchmarkKey]) {
|
|
18575
|
+
throw new Error(`Gateway benchmark key is unknown: ${provider}/${model.modelId} -> ${model.benchmarkKey}`);
|
|
18576
|
+
}
|
|
18577
|
+
if (model.providerModelId === "default") {
|
|
18578
|
+
throw new Error(`Gateway routing alias cannot carry a benchmark key: ${provider}/${model.modelId}`);
|
|
18579
|
+
}
|
|
18580
|
+
const resolved = resolveGatewayModelBenchmark(model, freezeGatewayModelEffort(model.effort));
|
|
18581
|
+
if (!resolved) {
|
|
18582
|
+
throw new Error(`Gateway benchmark resolves to no rungs or overall: ${provider}/${model.modelId}`);
|
|
18583
|
+
}
|
|
18584
|
+
}
|
|
18585
|
+
}
|
|
18586
|
+
}
|
|
18423
18587
|
const lookupIds = /* @__PURE__ */ new Set();
|
|
18424
18588
|
for (const provider of GATEWAY_PROVIDERS) {
|
|
18425
18589
|
const definition = value.providers[provider];
|
|
@@ -18444,6 +18608,9 @@ function validateRegistry(value) {
|
|
|
18444
18608
|
if (base && base.capabilityClass !== model.capabilityClass) {
|
|
18445
18609
|
throw new Error(`Gateway service-tier sibling class differs from its base: ${provider}/${model.modelId}`);
|
|
18446
18610
|
}
|
|
18611
|
+
if (base && base.benchmarkKey !== model.benchmarkKey) {
|
|
18612
|
+
throw new Error(`Gateway service-tier sibling benchmark key differs from its base: ${provider}/${model.modelId}`);
|
|
18613
|
+
}
|
|
18447
18614
|
}
|
|
18448
18615
|
if (model.serviceTier && !model.providerModelId) {
|
|
18449
18616
|
throw new Error(`Gateway service tier requires providerModelId: ${provider}/${model.modelId}`);
|
|
@@ -19480,6 +19647,96 @@ function createQuotaService(deps) {
|
|
|
19480
19647
|
}
|
|
19481
19648
|
};
|
|
19482
19649
|
}
|
|
19650
|
+
var CURSOR_GREP_RECEIPT_PREFIX = "FLEET_CURSOR_GREP_V1:";
|
|
19651
|
+
String.raw`
|
|
19652
|
+
const {spawn}=require("node:child_process");
|
|
19653
|
+
const {TextDecoder}=require("node:util");
|
|
19654
|
+
const emit=(value)=>process.stdout.write("${CURSOR_GREP_RECEIPT_PREFIX}"+Buffer.from(JSON.stringify(value)).toString("base64url"));
|
|
19655
|
+
(async()=>{try {
|
|
19656
|
+
const input=JSON.parse(Buffer.from(process.argv[1],"base64url").toString("utf8"));
|
|
19657
|
+
const matchSeparator=30;
|
|
19658
|
+
const contextSeparator=31;
|
|
19659
|
+
const maxContentBytes=2000;
|
|
19660
|
+
const args=["--color=never","--line-number","--with-filename","--null","--sort","path","--max-columns",String(maxContentBytes),"--max-columns-preview","--field-match-separator",String.fromCharCode(matchSeparator),"--field-context-separator",String.fromCharCode(contextSeparator),"--no-context-separator"];
|
|
19661
|
+
if(input.caseInsensitive)args.push("--ignore-case");
|
|
19662
|
+
if(input.glob)args.push("--glob",input.glob);
|
|
19663
|
+
if(input.type)args.push("--type",input.type);
|
|
19664
|
+
if(input.contextBefore)args.push("--before-context",String(input.contextBefore));
|
|
19665
|
+
if(input.contextAfter)args.push("--after-context",String(input.contextAfter));
|
|
19666
|
+
if(input.context)args.push("--context",String(input.context));
|
|
19667
|
+
args.push("--regexp",input.pattern,"--",input.path);
|
|
19668
|
+
const child=spawn("rg",args,{stdio:["ignore","pipe","pipe"]});
|
|
19669
|
+
let stderr="";
|
|
19670
|
+
child.stderr.setEncoding("utf8");
|
|
19671
|
+
child.stderr.on("data",(chunk)=>{if(stderr.length<16384)stderr+=chunk.slice(0,16384-stderr.length);});
|
|
19672
|
+
const completion=new Promise((resolve,reject)=>{
|
|
19673
|
+
child.once("error",reject);
|
|
19674
|
+
child.once("close",(code,signal)=>signal?reject(new Error("rg terminated by signal "+signal)):resolve(code));
|
|
19675
|
+
});
|
|
19676
|
+
const byteBudget=12*1024;
|
|
19677
|
+
const maxRecordBytes=64*1024;
|
|
19678
|
+
const truncatedSuffix=" [... omitted end of long line]";
|
|
19679
|
+
const decoder=new TextDecoder("utf-8",{fatal:true});
|
|
19680
|
+
let retainedBytes=0;
|
|
19681
|
+
let clientTruncated=false;
|
|
19682
|
+
let totalFiles=0;
|
|
19683
|
+
let totalLines=0;
|
|
19684
|
+
let totalMatchedLines=0;
|
|
19685
|
+
let previousFile;
|
|
19686
|
+
const files=[];
|
|
19687
|
+
const counts=[];
|
|
19688
|
+
const matches=[];
|
|
19689
|
+
const retain=(target,value)=>{
|
|
19690
|
+
const bytes=Buffer.byteLength(JSON.stringify(value));
|
|
19691
|
+
if(retainedBytes+bytes>byteBudget){clientTruncated=true;return;}
|
|
19692
|
+
retainedBytes+=bytes;target.push(value);
|
|
19693
|
+
};
|
|
19694
|
+
let buffered=Buffer.alloc(0);
|
|
19695
|
+
const consume=(record,nul)=>{
|
|
19696
|
+
const fields=record.subarray(nul+1);
|
|
19697
|
+
const matchIndex=fields.indexOf(matchSeparator);
|
|
19698
|
+
const contextIndex=fields.indexOf(contextSeparator);
|
|
19699
|
+
const separator=matchIndex>=0&&contextIndex>=0?Math.min(matchIndex,contextIndex):Math.max(matchIndex,contextIndex);
|
|
19700
|
+
if(separator<1)throw new Error("rg returned an invalid bounded search record");
|
|
19701
|
+
const lineText=fields.subarray(0,separator).toString("ascii");
|
|
19702
|
+
if(!/^\d+$/.test(lineText))throw new Error("rg returned an invalid search line number");
|
|
19703
|
+
const lineNumber=Number(lineText);
|
|
19704
|
+
if(!Number.isSafeInteger(lineNumber)||lineNumber<1)throw new Error("rg returned an invalid search line number");
|
|
19705
|
+
const file=decoder.decode(record.subarray(0,nul));
|
|
19706
|
+
let content=decoder.decode(fields.subarray(separator+1));
|
|
19707
|
+
if(content.endsWith("\r"))content=content.slice(0,-1);
|
|
19708
|
+
const contentTruncated=Buffer.byteLength(content)>maxContentBytes&&content.endsWith(truncatedSuffix);
|
|
19709
|
+
if(contentTruncated)content=content.slice(0,-truncatedSuffix.length);
|
|
19710
|
+
const isContextLine=fields[separator]===contextSeparator;
|
|
19711
|
+
if(file!==previousFile){
|
|
19712
|
+
totalFiles+=1;
|
|
19713
|
+
previousFile=file;
|
|
19714
|
+
}
|
|
19715
|
+
totalLines+=1;
|
|
19716
|
+
if(!isContextLine)totalMatchedLines+=1;
|
|
19717
|
+
retain(matches,{file,lineNumber,content,contentTruncated,isContextLine});
|
|
19718
|
+
};
|
|
19719
|
+
try {
|
|
19720
|
+
for await(const chunk of child.stdout){
|
|
19721
|
+
buffered=buffered.length===0?chunk:Buffer.concat([buffered,chunk]);
|
|
19722
|
+
while(true){
|
|
19723
|
+
const nul=buffered.indexOf(0);
|
|
19724
|
+
if(nul<0)break;
|
|
19725
|
+
const newline=buffered.indexOf(10,nul+1);
|
|
19726
|
+
if(newline<0)break;
|
|
19727
|
+
if(newline>maxRecordBytes)throw new Error("rg exceeded the bounded search record limit");
|
|
19728
|
+
consume(buffered.subarray(0,newline),nul);
|
|
19729
|
+
buffered=buffered.subarray(newline+1);
|
|
19730
|
+
}
|
|
19731
|
+
if(buffered.length>maxRecordBytes)throw new Error("rg exceeded the bounded search record limit");
|
|
19732
|
+
}
|
|
19733
|
+
if(buffered.length!==0)throw new Error("rg returned an incomplete bounded search record");
|
|
19734
|
+
}catch(error){child.kill();await completion.catch(()=>undefined);throw error;}
|
|
19735
|
+
const code=await completion;
|
|
19736
|
+
if(code!==0&&code!==1)throw new Error((stderr||"rg failed with exit "+code).trim());
|
|
19737
|
+
emit({ok:true,outputMode:input.outputMode,files,counts,matches,totalFiles,totalLines,totalMatchedLines,clientTruncated});
|
|
19738
|
+
}catch(error){emit({ok:false,error:error instanceof Error?error.message:String(error)});}})();
|
|
19739
|
+
`.trim();
|
|
19483
19740
|
var cursorAgentDescriptor = [
|
|
19484
19741
|
"CgthZ2VudC5wcm90bxIIYWdlbnQudjEicgoOR2xvYlRvb2xSZXN1bHQSLAoHc3VjY2VzcxgBIAEoCzIZLmFnZW50LnYxLkdsb2JUb29sU3VjY2Vzc0gAEigK",
|
|
19485
19742
|
"BWVycm9yGAIgASgLMhcuYWdlbnQudjEuR2xvYlRvb2xFcnJvckgAQggKBnJlc3VsdCIeCg1HbG9iVG9vbEVycm9yEg0KBWVycm9yGAEgASgJIokBCg9HbG9i",
|