@dotobokuri/fleet-console 1.63.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/dist/cli.mjs +515 -82
- package/dist/client/assets/{_baseUniq-CVUU389k.js → _baseUniq-DurhRkUz.js} +1 -1
- package/dist/client/assets/{arc-Fg3WjPoW.js → arc-CRs5BdYr.js} +1 -1
- package/dist/client/assets/{architectureDiagram-Q4EWVU46-gAB_QWIv.js → architectureDiagram-Q4EWVU46-Djo8uCUV.js} +1 -1
- package/dist/client/assets/{blockDiagram-DXYQGD6D-DCY_3CSv.js → blockDiagram-DXYQGD6D-hQdc3yPb.js} +1 -1
- package/dist/client/assets/{c4Diagram-AHTNJAMY-2ai4d9rg.js → c4Diagram-AHTNJAMY-Czv6wUeb.js} +1 -1
- package/dist/client/assets/channel-DluRfcgW.js +1 -0
- package/dist/client/assets/{chunk-4BX2VUAB-C-sjgNCE.js → chunk-4BX2VUAB-DXjqdOUQ.js} +1 -1
- package/dist/client/assets/{chunk-4TB4RGXK-Co7w9KaD.js → chunk-4TB4RGXK-vvWT5R7G.js} +1 -1
- package/dist/client/assets/{chunk-55IACEB6-Dspr2174.js → chunk-55IACEB6-DMDBDn4n.js} +1 -1
- package/dist/client/assets/{chunk-EDXVE4YY-UzzG0ax3.js → chunk-EDXVE4YY-CvZM4UpD.js} +1 -1
- package/dist/client/assets/{chunk-FMBD7UC4-DKXcUQqJ.js → chunk-FMBD7UC4-BArng_V9.js} +1 -1
- package/dist/client/assets/{chunk-OYMX7WX6-vW--qrkP.js → chunk-OYMX7WX6-DwNWyoK7.js} +1 -1
- package/dist/client/assets/{chunk-QZHKN3VN-DyE-yBhf.js → chunk-QZHKN3VN--guvcrYz.js} +1 -1
- package/dist/client/assets/{chunk-YZCP3GAM-C7LLTO2-.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-BkDNeJiw.js → cose-bilkent-S5V4N54A-BMg_LOnu.js} +1 -1
- package/dist/client/assets/{dagre-KV5264BT-DqeN9oF3.js → dagre-KV5264BT-Dr7w5bQR.js} +1 -1
- package/dist/client/assets/{diagram-5BDNPKRD-BXzt4-3Y.js → diagram-5BDNPKRD-B3mTbXqP.js} +1 -1
- package/dist/client/assets/{diagram-G4DWMVQ6-DbzDYVOf.js → diagram-G4DWMVQ6-qb3u5_YF.js} +1 -1
- package/dist/client/assets/{diagram-MMDJMWI5-wPQu3o7B.js → diagram-MMDJMWI5-CBBgto41.js} +1 -1
- package/dist/client/assets/{diagram-TYMM5635-C-vwFwzf.js → diagram-TYMM5635-Cmo3cjOQ.js} +1 -1
- package/dist/client/assets/{erDiagram-SMLLAGMA-CcukuTgN.js → erDiagram-SMLLAGMA-HeqZPhtI.js} +1 -1
- package/dist/client/assets/{flowDiagram-DWJPFMVM-BT8ZNr2Y.js → flowDiagram-DWJPFMVM-C34ZouQN.js} +1 -1
- package/dist/client/assets/{ganttDiagram-T4ZO3ILL-B_wNcZrL.js → ganttDiagram-T4ZO3ILL-BL2_YoJe.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-UUTBAWPF-dUwwvDSd.js → gitGraphDiagram-UUTBAWPF-DSC8Gr0E.js} +1 -1
- package/dist/client/assets/{graph-C4i_jr7e.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-Bf2KPu0t.js → infoDiagram-42DDH7IO-BX_lYqHx.js} +1 -1
- package/dist/client/assets/{ishikawaDiagram-UXIWVN3A-DjHChg2o.js → ishikawaDiagram-UXIWVN3A-CsXWVwyY.js} +1 -1
- package/dist/client/assets/{journeyDiagram-VCZTEJTY-B08epGYF.js → journeyDiagram-VCZTEJTY-ETPWVMNg.js} +1 -1
- package/dist/client/assets/{kanban-definition-6JOO6SKY-BFasXRgc.js → kanban-definition-6JOO6SKY-m7hLIKgZ.js} +1 -1
- package/dist/client/assets/{layout-Q_W10VzL.js → layout-DrRXjJzL.js} +1 -1
- package/dist/client/assets/{linear-Dy4fc5kq.js → linear-DzDd2m9j.js} +1 -1
- package/dist/client/assets/{mermaid.core-OtTy8N5f.js → mermaid.core-BHkit2JY.js} +4 -4
- package/dist/client/assets/{min-DODD7JTz.js → min-DtwEer1D.js} +1 -1
- package/dist/client/assets/{mindmap-definition-QFDTVHPH-DMhpsiYD.js → mindmap-definition-QFDTVHPH-BO-uheb7.js} +1 -1
- package/dist/client/assets/{pieDiagram-DEJITSTG-C5usaVgs.js → pieDiagram-DEJITSTG-B_4VqNKt.js} +1 -1
- package/dist/client/assets/{quadrantDiagram-34T5L4WZ-B-b2NvBz.js → quadrantDiagram-34T5L4WZ-HhtqXdkD.js} +1 -1
- package/dist/client/assets/{requirementDiagram-MS252O5E-D6_4jY3n.js → requirementDiagram-MS252O5E-CSotIpLH.js} +1 -1
- package/dist/client/assets/{sankeyDiagram-XADWPNL6-B6imEhCV.js → sankeyDiagram-XADWPNL6-a8krBcEy.js} +1 -1
- package/dist/client/assets/{sequenceDiagram-FGHM5R23-BRHNnuqK.js → sequenceDiagram-FGHM5R23-D9Tlp8oT.js} +1 -1
- package/dist/client/assets/{stateDiagram-FHFEXIEX-RiIddIHL.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-BhP14Blt.js → timeline-definition-GMOUNBTQ-CxAJtY22.js} +1 -1
- package/dist/client/assets/{vennDiagram-DHZGUBPP-CtzwrBNs.js → vennDiagram-DHZGUBPP-BSTXi411.js} +1 -1
- package/dist/client/assets/{wardley-RL74JXVD-TXsee18-.js → wardley-RL74JXVD-BipCMOcx.js} +1 -1
- package/dist/client/assets/{wardleyDiagram-NUSXRM2D-CrJP7pf7.js → wardleyDiagram-NUSXRM2D-BudrJ8a1.js} +1 -1
- package/dist/client/assets/{xychartDiagram-5P7HB3ND-rB-PigjI.js → xychartDiagram-5P7HB3ND-BYlMZf2g.js} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/fleet-plugins/ledger/routes.mjs +259 -1
- package/dist/fleet-plugins/quota/routes.mjs +259 -1
- package/dist/fleet-plugins/scuttlebutt/routes.mjs +505 -68
- package/dist/fleet-plugins/terminal/routes.mjs +856 -155
- package/dist/fleet.mjs +515 -82
- package/package.json +1 -1
- package/dist/client/assets/channel-DlA1BRCV.js +0 -1
- package/dist/client/assets/classDiagram-6PBFFD2Q-rBpGSdtk.js +0 -1
- package/dist/client/assets/classDiagram-v2-HSJHXN6E-rBpGSdtk.js +0 -1
- package/dist/client/assets/clone-_1aYWCbr.js +0 -1
- package/dist/client/assets/index-BXtDpU36.js +0 -465
- package/dist/client/assets/index-CLb_APbh.css +0 -1
- package/dist/client/assets/stateDiagram-v2-QKLJ7IA2-CsHfIgMa.js +0 -1
package/dist/fleet.mjs
CHANGED
|
@@ -22227,7 +22227,7 @@ var models_default = {
|
|
|
22227
22227
|
codex: {
|
|
22228
22228
|
name: "Codex",
|
|
22229
22229
|
defaultModel: "gpt-5.6-sol",
|
|
22230
|
-
source: "codex app-server model/list (codex-cli 0.147.0, observed 2026-08-11) for model/effort/service-tier; Fleet catalog effort ladders are capped at max because harness launch capabilities are not model rungs;
|
|
22230
|
+
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",
|
|
22231
22231
|
models: [
|
|
22232
22232
|
{
|
|
22233
22233
|
modelId: "gpt-5.6-sol",
|
|
@@ -22354,6 +22354,264 @@ var models_default = {
|
|
|
22354
22354
|
"gpt-5.6-luna-fast"
|
|
22355
22355
|
],
|
|
22356
22356
|
benchmarkKey: "gpt-5.6-luna"
|
|
22357
|
+
},
|
|
22358
|
+
{
|
|
22359
|
+
modelId: "gpt-5.6-sol-512k",
|
|
22360
|
+
name: "GPT-5.6-Sol-512K",
|
|
22361
|
+
capabilityClass: "flagship",
|
|
22362
|
+
providerModelId: "gpt-5.6-sol",
|
|
22363
|
+
contextWindow: 524288,
|
|
22364
|
+
effort: {
|
|
22365
|
+
supported: true,
|
|
22366
|
+
levels: [
|
|
22367
|
+
"low",
|
|
22368
|
+
"medium",
|
|
22369
|
+
"high",
|
|
22370
|
+
"xhigh",
|
|
22371
|
+
"max"
|
|
22372
|
+
]
|
|
22373
|
+
},
|
|
22374
|
+
aliases: [
|
|
22375
|
+
"gpt-5.6-sol-512k"
|
|
22376
|
+
],
|
|
22377
|
+
benchmarkKey: "gpt-5.6-sol"
|
|
22378
|
+
},
|
|
22379
|
+
{
|
|
22380
|
+
modelId: "gpt-5.6-sol-512k-fast",
|
|
22381
|
+
name: "GPT-5.6-Sol-512K-Fast",
|
|
22382
|
+
capabilityClass: "flagship",
|
|
22383
|
+
providerModelId: "gpt-5.6-sol",
|
|
22384
|
+
serviceTier: "priority",
|
|
22385
|
+
contextWindow: 524288,
|
|
22386
|
+
effort: {
|
|
22387
|
+
supported: true,
|
|
22388
|
+
levels: [
|
|
22389
|
+
"low",
|
|
22390
|
+
"medium",
|
|
22391
|
+
"high",
|
|
22392
|
+
"xhigh",
|
|
22393
|
+
"max"
|
|
22394
|
+
]
|
|
22395
|
+
},
|
|
22396
|
+
aliases: [
|
|
22397
|
+
"gpt-5.6-sol-512k-fast"
|
|
22398
|
+
],
|
|
22399
|
+
benchmarkKey: "gpt-5.6-sol"
|
|
22400
|
+
},
|
|
22401
|
+
{
|
|
22402
|
+
modelId: "gpt-5.6-luna-512k",
|
|
22403
|
+
name: "GPT-5.6-Luna-512K",
|
|
22404
|
+
capabilityClass: "light",
|
|
22405
|
+
providerModelId: "gpt-5.6-luna",
|
|
22406
|
+
contextWindow: 524288,
|
|
22407
|
+
effort: {
|
|
22408
|
+
supported: true,
|
|
22409
|
+
levels: [
|
|
22410
|
+
"low",
|
|
22411
|
+
"medium",
|
|
22412
|
+
"high",
|
|
22413
|
+
"xhigh",
|
|
22414
|
+
"max"
|
|
22415
|
+
]
|
|
22416
|
+
},
|
|
22417
|
+
aliases: [
|
|
22418
|
+
"gpt-5.6-luna-512k"
|
|
22419
|
+
],
|
|
22420
|
+
benchmarkKey: "gpt-5.6-luna"
|
|
22421
|
+
},
|
|
22422
|
+
{
|
|
22423
|
+
modelId: "gpt-5.6-luna-512k-fast",
|
|
22424
|
+
name: "GPT-5.6-Luna-512K-Fast",
|
|
22425
|
+
capabilityClass: "light",
|
|
22426
|
+
providerModelId: "gpt-5.6-luna",
|
|
22427
|
+
serviceTier: "priority",
|
|
22428
|
+
contextWindow: 524288,
|
|
22429
|
+
effort: {
|
|
22430
|
+
supported: true,
|
|
22431
|
+
levels: [
|
|
22432
|
+
"low",
|
|
22433
|
+
"medium",
|
|
22434
|
+
"high",
|
|
22435
|
+
"xhigh",
|
|
22436
|
+
"max"
|
|
22437
|
+
]
|
|
22438
|
+
},
|
|
22439
|
+
aliases: [
|
|
22440
|
+
"gpt-5.6-luna-512k-fast"
|
|
22441
|
+
],
|
|
22442
|
+
benchmarkKey: "gpt-5.6-luna"
|
|
22443
|
+
},
|
|
22444
|
+
{
|
|
22445
|
+
modelId: "gpt-5.6-terra-512k",
|
|
22446
|
+
name: "GPT-5.6-Terra-512K",
|
|
22447
|
+
capabilityClass: "standard",
|
|
22448
|
+
providerModelId: "gpt-5.6-terra",
|
|
22449
|
+
contextWindow: 524288,
|
|
22450
|
+
effort: {
|
|
22451
|
+
supported: true,
|
|
22452
|
+
levels: [
|
|
22453
|
+
"low",
|
|
22454
|
+
"medium",
|
|
22455
|
+
"high",
|
|
22456
|
+
"xhigh",
|
|
22457
|
+
"max"
|
|
22458
|
+
]
|
|
22459
|
+
},
|
|
22460
|
+
aliases: [
|
|
22461
|
+
"gpt-5.6-terra-512k"
|
|
22462
|
+
],
|
|
22463
|
+
benchmarkKey: "gpt-5.6-terra"
|
|
22464
|
+
},
|
|
22465
|
+
{
|
|
22466
|
+
modelId: "gpt-5.6-terra-512k-fast",
|
|
22467
|
+
name: "GPT-5.6-Terra-512K-Fast",
|
|
22468
|
+
capabilityClass: "standard",
|
|
22469
|
+
providerModelId: "gpt-5.6-terra",
|
|
22470
|
+
serviceTier: "priority",
|
|
22471
|
+
contextWindow: 524288,
|
|
22472
|
+
effort: {
|
|
22473
|
+
supported: true,
|
|
22474
|
+
levels: [
|
|
22475
|
+
"low",
|
|
22476
|
+
"medium",
|
|
22477
|
+
"high",
|
|
22478
|
+
"xhigh",
|
|
22479
|
+
"max"
|
|
22480
|
+
]
|
|
22481
|
+
},
|
|
22482
|
+
aliases: [
|
|
22483
|
+
"gpt-5.6-terra-512k-fast"
|
|
22484
|
+
],
|
|
22485
|
+
benchmarkKey: "gpt-5.6-terra"
|
|
22486
|
+
},
|
|
22487
|
+
{
|
|
22488
|
+
modelId: "gpt-5.6-sol-1m",
|
|
22489
|
+
name: "GPT-5.6-Sol-1M",
|
|
22490
|
+
capabilityClass: "flagship",
|
|
22491
|
+
providerModelId: "gpt-5.6-sol",
|
|
22492
|
+
contextWindow: 1e6,
|
|
22493
|
+
effort: {
|
|
22494
|
+
supported: true,
|
|
22495
|
+
levels: [
|
|
22496
|
+
"low",
|
|
22497
|
+
"medium",
|
|
22498
|
+
"high",
|
|
22499
|
+
"xhigh",
|
|
22500
|
+
"max"
|
|
22501
|
+
]
|
|
22502
|
+
},
|
|
22503
|
+
aliases: [
|
|
22504
|
+
"gpt-5.6-sol-1m"
|
|
22505
|
+
],
|
|
22506
|
+
benchmarkKey: "gpt-5.6-sol"
|
|
22507
|
+
},
|
|
22508
|
+
{
|
|
22509
|
+
modelId: "gpt-5.6-sol-1m-fast",
|
|
22510
|
+
name: "GPT-5.6-Sol-1M-Fast",
|
|
22511
|
+
capabilityClass: "flagship",
|
|
22512
|
+
providerModelId: "gpt-5.6-sol",
|
|
22513
|
+
serviceTier: "priority",
|
|
22514
|
+
contextWindow: 1e6,
|
|
22515
|
+
effort: {
|
|
22516
|
+
supported: true,
|
|
22517
|
+
levels: [
|
|
22518
|
+
"low",
|
|
22519
|
+
"medium",
|
|
22520
|
+
"high",
|
|
22521
|
+
"xhigh",
|
|
22522
|
+
"max"
|
|
22523
|
+
]
|
|
22524
|
+
},
|
|
22525
|
+
aliases: [
|
|
22526
|
+
"gpt-5.6-sol-1m-fast"
|
|
22527
|
+
],
|
|
22528
|
+
benchmarkKey: "gpt-5.6-sol"
|
|
22529
|
+
},
|
|
22530
|
+
{
|
|
22531
|
+
modelId: "gpt-5.6-luna-1m",
|
|
22532
|
+
name: "GPT-5.6-Luna-1M",
|
|
22533
|
+
capabilityClass: "light",
|
|
22534
|
+
providerModelId: "gpt-5.6-luna",
|
|
22535
|
+
contextWindow: 1e6,
|
|
22536
|
+
effort: {
|
|
22537
|
+
supported: true,
|
|
22538
|
+
levels: [
|
|
22539
|
+
"low",
|
|
22540
|
+
"medium",
|
|
22541
|
+
"high",
|
|
22542
|
+
"xhigh",
|
|
22543
|
+
"max"
|
|
22544
|
+
]
|
|
22545
|
+
},
|
|
22546
|
+
aliases: [
|
|
22547
|
+
"gpt-5.6-luna-1m"
|
|
22548
|
+
],
|
|
22549
|
+
benchmarkKey: "gpt-5.6-luna"
|
|
22550
|
+
},
|
|
22551
|
+
{
|
|
22552
|
+
modelId: "gpt-5.6-luna-1m-fast",
|
|
22553
|
+
name: "GPT-5.6-Luna-1M-Fast",
|
|
22554
|
+
capabilityClass: "light",
|
|
22555
|
+
providerModelId: "gpt-5.6-luna",
|
|
22556
|
+
serviceTier: "priority",
|
|
22557
|
+
contextWindow: 1e6,
|
|
22558
|
+
effort: {
|
|
22559
|
+
supported: true,
|
|
22560
|
+
levels: [
|
|
22561
|
+
"low",
|
|
22562
|
+
"medium",
|
|
22563
|
+
"high",
|
|
22564
|
+
"xhigh",
|
|
22565
|
+
"max"
|
|
22566
|
+
]
|
|
22567
|
+
},
|
|
22568
|
+
aliases: [
|
|
22569
|
+
"gpt-5.6-luna-1m-fast"
|
|
22570
|
+
],
|
|
22571
|
+
benchmarkKey: "gpt-5.6-luna"
|
|
22572
|
+
},
|
|
22573
|
+
{
|
|
22574
|
+
modelId: "gpt-5.6-terra-1m",
|
|
22575
|
+
name: "GPT-5.6-Terra-1M",
|
|
22576
|
+
capabilityClass: "standard",
|
|
22577
|
+
providerModelId: "gpt-5.6-terra",
|
|
22578
|
+
contextWindow: 1e6,
|
|
22579
|
+
effort: {
|
|
22580
|
+
supported: true,
|
|
22581
|
+
levels: [
|
|
22582
|
+
"low",
|
|
22583
|
+
"medium",
|
|
22584
|
+
"high",
|
|
22585
|
+
"xhigh",
|
|
22586
|
+
"max"
|
|
22587
|
+
]
|
|
22588
|
+
},
|
|
22589
|
+
aliases: [
|
|
22590
|
+
"gpt-5.6-terra-1m"
|
|
22591
|
+
],
|
|
22592
|
+
benchmarkKey: "gpt-5.6-terra"
|
|
22593
|
+
},
|
|
22594
|
+
{
|
|
22595
|
+
modelId: "gpt-5.6-terra-1m-fast",
|
|
22596
|
+
name: "GPT-5.6-Terra-1M-Fast",
|
|
22597
|
+
capabilityClass: "standard",
|
|
22598
|
+
providerModelId: "gpt-5.6-terra",
|
|
22599
|
+
serviceTier: "priority",
|
|
22600
|
+
contextWindow: 1e6,
|
|
22601
|
+
effort: {
|
|
22602
|
+
supported: true,
|
|
22603
|
+
levels: [
|
|
22604
|
+
"low",
|
|
22605
|
+
"medium",
|
|
22606
|
+
"high",
|
|
22607
|
+
"xhigh",
|
|
22608
|
+
"max"
|
|
22609
|
+
]
|
|
22610
|
+
},
|
|
22611
|
+
aliases: [
|
|
22612
|
+
"gpt-5.6-terra-1m-fast"
|
|
22613
|
+
],
|
|
22614
|
+
benchmarkKey: "gpt-5.6-terra"
|
|
22357
22615
|
}
|
|
22358
22616
|
]
|
|
22359
22617
|
},
|
|
@@ -48827,8 +49085,6 @@ function isNormalFace(face) {
|
|
|
48827
49085
|
const style = face.style.toLocaleLowerCase();
|
|
48828
49086
|
return NORMAL_FACE_MARKERS.some((marker) => style.includes(marker));
|
|
48829
49087
|
}
|
|
48830
|
-
|
|
48831
|
-
// core/host/system-fonts-routes.ts
|
|
48832
49088
|
var SYSTEM_FONTS_PATH = "/api/v1/settings/fonts/system";
|
|
48833
49089
|
var SYSTEM_FONTS_API_CATALOG = [
|
|
48834
49090
|
{
|
|
@@ -49265,7 +49521,16 @@ function withSecurityHeaders(headers) {
|
|
|
49265
49521
|
};
|
|
49266
49522
|
}
|
|
49267
49523
|
|
|
49268
|
-
// core/host/
|
|
49524
|
+
// core/host/http-infra.ts
|
|
49525
|
+
var CONSOLE_SECURITY_HEADERS = {
|
|
49526
|
+
"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'",
|
|
49527
|
+
"X-Content-Type-Options": "nosniff",
|
|
49528
|
+
"Referrer-Policy": "no-referrer",
|
|
49529
|
+
"Cache-Control": "no-store"
|
|
49530
|
+
};
|
|
49531
|
+
function withSecurityHeaders2(headers = {}) {
|
|
49532
|
+
return { ...CONSOLE_SECURITY_HEADERS, ...headers };
|
|
49533
|
+
}
|
|
49269
49534
|
var SSE_KEEPALIVE_INTERVAL_MS = 3e4;
|
|
49270
49535
|
function encodeSseData(event, data) {
|
|
49271
49536
|
return `event: ${event}
|
|
@@ -50578,6 +50843,9 @@ var CLAUDE_GATEWAY_TURN_KEYS = Object.freeze([
|
|
|
50578
50843
|
"abortController",
|
|
50579
50844
|
"stderr"
|
|
50580
50845
|
]);
|
|
50846
|
+
var CLAUDE_GATEWAY_SESSION_KEYS = Object.freeze(
|
|
50847
|
+
CLAUDE_GATEWAY_TURN_KEYS.filter((key) => key !== "prompt")
|
|
50848
|
+
);
|
|
50581
50849
|
|
|
50582
50850
|
// ../../packages/core-agent/src/claude/launch-env.ts
|
|
50583
50851
|
var CLAUDE_GATEWAY_MODEL_CACHE_RELPATH = "cache/gateway-models.json";
|
|
@@ -50699,6 +50967,111 @@ function runVendorQuery(input) {
|
|
|
50699
50967
|
}
|
|
50700
50968
|
};
|
|
50701
50969
|
}
|
|
50970
|
+
var VendorInputQueue = class {
|
|
50971
|
+
pending = [];
|
|
50972
|
+
waiting = null;
|
|
50973
|
+
closed = false;
|
|
50974
|
+
push(message) {
|
|
50975
|
+
if (this.closed) return;
|
|
50976
|
+
const waiting = this.waiting;
|
|
50977
|
+
if (waiting) {
|
|
50978
|
+
this.waiting = null;
|
|
50979
|
+
waiting({ done: false, value: message });
|
|
50980
|
+
return;
|
|
50981
|
+
}
|
|
50982
|
+
this.pending.push(message);
|
|
50983
|
+
}
|
|
50984
|
+
close() {
|
|
50985
|
+
if (this.closed) return;
|
|
50986
|
+
this.closed = true;
|
|
50987
|
+
const waiting = this.waiting;
|
|
50988
|
+
if (waiting) {
|
|
50989
|
+
this.waiting = null;
|
|
50990
|
+
waiting({ done: true, value: void 0 });
|
|
50991
|
+
}
|
|
50992
|
+
}
|
|
50993
|
+
[Symbol.asyncIterator]() {
|
|
50994
|
+
return {
|
|
50995
|
+
next: async () => {
|
|
50996
|
+
if (this.pending.length > 0) return { done: false, value: this.pending.shift() };
|
|
50997
|
+
if (this.closed) return { done: true, value: void 0 };
|
|
50998
|
+
return await new Promise((resolve3) => {
|
|
50999
|
+
this.waiting = resolve3;
|
|
51000
|
+
});
|
|
51001
|
+
}
|
|
51002
|
+
};
|
|
51003
|
+
}
|
|
51004
|
+
};
|
|
51005
|
+
function vendorUserMessage(text) {
|
|
51006
|
+
return {
|
|
51007
|
+
type: "user",
|
|
51008
|
+
session_id: "",
|
|
51009
|
+
message: { role: "user", content: [{ type: "text", text }] },
|
|
51010
|
+
parent_tool_use_id: null
|
|
51011
|
+
};
|
|
51012
|
+
}
|
|
51013
|
+
function runVendorSession(input) {
|
|
51014
|
+
const queue = new VendorInputQueue();
|
|
51015
|
+
const run = query({
|
|
51016
|
+
prompt: queue,
|
|
51017
|
+
options: input.options
|
|
51018
|
+
});
|
|
51019
|
+
let closed = false;
|
|
51020
|
+
return {
|
|
51021
|
+
send(text) {
|
|
51022
|
+
if (closed) return;
|
|
51023
|
+
queue.push(vendorUserMessage(text));
|
|
51024
|
+
},
|
|
51025
|
+
async interrupt() {
|
|
51026
|
+
if (closed || typeof run.interrupt !== "function") return;
|
|
51027
|
+
await run.interrupt();
|
|
51028
|
+
},
|
|
51029
|
+
async stopTask(taskId) {
|
|
51030
|
+
if (closed) return;
|
|
51031
|
+
if (typeof run.stopTask !== "function") {
|
|
51032
|
+
throw new TypeError("This Claude Agent SDK build has no stopTask control request.");
|
|
51033
|
+
}
|
|
51034
|
+
await run.stopTask(taskId);
|
|
51035
|
+
},
|
|
51036
|
+
async backgroundTasks(toolUseId) {
|
|
51037
|
+
if (closed) return false;
|
|
51038
|
+
if (typeof run.backgroundTasks !== "function") {
|
|
51039
|
+
throw new TypeError("This Claude Agent SDK build has no background_tasks control request.");
|
|
51040
|
+
}
|
|
51041
|
+
return await run.backgroundTasks(toolUseId);
|
|
51042
|
+
},
|
|
51043
|
+
async getContextUsage() {
|
|
51044
|
+
if (closed || typeof run.getContextUsage !== "function") return null;
|
|
51045
|
+
try {
|
|
51046
|
+
return readVendorContextUsage(await run.getContextUsage());
|
|
51047
|
+
} catch {
|
|
51048
|
+
return null;
|
|
51049
|
+
}
|
|
51050
|
+
},
|
|
51051
|
+
[Symbol.asyncIterator]() {
|
|
51052
|
+
const iterator = run[Symbol.asyncIterator]();
|
|
51053
|
+
return {
|
|
51054
|
+
async next() {
|
|
51055
|
+
const result = await iterator.next();
|
|
51056
|
+
return result.done === true ? { done: true, value: void 0 } : { done: false, value: result.value };
|
|
51057
|
+
}
|
|
51058
|
+
};
|
|
51059
|
+
},
|
|
51060
|
+
close() {
|
|
51061
|
+
if (closed) return;
|
|
51062
|
+
closed = true;
|
|
51063
|
+
queue.close();
|
|
51064
|
+
try {
|
|
51065
|
+
if (typeof run.close === "function") run.close();
|
|
51066
|
+
else {
|
|
51067
|
+
const closing = run.return?.(void 0);
|
|
51068
|
+
if (closing !== void 0) void closing.catch(() => void 0);
|
|
51069
|
+
}
|
|
51070
|
+
} catch {
|
|
51071
|
+
}
|
|
51072
|
+
}
|
|
51073
|
+
};
|
|
51074
|
+
}
|
|
50702
51075
|
|
|
50703
51076
|
// ../../packages/core-agent/src/claude/sdk.ts
|
|
50704
51077
|
var NATIVE_MODEL_ALIASES = /* @__PURE__ */ new Set(["sonnet", "opus", "opus[1m]", "haiku", "fable", "fable[1m]"]);
|
|
@@ -50710,80 +51083,135 @@ async function createClaudeGatewaySdk(options) {
|
|
|
50710
51083
|
const configDir = options.home?.kind === "shared" ? createSharedClaudeConfigHome(options.home.configDir) : await createIsolatedClaudeConfigDir(options.tempRoot);
|
|
50711
51084
|
let disposed = false;
|
|
50712
51085
|
let active = null;
|
|
51086
|
+
const reserveSlot = (kind) => {
|
|
51087
|
+
if (disposed) throw new Error("This Claude gateway SDK instance has been disposed.");
|
|
51088
|
+
if (active) {
|
|
51089
|
+
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.");
|
|
51090
|
+
}
|
|
51091
|
+
const reservation = { close: () => void 0 };
|
|
51092
|
+
active = reservation;
|
|
51093
|
+
return reservation;
|
|
51094
|
+
};
|
|
51095
|
+
const prepareLaunch = async () => {
|
|
51096
|
+
await configDir.writeModelCache({ baseUrl, models: catalogModels, fetchedAt: Date.now() });
|
|
51097
|
+
return claudeGatewayLaunchEnv(inherited, {
|
|
51098
|
+
baseUrl,
|
|
51099
|
+
configDir: configDir.path,
|
|
51100
|
+
homeKind: options.home?.kind === "shared" ? "shared" : "isolated"
|
|
51101
|
+
});
|
|
51102
|
+
};
|
|
51103
|
+
const vendorRunOptions = (request, model, env) => ({
|
|
51104
|
+
env,
|
|
51105
|
+
model,
|
|
51106
|
+
...request.systemPrompt === void 0 ? {} : { systemPrompt: vendorSystemPrompt(request.systemPrompt) },
|
|
51107
|
+
// 패키지가 스스로 지어내는 지시는 없다 — 여기 실리는 것은 전부 호출자가 고른 것이고,
|
|
51108
|
+
// 고르지 않으면 아무것도 붙지 않는다. 두 기본값이 그 규율을 구조로 만든다:
|
|
51109
|
+
// `settingSources: []`가 사용자·프로젝트 설정과 CLAUDE.md를 끄고, `strictMcpConfig`가
|
|
51110
|
+
// 그와 별개인 ambient .mcp.json·플러그인 MCP를 막는다.
|
|
51111
|
+
settingSources: options.settingSources ? [...options.settingSources] : [],
|
|
51112
|
+
strictMcpConfig: options.allowAmbientMcpServers !== true,
|
|
51113
|
+
// 플러그인의 MCP 선언은 읽지 않는다 — 좌표는 호출자가 이미 소유한다.
|
|
51114
|
+
...options.plugins && options.plugins.length > 0 ? { plugins: options.plugins.map((plugin) => ({ type: "local", path: plugin.path, skipMcpDiscovery: true })) } : {},
|
|
51115
|
+
// `--settings`와 같은 자리다. flag 소스로 병합되므로 사용자·프로젝트 설정을 대체하지 않는다.
|
|
51116
|
+
// skillOverrides와 ultracode만 연다 — settings 전체를 열면 호출자가 쓰지 않은 지시가 들어온다.
|
|
51117
|
+
...vendorFlagSettings(options),
|
|
51118
|
+
...request.effort === void 0 ? {} : { effort: request.effort },
|
|
51119
|
+
...request.cwd === void 0 ? {} : { cwd: request.cwd },
|
|
51120
|
+
...request.resume === void 0 ? {} : { resume: request.resume },
|
|
51121
|
+
...request.maxTurns === void 0 ? {} : { maxTurns: request.maxTurns },
|
|
51122
|
+
...request.maxBudgetUsd === void 0 ? {} : { maxBudgetUsd: request.maxBudgetUsd },
|
|
51123
|
+
...request.tools === void 0 ? {} : { tools: [...request.tools] },
|
|
51124
|
+
...request.allowedTools === void 0 ? {} : { allowedTools: [...request.allowedTools] },
|
|
51125
|
+
...request.disallowedTools === void 0 ? {} : { disallowedTools: [...request.disallowedTools] },
|
|
51126
|
+
...request.permissionMode === void 0 ? {} : { permissionMode: request.permissionMode },
|
|
51127
|
+
...request.canUseTool === void 0 ? {} : { canUseTool: vendorCanUseTool(request.canUseTool) },
|
|
51128
|
+
...request.mcpServers === void 0 && request.servedMcpServers === void 0 ? {} : { mcpServers: { ...request.mcpServers, ...vendorServedMcpServers(request.servedMcpServers) } },
|
|
51129
|
+
...request.includePartialMessages === void 0 ? {} : { includePartialMessages: request.includePartialMessages },
|
|
51130
|
+
...request.abortController === void 0 ? {} : { abortController: request.abortController },
|
|
51131
|
+
...request.stderr === void 0 ? {} : { stderr: request.stderr }
|
|
51132
|
+
});
|
|
50713
51133
|
const sdk = {
|
|
50714
51134
|
configDir: configDir.path,
|
|
50715
51135
|
models: Object.freeze(accepted.map((entry) => entry.id)),
|
|
50716
51136
|
async startTurn(turn) {
|
|
50717
|
-
|
|
50718
|
-
|
|
50719
|
-
|
|
50720
|
-
|
|
50721
|
-
|
|
50722
|
-
|
|
50723
|
-
|
|
50724
|
-
|
|
50725
|
-
|
|
50726
|
-
|
|
50727
|
-
|
|
50728
|
-
|
|
50729
|
-
|
|
50730
|
-
|
|
50731
|
-
|
|
50732
|
-
|
|
50733
|
-
|
|
50734
|
-
|
|
50735
|
-
|
|
50736
|
-
|
|
50737
|
-
|
|
50738
|
-
|
|
50739
|
-
|
|
50740
|
-
|
|
50741
|
-
|
|
50742
|
-
|
|
50743
|
-
|
|
50744
|
-
|
|
50745
|
-
|
|
50746
|
-
|
|
50747
|
-
|
|
50748
|
-
|
|
50749
|
-
|
|
50750
|
-
|
|
50751
|
-
|
|
50752
|
-
|
|
50753
|
-
|
|
50754
|
-
|
|
50755
|
-
...turn.canUseTool === void 0 ? {} : { canUseTool: vendorCanUseTool(turn.canUseTool) },
|
|
50756
|
-
...turn.mcpServers === void 0 && turn.servedMcpServers === void 0 ? {} : { mcpServers: { ...turn.mcpServers, ...vendorServedMcpServers(turn.servedMcpServers) } },
|
|
50757
|
-
...turn.includePartialMessages === void 0 ? {} : { includePartialMessages: turn.includePartialMessages },
|
|
50758
|
-
...turn.abortController === void 0 ? {} : { abortController: turn.abortController },
|
|
50759
|
-
...turn.stderr === void 0 ? {} : { stderr: turn.stderr }
|
|
51137
|
+
const reservation = reserveSlot("turn");
|
|
51138
|
+
try {
|
|
51139
|
+
assertKnownTurnKeys(turn);
|
|
51140
|
+
if (typeof turn.prompt !== "string" || turn.prompt.length === 0) {
|
|
51141
|
+
throw new TypeError("turn.prompt must be a non-empty string.");
|
|
51142
|
+
}
|
|
51143
|
+
const model = resolveTurnModel(turn.model, accepted);
|
|
51144
|
+
const env = await prepareLaunch();
|
|
51145
|
+
const run = runVendorQuery({
|
|
51146
|
+
prompt: turn.prompt,
|
|
51147
|
+
options: vendorRunOptions(turn, model, env)
|
|
51148
|
+
});
|
|
51149
|
+
const release = () => {
|
|
51150
|
+
if (active === tracked) active = null;
|
|
51151
|
+
};
|
|
51152
|
+
const tracked = {
|
|
51153
|
+
[Symbol.asyncIterator]() {
|
|
51154
|
+
const iterator = run[Symbol.asyncIterator]();
|
|
51155
|
+
return {
|
|
51156
|
+
async next() {
|
|
51157
|
+
const result = await iterator.next();
|
|
51158
|
+
if (result.done === true) release();
|
|
51159
|
+
return result;
|
|
51160
|
+
}
|
|
51161
|
+
};
|
|
51162
|
+
},
|
|
51163
|
+
close() {
|
|
51164
|
+
try {
|
|
51165
|
+
run.close();
|
|
51166
|
+
} finally {
|
|
51167
|
+
release();
|
|
51168
|
+
}
|
|
51169
|
+
},
|
|
51170
|
+
getContextUsage: () => run.getContextUsage()
|
|
51171
|
+
};
|
|
51172
|
+
if (active !== reservation) {
|
|
51173
|
+
run.close();
|
|
51174
|
+
throw new Error("This Claude gateway SDK instance has been disposed.");
|
|
50760
51175
|
}
|
|
50761
|
-
|
|
50762
|
-
|
|
50763
|
-
|
|
50764
|
-
|
|
50765
|
-
|
|
50766
|
-
|
|
50767
|
-
|
|
50768
|
-
|
|
50769
|
-
|
|
50770
|
-
|
|
50771
|
-
|
|
50772
|
-
|
|
51176
|
+
active = tracked;
|
|
51177
|
+
return tracked;
|
|
51178
|
+
} catch (error51) {
|
|
51179
|
+
if (active === reservation) active = null;
|
|
51180
|
+
throw error51;
|
|
51181
|
+
}
|
|
51182
|
+
},
|
|
51183
|
+
async openSession(request) {
|
|
51184
|
+
const reservation = reserveSlot("session");
|
|
51185
|
+
try {
|
|
51186
|
+
assertKnownSessionKeys(request);
|
|
51187
|
+
const model = resolveTurnModel(request.model, accepted);
|
|
51188
|
+
const env = await prepareLaunch();
|
|
51189
|
+
const session = runVendorSession({ options: vendorRunOptions(request, model, env) });
|
|
51190
|
+
const tracked = {
|
|
51191
|
+
send: (text) => session.send(text),
|
|
51192
|
+
interrupt: () => session.interrupt(),
|
|
51193
|
+
stopTask: (taskId) => session.stopTask(taskId),
|
|
51194
|
+
backgroundTasks: (toolUseId) => session.backgroundTasks(toolUseId),
|
|
51195
|
+
getContextUsage: () => session.getContextUsage(),
|
|
51196
|
+
[Symbol.asyncIterator]: () => session[Symbol.asyncIterator](),
|
|
51197
|
+
close() {
|
|
51198
|
+
try {
|
|
51199
|
+
session.close();
|
|
51200
|
+
} finally {
|
|
51201
|
+
if (active === tracked) active = null;
|
|
50773
51202
|
}
|
|
50774
|
-
};
|
|
50775
|
-
},
|
|
50776
|
-
close() {
|
|
50777
|
-
try {
|
|
50778
|
-
run.close();
|
|
50779
|
-
} finally {
|
|
50780
|
-
release();
|
|
50781
51203
|
}
|
|
50782
|
-
}
|
|
50783
|
-
|
|
50784
|
-
|
|
50785
|
-
|
|
50786
|
-
|
|
51204
|
+
};
|
|
51205
|
+
if (active !== reservation) {
|
|
51206
|
+
session.close();
|
|
51207
|
+
throw new Error("This Claude gateway SDK instance has been disposed.");
|
|
51208
|
+
}
|
|
51209
|
+
active = tracked;
|
|
51210
|
+
return tracked;
|
|
51211
|
+
} catch (error51) {
|
|
51212
|
+
if (active === reservation) active = null;
|
|
51213
|
+
throw error51;
|
|
51214
|
+
}
|
|
50787
51215
|
},
|
|
50788
51216
|
async dispose() {
|
|
50789
51217
|
if (disposed) return;
|
|
@@ -50865,6 +51293,14 @@ function vendorCanUseTool(canUseTool) {
|
|
|
50865
51293
|
}
|
|
50866
51294
|
};
|
|
50867
51295
|
}
|
|
51296
|
+
function vendorFlagSettings(options) {
|
|
51297
|
+
const settings2 = {};
|
|
51298
|
+
if (options.skillOverrides && Object.keys(options.skillOverrides).length > 0) {
|
|
51299
|
+
settings2.skillOverrides = { ...options.skillOverrides };
|
|
51300
|
+
}
|
|
51301
|
+
if (options.ultracode === true) settings2.ultracode = true;
|
|
51302
|
+
return Object.keys(settings2).length > 0 ? { settings: settings2 } : {};
|
|
51303
|
+
}
|
|
50868
51304
|
function vendorSystemPrompt(systemPrompt) {
|
|
50869
51305
|
const text = systemPrompt?.text;
|
|
50870
51306
|
if (typeof text !== "string" || text.length === 0) {
|
|
@@ -50882,6 +51318,14 @@ function assertKnownTurnKeys(turn) {
|
|
|
50882
51318
|
);
|
|
50883
51319
|
}
|
|
50884
51320
|
}
|
|
51321
|
+
function assertKnownSessionKeys(request) {
|
|
51322
|
+
const unknown2 = Object.keys(request).filter((key) => !CLAUDE_GATEWAY_SESSION_KEYS.includes(key));
|
|
51323
|
+
if (unknown2.length > 0) {
|
|
51324
|
+
throw new TypeError(
|
|
51325
|
+
`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.`
|
|
51326
|
+
);
|
|
51327
|
+
}
|
|
51328
|
+
}
|
|
50885
51329
|
function vendorServedMcpServers(servers) {
|
|
50886
51330
|
if (!servers?.length) return {};
|
|
50887
51331
|
return Object.fromEntries(servers.map((server) => [server.name, {
|
|
@@ -51700,17 +52144,6 @@ function toMetadata(item) {
|
|
|
51700
52144
|
};
|
|
51701
52145
|
}
|
|
51702
52146
|
|
|
51703
|
-
// core/host/security-headers.ts
|
|
51704
|
-
var CONSOLE_SECURITY_HEADERS = {
|
|
51705
|
-
"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'",
|
|
51706
|
-
"X-Content-Type-Options": "nosniff",
|
|
51707
|
-
"Referrer-Policy": "no-referrer",
|
|
51708
|
-
"Cache-Control": "no-store"
|
|
51709
|
-
};
|
|
51710
|
-
function withSecurityHeaders2(headers = {}) {
|
|
51711
|
-
return { ...CONSOLE_SECURITY_HEADERS, ...headers };
|
|
51712
|
-
}
|
|
51713
|
-
|
|
51714
52147
|
// core/host/codex/gateway.ts
|
|
51715
52148
|
var CODEX_BASE = "/console/codex";
|
|
51716
52149
|
var ALLOWED_METHODS = /* @__PURE__ */ new Set(["GET", "HEAD", "POST"]);
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{ap as o,aq as n}from"./mermaid.core-OtTy8N5f.js";const t=(a,r)=>o.lang.round(n.parse(a)[r]);export{t as c};
|