@dotobokuri/fleet-console 1.62.0 → 1.64.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/README.md +1 -0
- package/dist/cli.mjs +571 -96
- package/dist/client/assets/{_baseUniq-B6CLI4cf.js → _baseUniq-DurhRkUz.js} +1 -1
- package/dist/client/assets/{arc-r3CRqUQ5.js → arc-CRs5BdYr.js} +1 -1
- package/dist/client/assets/{architectureDiagram-Q4EWVU46-CJfgw2eJ.js → architectureDiagram-Q4EWVU46-Djo8uCUV.js} +1 -1
- package/dist/client/assets/{blockDiagram-DXYQGD6D-CkBuOBUs.js → blockDiagram-DXYQGD6D-hQdc3yPb.js} +1 -1
- package/dist/client/assets/{c4Diagram-AHTNJAMY-Ln5TenJL.js → c4Diagram-AHTNJAMY-Czv6wUeb.js} +1 -1
- package/dist/client/assets/channel-DluRfcgW.js +1 -0
- package/dist/client/assets/{chunk-4BX2VUAB-BiYTw90k.js → chunk-4BX2VUAB-DXjqdOUQ.js} +1 -1
- package/dist/client/assets/{chunk-4TB4RGXK-nPQaGu1w.js → chunk-4TB4RGXK-vvWT5R7G.js} +1 -1
- package/dist/client/assets/{chunk-55IACEB6-BU2oCJkl.js → chunk-55IACEB6-DMDBDn4n.js} +1 -1
- package/dist/client/assets/{chunk-EDXVE4YY-Ej7y6KOv.js → chunk-EDXVE4YY-CvZM4UpD.js} +1 -1
- package/dist/client/assets/{chunk-FMBD7UC4-hOkBpfhE.js → chunk-FMBD7UC4-BArng_V9.js} +1 -1
- package/dist/client/assets/{chunk-OYMX7WX6-Cv43HwvT.js → chunk-OYMX7WX6-DwNWyoK7.js} +1 -1
- package/dist/client/assets/{chunk-QZHKN3VN-Bi7AEJxb.js → chunk-QZHKN3VN--guvcrYz.js} +1 -1
- package/dist/client/assets/{chunk-YZCP3GAM-CBwmJdga.js → chunk-YZCP3GAM-BqxZQZyX.js} +1 -1
- package/dist/client/assets/classDiagram-6PBFFD2Q-CwNh44Lk.js +1 -0
- package/dist/client/assets/classDiagram-v2-HSJHXN6E-CwNh44Lk.js +1 -0
- package/dist/client/assets/clone-ClWdaAWG.js +1 -0
- package/dist/client/assets/{cose-bilkent-S5V4N54A-ERDn7bly.js → cose-bilkent-S5V4N54A-BMg_LOnu.js} +1 -1
- package/dist/client/assets/{dagre-KV5264BT-DapcbnEu.js → dagre-KV5264BT-Dr7w5bQR.js} +1 -1
- package/dist/client/assets/{diagram-5BDNPKRD-DbRBVaVH.js → diagram-5BDNPKRD-B3mTbXqP.js} +1 -1
- package/dist/client/assets/{diagram-G4DWMVQ6-CLP0MwBH.js → diagram-G4DWMVQ6-qb3u5_YF.js} +1 -1
- package/dist/client/assets/{diagram-MMDJMWI5-BMZ9AsEI.js → diagram-MMDJMWI5-CBBgto41.js} +1 -1
- package/dist/client/assets/{diagram-TYMM5635-DtPPkZ2y.js → diagram-TYMM5635-Cmo3cjOQ.js} +1 -1
- package/dist/client/assets/{erDiagram-SMLLAGMA-DIvbhhTb.js → erDiagram-SMLLAGMA-HeqZPhtI.js} +1 -1
- package/dist/client/assets/{flowDiagram-DWJPFMVM-C_R3RpTk.js → flowDiagram-DWJPFMVM-C34ZouQN.js} +1 -1
- package/dist/client/assets/{ganttDiagram-T4ZO3ILL-eaIqpHsY.js → ganttDiagram-T4ZO3ILL-BL2_YoJe.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-UUTBAWPF-CYCsHY_E.js → gitGraphDiagram-UUTBAWPF-DSC8Gr0E.js} +1 -1
- package/dist/client/assets/{graph-HfvOsgk2.js → graph-C4jsVwYI.js} +1 -1
- package/dist/client/assets/index-BuMY4qU-.js +465 -0
- package/dist/client/assets/index-DxjgOu3C.css +1 -0
- package/dist/client/assets/{infoDiagram-42DDH7IO-rmDH5YRZ.js → infoDiagram-42DDH7IO-BX_lYqHx.js} +1 -1
- package/dist/client/assets/{ishikawaDiagram-UXIWVN3A-EAZO3mIY.js → ishikawaDiagram-UXIWVN3A-CsXWVwyY.js} +1 -1
- package/dist/client/assets/{journeyDiagram-VCZTEJTY-4vWYlXOF.js → journeyDiagram-VCZTEJTY-ETPWVMNg.js} +1 -1
- package/dist/client/assets/{kanban-definition-6JOO6SKY-CkkSfsbD.js → kanban-definition-6JOO6SKY-m7hLIKgZ.js} +1 -1
- package/dist/client/assets/{layout-DWbhbrdO.js → layout-DrRXjJzL.js} +1 -1
- package/dist/client/assets/{linear-BjRBsqi0.js → linear-DzDd2m9j.js} +1 -1
- package/dist/client/assets/{mermaid.core-RuG-kUU2.js → mermaid.core-BHkit2JY.js} +4 -4
- package/dist/client/assets/{min-D--jZrv5.js → min-DtwEer1D.js} +1 -1
- package/dist/client/assets/{mindmap-definition-QFDTVHPH-fLwhQBcX.js → mindmap-definition-QFDTVHPH-BO-uheb7.js} +1 -1
- package/dist/client/assets/{pieDiagram-DEJITSTG-DJkWnAQK.js → pieDiagram-DEJITSTG-B_4VqNKt.js} +1 -1
- package/dist/client/assets/{quadrantDiagram-34T5L4WZ-Kd4q9kEz.js → quadrantDiagram-34T5L4WZ-HhtqXdkD.js} +1 -1
- package/dist/client/assets/{requirementDiagram-MS252O5E-Bgrtq8Kh.js → requirementDiagram-MS252O5E-CSotIpLH.js} +1 -1
- package/dist/client/assets/{sankeyDiagram-XADWPNL6-BW9BdQ-8.js → sankeyDiagram-XADWPNL6-a8krBcEy.js} +1 -1
- package/dist/client/assets/{sequenceDiagram-FGHM5R23-KpgcxIJb.js → sequenceDiagram-FGHM5R23-D9Tlp8oT.js} +1 -1
- package/dist/client/assets/{stateDiagram-FHFEXIEX-CNaCHtL2.js → stateDiagram-FHFEXIEX-CbEP_Jmm.js} +1 -1
- package/dist/client/assets/stateDiagram-v2-QKLJ7IA2-B9iCjiGH.js +1 -0
- package/dist/client/assets/{timeline-definition-GMOUNBTQ-MGPKEXGI.js → timeline-definition-GMOUNBTQ-CxAJtY22.js} +1 -1
- package/dist/client/assets/{vennDiagram-DHZGUBPP-bDOCVDJ1.js → vennDiagram-DHZGUBPP-BSTXi411.js} +1 -1
- package/dist/client/assets/{wardley-RL74JXVD-DuvLJQPg.js → wardley-RL74JXVD-BipCMOcx.js} +1 -1
- package/dist/client/assets/{wardleyDiagram-NUSXRM2D-BdBIEtIl.js → wardleyDiagram-NUSXRM2D-BudrJ8a1.js} +1 -1
- package/dist/client/assets/{xychartDiagram-5P7HB3ND-vycMI6c3.js → xychartDiagram-5P7HB3ND-BYlMZf2g.js} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/fleet-plugins/ledger/routes.mjs +265 -12
- package/dist/fleet-plugins/quota/routes.mjs +265 -12
- package/dist/fleet-plugins/scuttlebutt/routes.mjs +545 -79
- package/dist/fleet-plugins/terminal/routes.mjs +1150 -237
- package/dist/fleet.mjs +954 -300
- package/package.json +1 -1
- package/dist/client/assets/channel-DBCxCWtI.js +0 -1
- package/dist/client/assets/classDiagram-6PBFFD2Q-QQSWiJjR.js +0 -1
- package/dist/client/assets/classDiagram-v2-HSJHXN6E-QQSWiJjR.js +0 -1
- package/dist/client/assets/clone-vom5rXcJ.js +0 -1
- package/dist/client/assets/index-C2erdgSj.css +0 -1
- package/dist/client/assets/index-CrEYBugN.js +0 -465
- package/dist/client/assets/stateDiagram-v2-QKLJ7IA2-D3k4sLJ4.js +0 -1
package/dist/cli.mjs
CHANGED
|
@@ -8,8 +8,8 @@ import { spawn, execFileSync } from 'node:child_process';
|
|
|
8
8
|
import process4 from 'node:process';
|
|
9
9
|
import * as os4 from 'node:os';
|
|
10
10
|
import os4__default, { tmpdir } from 'node:os';
|
|
11
|
-
import crypto5, { createHash, randomUUID } from 'node:crypto';
|
|
12
11
|
import { builtinModules, createRequire } from 'node:module';
|
|
12
|
+
import crypto5, { createHash, randomUUID } from 'node:crypto';
|
|
13
13
|
import http from 'node:http';
|
|
14
14
|
import https from 'node:https';
|
|
15
15
|
import { mkdtemp, rm, mkdir, readdir, readFile, stat, appendFile, writeFile, rename, realpath, lstat } from 'node:fs/promises';
|
|
@@ -289,6 +289,15 @@ var ASCII_FLEET_BANNER = [
|
|
|
289
289
|
"\u2588\u2588\u2551 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2551 ",
|
|
290
290
|
"\u255A\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u2550\u255D\u255A\u2550\u2550\u2550\u2550\u2550\u2550\u255D\u255A\u2550\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u255D "
|
|
291
291
|
];
|
|
292
|
+
function readFleetCliRelease() {
|
|
293
|
+
const requireFromHere = createRequire(import.meta.url);
|
|
294
|
+
const pkg = requireFromHere("../package.json");
|
|
295
|
+
const version2 = pkg.version ?? "";
|
|
296
|
+
if (pkg.private === true) {
|
|
297
|
+
return { channel: "local", version: version2 };
|
|
298
|
+
}
|
|
299
|
+
return { channel: "stable", version: version2 };
|
|
300
|
+
}
|
|
292
301
|
var LOCK_DIR_MODE = 448;
|
|
293
302
|
var LOCK_FILE_MODE = 384;
|
|
294
303
|
function createConsoleLock(deps = {}) {
|
|
@@ -13263,8 +13272,6 @@ function isNormalFace(face) {
|
|
|
13263
13272
|
const style = face.style.toLocaleLowerCase();
|
|
13264
13273
|
return NORMAL_FACE_MARKERS.some((marker) => style.includes(marker));
|
|
13265
13274
|
}
|
|
13266
|
-
|
|
13267
|
-
// core/host/system-fonts-routes.ts
|
|
13268
13275
|
var SYSTEM_FONTS_PATH = "/api/v1/settings/fonts/system";
|
|
13269
13276
|
var SYSTEM_FONTS_API_CATALOG = [
|
|
13270
13277
|
{
|
|
@@ -13701,7 +13708,16 @@ function withSecurityHeaders(headers) {
|
|
|
13701
13708
|
};
|
|
13702
13709
|
}
|
|
13703
13710
|
|
|
13704
|
-
// core/host/
|
|
13711
|
+
// core/host/http-infra.ts
|
|
13712
|
+
var CONSOLE_SECURITY_HEADERS = {
|
|
13713
|
+
"Content-Security-Policy": "default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https://img.shields.io; font-src 'self' data:; connect-src 'self' ws: wss: https://api.github.com; object-src 'none'; base-uri 'none'",
|
|
13714
|
+
"X-Content-Type-Options": "nosniff",
|
|
13715
|
+
"Referrer-Policy": "no-referrer",
|
|
13716
|
+
"Cache-Control": "no-store"
|
|
13717
|
+
};
|
|
13718
|
+
function withSecurityHeaders2(headers = {}) {
|
|
13719
|
+
return { ...CONSOLE_SECURITY_HEADERS, ...headers };
|
|
13720
|
+
}
|
|
13705
13721
|
var SSE_KEEPALIVE_INTERVAL_MS = 3e4;
|
|
13706
13722
|
function encodeSseData(event, data) {
|
|
13707
13723
|
return `event: ${event}
|
|
@@ -33762,12 +33778,12 @@ var benchmarks_default = {
|
|
|
33762
33778
|
};
|
|
33763
33779
|
var models_default = {
|
|
33764
33780
|
version: 1,
|
|
33765
|
-
updatedAt: "2026-08-
|
|
33781
|
+
updatedAt: "2026-08-17T00:00:00Z",
|
|
33766
33782
|
providers: {
|
|
33767
33783
|
codex: {
|
|
33768
33784
|
name: "Codex",
|
|
33769
33785
|
defaultModel: "gpt-5.6-sol",
|
|
33770
|
-
source: "codex app-server model/list (codex-cli 0.147.0, 2026-08-11
|
|
33786
|
+
source: "codex app-server model/list (codex-cli 0.147.0, observed 2026-08-11) for model/effort/service-tier and the unsuffixed 272000 defaults; Fleet catalog effort ladders are capped at max because harness launch capabilities are not model rungs; 2026-08-17 production Codex live observations added explicit 512K (524288) and explicit 1M (1000000) variants on the same upstream bases",
|
|
33771
33787
|
models: [
|
|
33772
33788
|
{
|
|
33773
33789
|
modelId: "gpt-5.6-sol",
|
|
@@ -33781,8 +33797,7 @@ var models_default = {
|
|
|
33781
33797
|
"medium",
|
|
33782
33798
|
"high",
|
|
33783
33799
|
"xhigh",
|
|
33784
|
-
"max"
|
|
33785
|
-
"ultra"
|
|
33800
|
+
"max"
|
|
33786
33801
|
]
|
|
33787
33802
|
},
|
|
33788
33803
|
aliases: [
|
|
@@ -33804,8 +33819,7 @@ var models_default = {
|
|
|
33804
33819
|
"medium",
|
|
33805
33820
|
"high",
|
|
33806
33821
|
"xhigh",
|
|
33807
|
-
"max"
|
|
33808
|
-
"ultra"
|
|
33822
|
+
"max"
|
|
33809
33823
|
]
|
|
33810
33824
|
},
|
|
33811
33825
|
aliases: [
|
|
@@ -33825,8 +33839,7 @@ var models_default = {
|
|
|
33825
33839
|
"medium",
|
|
33826
33840
|
"high",
|
|
33827
33841
|
"xhigh",
|
|
33828
|
-
"max"
|
|
33829
|
-
"ultra"
|
|
33842
|
+
"max"
|
|
33830
33843
|
]
|
|
33831
33844
|
},
|
|
33832
33845
|
aliases: [
|
|
@@ -33848,8 +33861,7 @@ var models_default = {
|
|
|
33848
33861
|
"medium",
|
|
33849
33862
|
"high",
|
|
33850
33863
|
"xhigh",
|
|
33851
|
-
"max"
|
|
33852
|
-
"ultra"
|
|
33864
|
+
"max"
|
|
33853
33865
|
]
|
|
33854
33866
|
},
|
|
33855
33867
|
aliases: [
|
|
@@ -33898,6 +33910,264 @@ var models_default = {
|
|
|
33898
33910
|
"gpt-5.6-luna-fast"
|
|
33899
33911
|
],
|
|
33900
33912
|
benchmarkKey: "gpt-5.6-luna"
|
|
33913
|
+
},
|
|
33914
|
+
{
|
|
33915
|
+
modelId: "gpt-5.6-sol-512k",
|
|
33916
|
+
name: "GPT-5.6-Sol-512K",
|
|
33917
|
+
capabilityClass: "flagship",
|
|
33918
|
+
providerModelId: "gpt-5.6-sol",
|
|
33919
|
+
contextWindow: 524288,
|
|
33920
|
+
effort: {
|
|
33921
|
+
supported: true,
|
|
33922
|
+
levels: [
|
|
33923
|
+
"low",
|
|
33924
|
+
"medium",
|
|
33925
|
+
"high",
|
|
33926
|
+
"xhigh",
|
|
33927
|
+
"max"
|
|
33928
|
+
]
|
|
33929
|
+
},
|
|
33930
|
+
aliases: [
|
|
33931
|
+
"gpt-5.6-sol-512k"
|
|
33932
|
+
],
|
|
33933
|
+
benchmarkKey: "gpt-5.6-sol"
|
|
33934
|
+
},
|
|
33935
|
+
{
|
|
33936
|
+
modelId: "gpt-5.6-sol-512k-fast",
|
|
33937
|
+
name: "GPT-5.6-Sol-512K-Fast",
|
|
33938
|
+
capabilityClass: "flagship",
|
|
33939
|
+
providerModelId: "gpt-5.6-sol",
|
|
33940
|
+
serviceTier: "priority",
|
|
33941
|
+
contextWindow: 524288,
|
|
33942
|
+
effort: {
|
|
33943
|
+
supported: true,
|
|
33944
|
+
levels: [
|
|
33945
|
+
"low",
|
|
33946
|
+
"medium",
|
|
33947
|
+
"high",
|
|
33948
|
+
"xhigh",
|
|
33949
|
+
"max"
|
|
33950
|
+
]
|
|
33951
|
+
},
|
|
33952
|
+
aliases: [
|
|
33953
|
+
"gpt-5.6-sol-512k-fast"
|
|
33954
|
+
],
|
|
33955
|
+
benchmarkKey: "gpt-5.6-sol"
|
|
33956
|
+
},
|
|
33957
|
+
{
|
|
33958
|
+
modelId: "gpt-5.6-luna-512k",
|
|
33959
|
+
name: "GPT-5.6-Luna-512K",
|
|
33960
|
+
capabilityClass: "light",
|
|
33961
|
+
providerModelId: "gpt-5.6-luna",
|
|
33962
|
+
contextWindow: 524288,
|
|
33963
|
+
effort: {
|
|
33964
|
+
supported: true,
|
|
33965
|
+
levels: [
|
|
33966
|
+
"low",
|
|
33967
|
+
"medium",
|
|
33968
|
+
"high",
|
|
33969
|
+
"xhigh",
|
|
33970
|
+
"max"
|
|
33971
|
+
]
|
|
33972
|
+
},
|
|
33973
|
+
aliases: [
|
|
33974
|
+
"gpt-5.6-luna-512k"
|
|
33975
|
+
],
|
|
33976
|
+
benchmarkKey: "gpt-5.6-luna"
|
|
33977
|
+
},
|
|
33978
|
+
{
|
|
33979
|
+
modelId: "gpt-5.6-luna-512k-fast",
|
|
33980
|
+
name: "GPT-5.6-Luna-512K-Fast",
|
|
33981
|
+
capabilityClass: "light",
|
|
33982
|
+
providerModelId: "gpt-5.6-luna",
|
|
33983
|
+
serviceTier: "priority",
|
|
33984
|
+
contextWindow: 524288,
|
|
33985
|
+
effort: {
|
|
33986
|
+
supported: true,
|
|
33987
|
+
levels: [
|
|
33988
|
+
"low",
|
|
33989
|
+
"medium",
|
|
33990
|
+
"high",
|
|
33991
|
+
"xhigh",
|
|
33992
|
+
"max"
|
|
33993
|
+
]
|
|
33994
|
+
},
|
|
33995
|
+
aliases: [
|
|
33996
|
+
"gpt-5.6-luna-512k-fast"
|
|
33997
|
+
],
|
|
33998
|
+
benchmarkKey: "gpt-5.6-luna"
|
|
33999
|
+
},
|
|
34000
|
+
{
|
|
34001
|
+
modelId: "gpt-5.6-terra-512k",
|
|
34002
|
+
name: "GPT-5.6-Terra-512K",
|
|
34003
|
+
capabilityClass: "standard",
|
|
34004
|
+
providerModelId: "gpt-5.6-terra",
|
|
34005
|
+
contextWindow: 524288,
|
|
34006
|
+
effort: {
|
|
34007
|
+
supported: true,
|
|
34008
|
+
levels: [
|
|
34009
|
+
"low",
|
|
34010
|
+
"medium",
|
|
34011
|
+
"high",
|
|
34012
|
+
"xhigh",
|
|
34013
|
+
"max"
|
|
34014
|
+
]
|
|
34015
|
+
},
|
|
34016
|
+
aliases: [
|
|
34017
|
+
"gpt-5.6-terra-512k"
|
|
34018
|
+
],
|
|
34019
|
+
benchmarkKey: "gpt-5.6-terra"
|
|
34020
|
+
},
|
|
34021
|
+
{
|
|
34022
|
+
modelId: "gpt-5.6-terra-512k-fast",
|
|
34023
|
+
name: "GPT-5.6-Terra-512K-Fast",
|
|
34024
|
+
capabilityClass: "standard",
|
|
34025
|
+
providerModelId: "gpt-5.6-terra",
|
|
34026
|
+
serviceTier: "priority",
|
|
34027
|
+
contextWindow: 524288,
|
|
34028
|
+
effort: {
|
|
34029
|
+
supported: true,
|
|
34030
|
+
levels: [
|
|
34031
|
+
"low",
|
|
34032
|
+
"medium",
|
|
34033
|
+
"high",
|
|
34034
|
+
"xhigh",
|
|
34035
|
+
"max"
|
|
34036
|
+
]
|
|
34037
|
+
},
|
|
34038
|
+
aliases: [
|
|
34039
|
+
"gpt-5.6-terra-512k-fast"
|
|
34040
|
+
],
|
|
34041
|
+
benchmarkKey: "gpt-5.6-terra"
|
|
34042
|
+
},
|
|
34043
|
+
{
|
|
34044
|
+
modelId: "gpt-5.6-sol-1m",
|
|
34045
|
+
name: "GPT-5.6-Sol-1M",
|
|
34046
|
+
capabilityClass: "flagship",
|
|
34047
|
+
providerModelId: "gpt-5.6-sol",
|
|
34048
|
+
contextWindow: 1e6,
|
|
34049
|
+
effort: {
|
|
34050
|
+
supported: true,
|
|
34051
|
+
levels: [
|
|
34052
|
+
"low",
|
|
34053
|
+
"medium",
|
|
34054
|
+
"high",
|
|
34055
|
+
"xhigh",
|
|
34056
|
+
"max"
|
|
34057
|
+
]
|
|
34058
|
+
},
|
|
34059
|
+
aliases: [
|
|
34060
|
+
"gpt-5.6-sol-1m"
|
|
34061
|
+
],
|
|
34062
|
+
benchmarkKey: "gpt-5.6-sol"
|
|
34063
|
+
},
|
|
34064
|
+
{
|
|
34065
|
+
modelId: "gpt-5.6-sol-1m-fast",
|
|
34066
|
+
name: "GPT-5.6-Sol-1M-Fast",
|
|
34067
|
+
capabilityClass: "flagship",
|
|
34068
|
+
providerModelId: "gpt-5.6-sol",
|
|
34069
|
+
serviceTier: "priority",
|
|
34070
|
+
contextWindow: 1e6,
|
|
34071
|
+
effort: {
|
|
34072
|
+
supported: true,
|
|
34073
|
+
levels: [
|
|
34074
|
+
"low",
|
|
34075
|
+
"medium",
|
|
34076
|
+
"high",
|
|
34077
|
+
"xhigh",
|
|
34078
|
+
"max"
|
|
34079
|
+
]
|
|
34080
|
+
},
|
|
34081
|
+
aliases: [
|
|
34082
|
+
"gpt-5.6-sol-1m-fast"
|
|
34083
|
+
],
|
|
34084
|
+
benchmarkKey: "gpt-5.6-sol"
|
|
34085
|
+
},
|
|
34086
|
+
{
|
|
34087
|
+
modelId: "gpt-5.6-luna-1m",
|
|
34088
|
+
name: "GPT-5.6-Luna-1M",
|
|
34089
|
+
capabilityClass: "light",
|
|
34090
|
+
providerModelId: "gpt-5.6-luna",
|
|
34091
|
+
contextWindow: 1e6,
|
|
34092
|
+
effort: {
|
|
34093
|
+
supported: true,
|
|
34094
|
+
levels: [
|
|
34095
|
+
"low",
|
|
34096
|
+
"medium",
|
|
34097
|
+
"high",
|
|
34098
|
+
"xhigh",
|
|
34099
|
+
"max"
|
|
34100
|
+
]
|
|
34101
|
+
},
|
|
34102
|
+
aliases: [
|
|
34103
|
+
"gpt-5.6-luna-1m"
|
|
34104
|
+
],
|
|
34105
|
+
benchmarkKey: "gpt-5.6-luna"
|
|
34106
|
+
},
|
|
34107
|
+
{
|
|
34108
|
+
modelId: "gpt-5.6-luna-1m-fast",
|
|
34109
|
+
name: "GPT-5.6-Luna-1M-Fast",
|
|
34110
|
+
capabilityClass: "light",
|
|
34111
|
+
providerModelId: "gpt-5.6-luna",
|
|
34112
|
+
serviceTier: "priority",
|
|
34113
|
+
contextWindow: 1e6,
|
|
34114
|
+
effort: {
|
|
34115
|
+
supported: true,
|
|
34116
|
+
levels: [
|
|
34117
|
+
"low",
|
|
34118
|
+
"medium",
|
|
34119
|
+
"high",
|
|
34120
|
+
"xhigh",
|
|
34121
|
+
"max"
|
|
34122
|
+
]
|
|
34123
|
+
},
|
|
34124
|
+
aliases: [
|
|
34125
|
+
"gpt-5.6-luna-1m-fast"
|
|
34126
|
+
],
|
|
34127
|
+
benchmarkKey: "gpt-5.6-luna"
|
|
34128
|
+
},
|
|
34129
|
+
{
|
|
34130
|
+
modelId: "gpt-5.6-terra-1m",
|
|
34131
|
+
name: "GPT-5.6-Terra-1M",
|
|
34132
|
+
capabilityClass: "standard",
|
|
34133
|
+
providerModelId: "gpt-5.6-terra",
|
|
34134
|
+
contextWindow: 1e6,
|
|
34135
|
+
effort: {
|
|
34136
|
+
supported: true,
|
|
34137
|
+
levels: [
|
|
34138
|
+
"low",
|
|
34139
|
+
"medium",
|
|
34140
|
+
"high",
|
|
34141
|
+
"xhigh",
|
|
34142
|
+
"max"
|
|
34143
|
+
]
|
|
34144
|
+
},
|
|
34145
|
+
aliases: [
|
|
34146
|
+
"gpt-5.6-terra-1m"
|
|
34147
|
+
],
|
|
34148
|
+
benchmarkKey: "gpt-5.6-terra"
|
|
34149
|
+
},
|
|
34150
|
+
{
|
|
34151
|
+
modelId: "gpt-5.6-terra-1m-fast",
|
|
34152
|
+
name: "GPT-5.6-Terra-1M-Fast",
|
|
34153
|
+
capabilityClass: "standard",
|
|
34154
|
+
providerModelId: "gpt-5.6-terra",
|
|
34155
|
+
serviceTier: "priority",
|
|
34156
|
+
contextWindow: 1e6,
|
|
34157
|
+
effort: {
|
|
34158
|
+
supported: true,
|
|
34159
|
+
levels: [
|
|
34160
|
+
"low",
|
|
34161
|
+
"medium",
|
|
34162
|
+
"high",
|
|
34163
|
+
"xhigh",
|
|
34164
|
+
"max"
|
|
34165
|
+
]
|
|
34166
|
+
},
|
|
34167
|
+
aliases: [
|
|
34168
|
+
"gpt-5.6-terra-1m-fast"
|
|
34169
|
+
],
|
|
34170
|
+
benchmarkKey: "gpt-5.6-terra"
|
|
33901
34171
|
}
|
|
33902
34172
|
]
|
|
33903
34173
|
},
|
|
@@ -34378,8 +34648,7 @@ var GATEWAY_REASONING_EFFORTS = [
|
|
|
34378
34648
|
"medium",
|
|
34379
34649
|
"high",
|
|
34380
34650
|
"xhigh",
|
|
34381
|
-
"max"
|
|
34382
|
-
"ultra"
|
|
34651
|
+
"max"
|
|
34383
34652
|
];
|
|
34384
34653
|
var GatewayEffortUpstreamModelIdsSchema = external_exports.partialRecord(
|
|
34385
34654
|
external_exports.enum(GATEWAY_REASONING_EFFORTS),
|
|
@@ -34767,8 +35036,7 @@ var ANTHROPIC_EFFORT_RUNGS = /* @__PURE__ */ new Set([
|
|
|
34767
35036
|
"medium",
|
|
34768
35037
|
"high",
|
|
34769
35038
|
"xhigh",
|
|
34770
|
-
"max"
|
|
34771
|
-
"ultra"
|
|
35039
|
+
"max"
|
|
34772
35040
|
]);
|
|
34773
35041
|
function freezeGatewayModelEffort(effort) {
|
|
34774
35042
|
if (!effort?.supported) return UNSUPPORTED_GATEWAY_MODEL_EFFORT;
|
|
@@ -35713,6 +35981,9 @@ var CLAUDE_GATEWAY_TURN_KEYS = Object.freeze([
|
|
|
35713
35981
|
"abortController",
|
|
35714
35982
|
"stderr"
|
|
35715
35983
|
]);
|
|
35984
|
+
var CLAUDE_GATEWAY_SESSION_KEYS = Object.freeze(
|
|
35985
|
+
CLAUDE_GATEWAY_TURN_KEYS.filter((key) => key !== "prompt")
|
|
35986
|
+
);
|
|
35716
35987
|
|
|
35717
35988
|
// ../../packages/core-agent/src/claude/launch-env.ts
|
|
35718
35989
|
var CLAUDE_GATEWAY_MODEL_CACHE_RELPATH = "cache/gateway-models.json";
|
|
@@ -35773,6 +36044,32 @@ async function createIsolatedClaudeConfigDir(tempRoot = tmpdir()) {
|
|
|
35773
36044
|
}
|
|
35774
36045
|
};
|
|
35775
36046
|
}
|
|
36047
|
+
function readVendorContextUsage(response) {
|
|
36048
|
+
if (typeof response !== "object" || response === null) return null;
|
|
36049
|
+
const usage = response;
|
|
36050
|
+
if (typeof usage.totalTokens !== "number" || typeof usage.maxTokens !== "number") return null;
|
|
36051
|
+
const rows = Array.isArray(usage.categories) ? usage.categories : [];
|
|
36052
|
+
const memory = Array.isArray(usage.memoryFiles) ? usage.memoryFiles : [];
|
|
36053
|
+
const mcp = Array.isArray(usage.mcpTools) ? usage.mcpTools : [];
|
|
36054
|
+
return {
|
|
36055
|
+
total: usage.totalTokens,
|
|
36056
|
+
max: usage.maxTokens,
|
|
36057
|
+
model: typeof usage.model === "string" ? usage.model : "",
|
|
36058
|
+
compactAt: usage.isAutoCompactEnabled === true && typeof usage.autoCompactThreshold === "number" ? usage.autoCompactThreshold : null,
|
|
36059
|
+
categories: rows.flatMap((row) => {
|
|
36060
|
+
const entry = row;
|
|
36061
|
+
return typeof entry?.name === "string" && typeof entry.tokens === "number" ? [{ name: entry.name, tokens: entry.tokens, deferred: entry.isDeferred === true }] : [];
|
|
36062
|
+
}),
|
|
36063
|
+
memoryFiles: memory.flatMap((row) => {
|
|
36064
|
+
const entry = row;
|
|
36065
|
+
return typeof entry?.path === "string" && typeof entry.tokens === "number" ? [{ path: entry.path, tokens: entry.tokens }] : [];
|
|
36066
|
+
}),
|
|
36067
|
+
mcpTools: mcp.flatMap((row) => {
|
|
36068
|
+
const entry = row;
|
|
36069
|
+
return typeof entry?.name === "string" && typeof entry.tokens === "number" ? [{ name: entry.name, server: typeof entry.serverName === "string" ? entry.serverName : "", tokens: entry.tokens }] : [];
|
|
36070
|
+
})
|
|
36071
|
+
};
|
|
36072
|
+
}
|
|
35776
36073
|
function runVendorQuery(input) {
|
|
35777
36074
|
const run = query({
|
|
35778
36075
|
prompt: input.prompt,
|
|
@@ -35780,6 +36077,14 @@ function runVendorQuery(input) {
|
|
|
35780
36077
|
});
|
|
35781
36078
|
let closed = false;
|
|
35782
36079
|
return {
|
|
36080
|
+
async getContextUsage() {
|
|
36081
|
+
if (closed || typeof run.getContextUsage !== "function") return null;
|
|
36082
|
+
try {
|
|
36083
|
+
return readVendorContextUsage(await run.getContextUsage());
|
|
36084
|
+
} catch {
|
|
36085
|
+
return null;
|
|
36086
|
+
}
|
|
36087
|
+
},
|
|
35783
36088
|
[Symbol.asyncIterator]() {
|
|
35784
36089
|
const iterator = run[Symbol.asyncIterator]();
|
|
35785
36090
|
return {
|
|
@@ -35800,6 +36105,111 @@ function runVendorQuery(input) {
|
|
|
35800
36105
|
}
|
|
35801
36106
|
};
|
|
35802
36107
|
}
|
|
36108
|
+
var VendorInputQueue = class {
|
|
36109
|
+
pending = [];
|
|
36110
|
+
waiting = null;
|
|
36111
|
+
closed = false;
|
|
36112
|
+
push(message) {
|
|
36113
|
+
if (this.closed) return;
|
|
36114
|
+
const waiting = this.waiting;
|
|
36115
|
+
if (waiting) {
|
|
36116
|
+
this.waiting = null;
|
|
36117
|
+
waiting({ done: false, value: message });
|
|
36118
|
+
return;
|
|
36119
|
+
}
|
|
36120
|
+
this.pending.push(message);
|
|
36121
|
+
}
|
|
36122
|
+
close() {
|
|
36123
|
+
if (this.closed) return;
|
|
36124
|
+
this.closed = true;
|
|
36125
|
+
const waiting = this.waiting;
|
|
36126
|
+
if (waiting) {
|
|
36127
|
+
this.waiting = null;
|
|
36128
|
+
waiting({ done: true, value: void 0 });
|
|
36129
|
+
}
|
|
36130
|
+
}
|
|
36131
|
+
[Symbol.asyncIterator]() {
|
|
36132
|
+
return {
|
|
36133
|
+
next: async () => {
|
|
36134
|
+
if (this.pending.length > 0) return { done: false, value: this.pending.shift() };
|
|
36135
|
+
if (this.closed) return { done: true, value: void 0 };
|
|
36136
|
+
return await new Promise((resolve3) => {
|
|
36137
|
+
this.waiting = resolve3;
|
|
36138
|
+
});
|
|
36139
|
+
}
|
|
36140
|
+
};
|
|
36141
|
+
}
|
|
36142
|
+
};
|
|
36143
|
+
function vendorUserMessage(text) {
|
|
36144
|
+
return {
|
|
36145
|
+
type: "user",
|
|
36146
|
+
session_id: "",
|
|
36147
|
+
message: { role: "user", content: [{ type: "text", text }] },
|
|
36148
|
+
parent_tool_use_id: null
|
|
36149
|
+
};
|
|
36150
|
+
}
|
|
36151
|
+
function runVendorSession(input) {
|
|
36152
|
+
const queue = new VendorInputQueue();
|
|
36153
|
+
const run = query({
|
|
36154
|
+
prompt: queue,
|
|
36155
|
+
options: input.options
|
|
36156
|
+
});
|
|
36157
|
+
let closed = false;
|
|
36158
|
+
return {
|
|
36159
|
+
send(text) {
|
|
36160
|
+
if (closed) return;
|
|
36161
|
+
queue.push(vendorUserMessage(text));
|
|
36162
|
+
},
|
|
36163
|
+
async interrupt() {
|
|
36164
|
+
if (closed || typeof run.interrupt !== "function") return;
|
|
36165
|
+
await run.interrupt();
|
|
36166
|
+
},
|
|
36167
|
+
async stopTask(taskId) {
|
|
36168
|
+
if (closed) return;
|
|
36169
|
+
if (typeof run.stopTask !== "function") {
|
|
36170
|
+
throw new TypeError("This Claude Agent SDK build has no stopTask control request.");
|
|
36171
|
+
}
|
|
36172
|
+
await run.stopTask(taskId);
|
|
36173
|
+
},
|
|
36174
|
+
async backgroundTasks(toolUseId) {
|
|
36175
|
+
if (closed) return false;
|
|
36176
|
+
if (typeof run.backgroundTasks !== "function") {
|
|
36177
|
+
throw new TypeError("This Claude Agent SDK build has no background_tasks control request.");
|
|
36178
|
+
}
|
|
36179
|
+
return await run.backgroundTasks(toolUseId);
|
|
36180
|
+
},
|
|
36181
|
+
async getContextUsage() {
|
|
36182
|
+
if (closed || typeof run.getContextUsage !== "function") return null;
|
|
36183
|
+
try {
|
|
36184
|
+
return readVendorContextUsage(await run.getContextUsage());
|
|
36185
|
+
} catch {
|
|
36186
|
+
return null;
|
|
36187
|
+
}
|
|
36188
|
+
},
|
|
36189
|
+
[Symbol.asyncIterator]() {
|
|
36190
|
+
const iterator = run[Symbol.asyncIterator]();
|
|
36191
|
+
return {
|
|
36192
|
+
async next() {
|
|
36193
|
+
const result = await iterator.next();
|
|
36194
|
+
return result.done === true ? { done: true, value: void 0 } : { done: false, value: result.value };
|
|
36195
|
+
}
|
|
36196
|
+
};
|
|
36197
|
+
},
|
|
36198
|
+
close() {
|
|
36199
|
+
if (closed) return;
|
|
36200
|
+
closed = true;
|
|
36201
|
+
queue.close();
|
|
36202
|
+
try {
|
|
36203
|
+
if (typeof run.close === "function") run.close();
|
|
36204
|
+
else {
|
|
36205
|
+
const closing = run.return?.(void 0);
|
|
36206
|
+
if (closing !== void 0) void closing.catch(() => void 0);
|
|
36207
|
+
}
|
|
36208
|
+
} catch {
|
|
36209
|
+
}
|
|
36210
|
+
}
|
|
36211
|
+
};
|
|
36212
|
+
}
|
|
35803
36213
|
|
|
35804
36214
|
// ../../packages/core-agent/src/claude/sdk.ts
|
|
35805
36215
|
var NATIVE_MODEL_ALIASES = /* @__PURE__ */ new Set(["sonnet", "opus", "opus[1m]", "haiku", "fable", "fable[1m]"]);
|
|
@@ -35811,79 +36221,135 @@ async function createClaudeGatewaySdk(options) {
|
|
|
35811
36221
|
const configDir = options.home?.kind === "shared" ? createSharedClaudeConfigHome(options.home.configDir) : await createIsolatedClaudeConfigDir(options.tempRoot);
|
|
35812
36222
|
let disposed = false;
|
|
35813
36223
|
let active = null;
|
|
36224
|
+
const reserveSlot = (kind) => {
|
|
36225
|
+
if (disposed) throw new Error("This Claude gateway SDK instance has been disposed.");
|
|
36226
|
+
if (active) {
|
|
36227
|
+
throw new Error(kind === "turn" ? "A turn is already running on this instance. Await it, or create another instance." : "A turn or session is already running on this instance. Close it, or create another instance.");
|
|
36228
|
+
}
|
|
36229
|
+
const reservation = { close: () => void 0 };
|
|
36230
|
+
active = reservation;
|
|
36231
|
+
return reservation;
|
|
36232
|
+
};
|
|
36233
|
+
const prepareLaunch = async () => {
|
|
36234
|
+
await configDir.writeModelCache({ baseUrl, models: catalogModels, fetchedAt: Date.now() });
|
|
36235
|
+
return claudeGatewayLaunchEnv(inherited, {
|
|
36236
|
+
baseUrl,
|
|
36237
|
+
configDir: configDir.path,
|
|
36238
|
+
homeKind: options.home?.kind === "shared" ? "shared" : "isolated"
|
|
36239
|
+
});
|
|
36240
|
+
};
|
|
36241
|
+
const vendorRunOptions = (request, model, env) => ({
|
|
36242
|
+
env,
|
|
36243
|
+
model,
|
|
36244
|
+
...request.systemPrompt === void 0 ? {} : { systemPrompt: vendorSystemPrompt(request.systemPrompt) },
|
|
36245
|
+
// 패키지가 스스로 지어내는 지시는 없다 — 여기 실리는 것은 전부 호출자가 고른 것이고,
|
|
36246
|
+
// 고르지 않으면 아무것도 붙지 않는다. 두 기본값이 그 규율을 구조로 만든다:
|
|
36247
|
+
// `settingSources: []`가 사용자·프로젝트 설정과 CLAUDE.md를 끄고, `strictMcpConfig`가
|
|
36248
|
+
// 그와 별개인 ambient .mcp.json·플러그인 MCP를 막는다.
|
|
36249
|
+
settingSources: options.settingSources ? [...options.settingSources] : [],
|
|
36250
|
+
strictMcpConfig: options.allowAmbientMcpServers !== true,
|
|
36251
|
+
// 플러그인의 MCP 선언은 읽지 않는다 — 좌표는 호출자가 이미 소유한다.
|
|
36252
|
+
...options.plugins && options.plugins.length > 0 ? { plugins: options.plugins.map((plugin) => ({ type: "local", path: plugin.path, skipMcpDiscovery: true })) } : {},
|
|
36253
|
+
// `--settings`와 같은 자리다. flag 소스로 병합되므로 사용자·프로젝트 설정을 대체하지 않는다.
|
|
36254
|
+
// skillOverrides와 ultracode만 연다 — settings 전체를 열면 호출자가 쓰지 않은 지시가 들어온다.
|
|
36255
|
+
...vendorFlagSettings(options),
|
|
36256
|
+
...request.effort === void 0 ? {} : { effort: request.effort },
|
|
36257
|
+
...request.cwd === void 0 ? {} : { cwd: request.cwd },
|
|
36258
|
+
...request.resume === void 0 ? {} : { resume: request.resume },
|
|
36259
|
+
...request.maxTurns === void 0 ? {} : { maxTurns: request.maxTurns },
|
|
36260
|
+
...request.maxBudgetUsd === void 0 ? {} : { maxBudgetUsd: request.maxBudgetUsd },
|
|
36261
|
+
...request.tools === void 0 ? {} : { tools: [...request.tools] },
|
|
36262
|
+
...request.allowedTools === void 0 ? {} : { allowedTools: [...request.allowedTools] },
|
|
36263
|
+
...request.disallowedTools === void 0 ? {} : { disallowedTools: [...request.disallowedTools] },
|
|
36264
|
+
...request.permissionMode === void 0 ? {} : { permissionMode: request.permissionMode },
|
|
36265
|
+
...request.canUseTool === void 0 ? {} : { canUseTool: vendorCanUseTool(request.canUseTool) },
|
|
36266
|
+
...request.mcpServers === void 0 && request.servedMcpServers === void 0 ? {} : { mcpServers: { ...request.mcpServers, ...vendorServedMcpServers(request.servedMcpServers) } },
|
|
36267
|
+
...request.includePartialMessages === void 0 ? {} : { includePartialMessages: request.includePartialMessages },
|
|
36268
|
+
...request.abortController === void 0 ? {} : { abortController: request.abortController },
|
|
36269
|
+
...request.stderr === void 0 ? {} : { stderr: request.stderr }
|
|
36270
|
+
});
|
|
35814
36271
|
const sdk = {
|
|
35815
36272
|
configDir: configDir.path,
|
|
35816
36273
|
models: Object.freeze(accepted.map((entry) => entry.id)),
|
|
35817
36274
|
async startTurn(turn) {
|
|
35818
|
-
|
|
35819
|
-
|
|
35820
|
-
|
|
35821
|
-
|
|
35822
|
-
|
|
35823
|
-
|
|
35824
|
-
|
|
35825
|
-
|
|
35826
|
-
|
|
35827
|
-
|
|
35828
|
-
|
|
35829
|
-
|
|
35830
|
-
|
|
35831
|
-
|
|
35832
|
-
|
|
35833
|
-
|
|
35834
|
-
|
|
35835
|
-
|
|
35836
|
-
|
|
35837
|
-
|
|
35838
|
-
|
|
35839
|
-
|
|
35840
|
-
|
|
35841
|
-
|
|
35842
|
-
|
|
35843
|
-
|
|
35844
|
-
|
|
35845
|
-
|
|
35846
|
-
|
|
35847
|
-
|
|
35848
|
-
|
|
35849
|
-
|
|
35850
|
-
|
|
35851
|
-
|
|
35852
|
-
|
|
35853
|
-
|
|
35854
|
-
|
|
35855
|
-
|
|
35856
|
-
...turn.canUseTool === void 0 ? {} : { canUseTool: vendorCanUseTool(turn.canUseTool) },
|
|
35857
|
-
...turn.mcpServers === void 0 && turn.servedMcpServers === void 0 ? {} : { mcpServers: { ...turn.mcpServers, ...vendorServedMcpServers(turn.servedMcpServers) } },
|
|
35858
|
-
...turn.includePartialMessages === void 0 ? {} : { includePartialMessages: turn.includePartialMessages },
|
|
35859
|
-
...turn.abortController === void 0 ? {} : { abortController: turn.abortController },
|
|
35860
|
-
...turn.stderr === void 0 ? {} : { stderr: turn.stderr }
|
|
36275
|
+
const reservation = reserveSlot("turn");
|
|
36276
|
+
try {
|
|
36277
|
+
assertKnownTurnKeys(turn);
|
|
36278
|
+
if (typeof turn.prompt !== "string" || turn.prompt.length === 0) {
|
|
36279
|
+
throw new TypeError("turn.prompt must be a non-empty string.");
|
|
36280
|
+
}
|
|
36281
|
+
const model = resolveTurnModel(turn.model, accepted);
|
|
36282
|
+
const env = await prepareLaunch();
|
|
36283
|
+
const run = runVendorQuery({
|
|
36284
|
+
prompt: turn.prompt,
|
|
36285
|
+
options: vendorRunOptions(turn, model, env)
|
|
36286
|
+
});
|
|
36287
|
+
const release = () => {
|
|
36288
|
+
if (active === tracked) active = null;
|
|
36289
|
+
};
|
|
36290
|
+
const tracked = {
|
|
36291
|
+
[Symbol.asyncIterator]() {
|
|
36292
|
+
const iterator = run[Symbol.asyncIterator]();
|
|
36293
|
+
return {
|
|
36294
|
+
async next() {
|
|
36295
|
+
const result = await iterator.next();
|
|
36296
|
+
if (result.done === true) release();
|
|
36297
|
+
return result;
|
|
36298
|
+
}
|
|
36299
|
+
};
|
|
36300
|
+
},
|
|
36301
|
+
close() {
|
|
36302
|
+
try {
|
|
36303
|
+
run.close();
|
|
36304
|
+
} finally {
|
|
36305
|
+
release();
|
|
36306
|
+
}
|
|
36307
|
+
},
|
|
36308
|
+
getContextUsage: () => run.getContextUsage()
|
|
36309
|
+
};
|
|
36310
|
+
if (active !== reservation) {
|
|
36311
|
+
run.close();
|
|
36312
|
+
throw new Error("This Claude gateway SDK instance has been disposed.");
|
|
35861
36313
|
}
|
|
35862
|
-
|
|
35863
|
-
|
|
35864
|
-
|
|
35865
|
-
|
|
35866
|
-
|
|
35867
|
-
|
|
35868
|
-
|
|
35869
|
-
|
|
35870
|
-
|
|
35871
|
-
|
|
35872
|
-
|
|
35873
|
-
|
|
36314
|
+
active = tracked;
|
|
36315
|
+
return tracked;
|
|
36316
|
+
} catch (error51) {
|
|
36317
|
+
if (active === reservation) active = null;
|
|
36318
|
+
throw error51;
|
|
36319
|
+
}
|
|
36320
|
+
},
|
|
36321
|
+
async openSession(request) {
|
|
36322
|
+
const reservation = reserveSlot("session");
|
|
36323
|
+
try {
|
|
36324
|
+
assertKnownSessionKeys(request);
|
|
36325
|
+
const model = resolveTurnModel(request.model, accepted);
|
|
36326
|
+
const env = await prepareLaunch();
|
|
36327
|
+
const session = runVendorSession({ options: vendorRunOptions(request, model, env) });
|
|
36328
|
+
const tracked = {
|
|
36329
|
+
send: (text) => session.send(text),
|
|
36330
|
+
interrupt: () => session.interrupt(),
|
|
36331
|
+
stopTask: (taskId) => session.stopTask(taskId),
|
|
36332
|
+
backgroundTasks: (toolUseId) => session.backgroundTasks(toolUseId),
|
|
36333
|
+
getContextUsage: () => session.getContextUsage(),
|
|
36334
|
+
[Symbol.asyncIterator]: () => session[Symbol.asyncIterator](),
|
|
36335
|
+
close() {
|
|
36336
|
+
try {
|
|
36337
|
+
session.close();
|
|
36338
|
+
} finally {
|
|
36339
|
+
if (active === tracked) active = null;
|
|
35874
36340
|
}
|
|
35875
|
-
};
|
|
35876
|
-
},
|
|
35877
|
-
close() {
|
|
35878
|
-
try {
|
|
35879
|
-
run.close();
|
|
35880
|
-
} finally {
|
|
35881
|
-
release();
|
|
35882
36341
|
}
|
|
36342
|
+
};
|
|
36343
|
+
if (active !== reservation) {
|
|
36344
|
+
session.close();
|
|
36345
|
+
throw new Error("This Claude gateway SDK instance has been disposed.");
|
|
35883
36346
|
}
|
|
35884
|
-
|
|
35885
|
-
|
|
35886
|
-
|
|
36347
|
+
active = tracked;
|
|
36348
|
+
return tracked;
|
|
36349
|
+
} catch (error51) {
|
|
36350
|
+
if (active === reservation) active = null;
|
|
36351
|
+
throw error51;
|
|
36352
|
+
}
|
|
35887
36353
|
},
|
|
35888
36354
|
async dispose() {
|
|
35889
36355
|
if (disposed) return;
|
|
@@ -35965,6 +36431,14 @@ function vendorCanUseTool(canUseTool) {
|
|
|
35965
36431
|
}
|
|
35966
36432
|
};
|
|
35967
36433
|
}
|
|
36434
|
+
function vendorFlagSettings(options) {
|
|
36435
|
+
const settings2 = {};
|
|
36436
|
+
if (options.skillOverrides && Object.keys(options.skillOverrides).length > 0) {
|
|
36437
|
+
settings2.skillOverrides = { ...options.skillOverrides };
|
|
36438
|
+
}
|
|
36439
|
+
if (options.ultracode === true) settings2.ultracode = true;
|
|
36440
|
+
return Object.keys(settings2).length > 0 ? { settings: settings2 } : {};
|
|
36441
|
+
}
|
|
35968
36442
|
function vendorSystemPrompt(systemPrompt) {
|
|
35969
36443
|
const text = systemPrompt?.text;
|
|
35970
36444
|
if (typeof text !== "string" || text.length === 0) {
|
|
@@ -35982,6 +36456,14 @@ function assertKnownTurnKeys(turn) {
|
|
|
35982
36456
|
);
|
|
35983
36457
|
}
|
|
35984
36458
|
}
|
|
36459
|
+
function assertKnownSessionKeys(request) {
|
|
36460
|
+
const unknown2 = Object.keys(request).filter((key) => !CLAUDE_GATEWAY_SESSION_KEYS.includes(key));
|
|
36461
|
+
if (unknown2.length > 0) {
|
|
36462
|
+
throw new TypeError(
|
|
36463
|
+
`Unsupported session option(s): ${unknown2.join(", ")}. Only an instruction the caller authored may reach the child, through systemPrompt; every other instruction channel is closed, so those options do not exist. A session receives its prompts through send(), never as an option.`
|
|
36464
|
+
);
|
|
36465
|
+
}
|
|
36466
|
+
}
|
|
35985
36467
|
function vendorServedMcpServers(servers) {
|
|
35986
36468
|
if (!servers?.length) return {};
|
|
35987
36469
|
return Object.fromEntries(servers.map((server) => [server.name, {
|
|
@@ -36800,17 +37282,6 @@ function toMetadata(item) {
|
|
|
36800
37282
|
};
|
|
36801
37283
|
}
|
|
36802
37284
|
|
|
36803
|
-
// core/host/security-headers.ts
|
|
36804
|
-
var CONSOLE_SECURITY_HEADERS = {
|
|
36805
|
-
"Content-Security-Policy": "default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https://img.shields.io; font-src 'self' data:; connect-src 'self' ws: wss: https://api.github.com; object-src 'none'; base-uri 'none'",
|
|
36806
|
-
"X-Content-Type-Options": "nosniff",
|
|
36807
|
-
"Referrer-Policy": "no-referrer",
|
|
36808
|
-
"Cache-Control": "no-store"
|
|
36809
|
-
};
|
|
36810
|
-
function withSecurityHeaders2(headers = {}) {
|
|
36811
|
-
return { ...CONSOLE_SECURITY_HEADERS, ...headers };
|
|
36812
|
-
}
|
|
36813
|
-
|
|
36814
37285
|
// core/host/codex/gateway.ts
|
|
36815
37286
|
var CODEX_BASE = "/console/codex";
|
|
36816
37287
|
var ALLOWED_METHODS = /* @__PURE__ */ new Set(["GET", "HEAD", "POST"]);
|
|
@@ -42247,7 +42718,6 @@ function createConsoleStalePolicy(deps = {}) {
|
|
|
42247
42718
|
// core/host/console-lifecycle.ts
|
|
42248
42719
|
var FIXED_HOST = "127.0.0.1";
|
|
42249
42720
|
var HELP_BANNER_INDENT = " ";
|
|
42250
|
-
var DEFAULT_HELP_RELEASE = "local";
|
|
42251
42721
|
var CONSOLE_HOOK_COMMANDS = /* @__PURE__ */ new Set(["capture-session", "turn-start", "turn-end", "background-report", "background-spawn", "background-stop", "attention", "auto-name"]);
|
|
42252
42722
|
function parseConsoleCliMode(argv) {
|
|
42253
42723
|
if (argv.length === 0) return "start";
|
|
@@ -42290,7 +42760,8 @@ function parseConsoleHookCommand(argv) {
|
|
|
42290
42760
|
}
|
|
42291
42761
|
function buildConsoleHelpText(options = {}) {
|
|
42292
42762
|
const colorEnabled = resolveColorEnabled(options);
|
|
42293
|
-
const
|
|
42763
|
+
const release = options.release ?? formatConsoleHelpRelease();
|
|
42764
|
+
const subtitle = `Fleet Console \xB7 ${release}`;
|
|
42294
42765
|
const lines = [
|
|
42295
42766
|
...ASCII_FLEET_BANNER.map(
|
|
42296
42767
|
(line, index) => `${HELP_BANNER_INDENT}${paint(GRADIENT_COLORS[index] ?? FLEET_COMMAND, line, colorEnabled)}`
|
|
@@ -42323,6 +42794,10 @@ function buildConsoleHelpText(options = {}) {
|
|
|
42323
42794
|
const text = lines.join("\n");
|
|
42324
42795
|
return colorEnabled ? text : stripAnsi(text);
|
|
42325
42796
|
}
|
|
42797
|
+
function formatConsoleHelpRelease() {
|
|
42798
|
+
const release = readFleetCliRelease();
|
|
42799
|
+
return `${release.version} \xB7 ${release.channel}`;
|
|
42800
|
+
}
|
|
42326
42801
|
function createConsoleDaemonLifecycle(deps = {}) {
|
|
42327
42802
|
const env = deps.env ?? process4.env;
|
|
42328
42803
|
const childEnv = env.FLEET_CONSOLE_NO_SYSTEM_CA === "1" ? env : withNodeSystemCa(env);
|