@dotobokuri/fleet-console 1.63.0 → 1.65.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.
Files changed (66) hide show
  1. package/dist/cli.mjs +386 -82
  2. package/dist/client/assets/{_baseUniq-CVUU389k.js → _baseUniq-DyzqDsbR.js} +1 -1
  3. package/dist/client/assets/{arc-Fg3WjPoW.js → arc-D9PB38OE.js} +1 -1
  4. package/dist/client/assets/{architectureDiagram-Q4EWVU46-gAB_QWIv.js → architectureDiagram-Q4EWVU46-0L3Tlker.js} +1 -1
  5. package/dist/client/assets/{blockDiagram-DXYQGD6D-DCY_3CSv.js → blockDiagram-DXYQGD6D-BCAdqHmo.js} +1 -1
  6. package/dist/client/assets/{c4Diagram-AHTNJAMY-2ai4d9rg.js → c4Diagram-AHTNJAMY-oK3f-N6i.js} +1 -1
  7. package/dist/client/assets/channel-CzEHIBah.js +1 -0
  8. package/dist/client/assets/{chunk-4BX2VUAB-C-sjgNCE.js → chunk-4BX2VUAB-CIYxtKO7.js} +1 -1
  9. package/dist/client/assets/{chunk-4TB4RGXK-Co7w9KaD.js → chunk-4TB4RGXK-CKA_-tPR.js} +1 -1
  10. package/dist/client/assets/{chunk-55IACEB6-Dspr2174.js → chunk-55IACEB6-ArIbE5m1.js} +1 -1
  11. package/dist/client/assets/{chunk-EDXVE4YY-UzzG0ax3.js → chunk-EDXVE4YY-bGzMBuDL.js} +1 -1
  12. package/dist/client/assets/{chunk-FMBD7UC4-DKXcUQqJ.js → chunk-FMBD7UC4-CZUkX3ry.js} +1 -1
  13. package/dist/client/assets/{chunk-OYMX7WX6-vW--qrkP.js → chunk-OYMX7WX6-CNXmIVXX.js} +1 -1
  14. package/dist/client/assets/{chunk-QZHKN3VN-DyE-yBhf.js → chunk-QZHKN3VN-B3t4h1MD.js} +1 -1
  15. package/dist/client/assets/{chunk-YZCP3GAM-C7LLTO2-.js → chunk-YZCP3GAM-CdGF0f8H.js} +1 -1
  16. package/dist/client/assets/classDiagram-6PBFFD2Q-jNK4g1rr.js +1 -0
  17. package/dist/client/assets/classDiagram-v2-HSJHXN6E-jNK4g1rr.js +1 -0
  18. package/dist/client/assets/clone-DggrGKv8.js +1 -0
  19. package/dist/client/assets/{cose-bilkent-S5V4N54A-BkDNeJiw.js → cose-bilkent-S5V4N54A-BESjfcni.js} +1 -1
  20. package/dist/client/assets/{dagre-KV5264BT-DqeN9oF3.js → dagre-KV5264BT-WpQhPw2a.js} +1 -1
  21. package/dist/client/assets/{diagram-5BDNPKRD-BXzt4-3Y.js → diagram-5BDNPKRD-BfAkutIX.js} +1 -1
  22. package/dist/client/assets/{diagram-G4DWMVQ6-DbzDYVOf.js → diagram-G4DWMVQ6-C9I16SLL.js} +1 -1
  23. package/dist/client/assets/{diagram-MMDJMWI5-wPQu3o7B.js → diagram-MMDJMWI5-CVJMM2zJ.js} +1 -1
  24. package/dist/client/assets/{diagram-TYMM5635-C-vwFwzf.js → diagram-TYMM5635-DTqr7jJ3.js} +1 -1
  25. package/dist/client/assets/{erDiagram-SMLLAGMA-CcukuTgN.js → erDiagram-SMLLAGMA-B09ElCdB.js} +1 -1
  26. package/dist/client/assets/{flowDiagram-DWJPFMVM-BT8ZNr2Y.js → flowDiagram-DWJPFMVM-C93jg-t6.js} +1 -1
  27. package/dist/client/assets/{ganttDiagram-T4ZO3ILL-B_wNcZrL.js → ganttDiagram-T4ZO3ILL-5Js2lpdY.js} +1 -1
  28. package/dist/client/assets/{gitGraphDiagram-UUTBAWPF-dUwwvDSd.js → gitGraphDiagram-UUTBAWPF-BxGzg1Rc.js} +1 -1
  29. package/dist/client/assets/{graph-C4i_jr7e.js → graph-BkRyh4eN.js} +1 -1
  30. package/dist/client/assets/index-BSVaW3Ov.js +465 -0
  31. package/dist/client/assets/index-DxjgOu3C.css +1 -0
  32. package/dist/client/assets/{infoDiagram-42DDH7IO-Bf2KPu0t.js → infoDiagram-42DDH7IO-DZPp1lR6.js} +1 -1
  33. package/dist/client/assets/{ishikawaDiagram-UXIWVN3A-DjHChg2o.js → ishikawaDiagram-UXIWVN3A-CXTuQ2Bb.js} +1 -1
  34. package/dist/client/assets/{journeyDiagram-VCZTEJTY-B08epGYF.js → journeyDiagram-VCZTEJTY--u6tYqhF.js} +1 -1
  35. package/dist/client/assets/{kanban-definition-6JOO6SKY-BFasXRgc.js → kanban-definition-6JOO6SKY-CGMEohiQ.js} +1 -1
  36. package/dist/client/assets/{layout-Q_W10VzL.js → layout-Bzu8ET7F.js} +1 -1
  37. package/dist/client/assets/{linear-Dy4fc5kq.js → linear-B6htRUTP.js} +1 -1
  38. package/dist/client/assets/{mermaid.core-OtTy8N5f.js → mermaid.core-CtpLAI-c.js} +4 -4
  39. package/dist/client/assets/{min-DODD7JTz.js → min-CEURoL5k.js} +1 -1
  40. package/dist/client/assets/{mindmap-definition-QFDTVHPH-DMhpsiYD.js → mindmap-definition-QFDTVHPH-B-HiXlEN.js} +1 -1
  41. package/dist/client/assets/{pieDiagram-DEJITSTG-C5usaVgs.js → pieDiagram-DEJITSTG-DQgiLkTU.js} +1 -1
  42. package/dist/client/assets/{quadrantDiagram-34T5L4WZ-B-b2NvBz.js → quadrantDiagram-34T5L4WZ-xLh7CKRW.js} +1 -1
  43. package/dist/client/assets/{requirementDiagram-MS252O5E-D6_4jY3n.js → requirementDiagram-MS252O5E-O1SOxLMB.js} +1 -1
  44. package/dist/client/assets/{sankeyDiagram-XADWPNL6-B6imEhCV.js → sankeyDiagram-XADWPNL6-D-mh4ZYc.js} +1 -1
  45. package/dist/client/assets/{sequenceDiagram-FGHM5R23-BRHNnuqK.js → sequenceDiagram-FGHM5R23-Dp2XhLFP.js} +1 -1
  46. package/dist/client/assets/{stateDiagram-FHFEXIEX-RiIddIHL.js → stateDiagram-FHFEXIEX-UQkaQPQt.js} +1 -1
  47. package/dist/client/assets/stateDiagram-v2-QKLJ7IA2-CRw5Ot78.js +1 -0
  48. package/dist/client/assets/{timeline-definition-GMOUNBTQ-BhP14Blt.js → timeline-definition-GMOUNBTQ-DDMfKpma.js} +1 -1
  49. package/dist/client/assets/{vennDiagram-DHZGUBPP-CtzwrBNs.js → vennDiagram-DHZGUBPP-DaGxBzx2.js} +1 -1
  50. package/dist/client/assets/{wardley-RL74JXVD-TXsee18-.js → wardley-RL74JXVD-DBNvUuF6.js} +1 -1
  51. package/dist/client/assets/{wardleyDiagram-NUSXRM2D-CrJP7pf7.js → wardleyDiagram-NUSXRM2D-IbDED74Y.js} +1 -1
  52. package/dist/client/assets/{xychartDiagram-5P7HB3ND-rB-PigjI.js → xychartDiagram-5P7HB3ND-0RafK-TZ.js} +1 -1
  53. package/dist/client/index.html +2 -2
  54. package/dist/fleet-plugins/ledger/routes.mjs +130 -1
  55. package/dist/fleet-plugins/quota/routes.mjs +130 -1
  56. package/dist/fleet-plugins/scuttlebutt/routes.mjs +376 -68
  57. package/dist/fleet-plugins/terminal/routes.mjs +727 -155
  58. package/dist/fleet.mjs +386 -82
  59. package/package.json +1 -1
  60. package/dist/client/assets/channel-DlA1BRCV.js +0 -1
  61. package/dist/client/assets/classDiagram-6PBFFD2Q-rBpGSdtk.js +0 -1
  62. package/dist/client/assets/classDiagram-v2-HSJHXN6E-rBpGSdtk.js +0 -1
  63. package/dist/client/assets/clone-_1aYWCbr.js +0 -1
  64. package/dist/client/assets/index-BXtDpU36.js +0 -465
  65. package/dist/client/assets/index-CLb_APbh.css +0 -1
  66. package/dist/client/assets/stateDiagram-v2-QKLJ7IA2-CsHfIgMa.js +0 -1
package/dist/cli.mjs CHANGED
@@ -13272,8 +13272,6 @@ function isNormalFace(face) {
13272
13272
  const style = face.style.toLocaleLowerCase();
13273
13273
  return NORMAL_FACE_MARKERS.some((marker) => style.includes(marker));
13274
13274
  }
13275
-
13276
- // core/host/system-fonts-routes.ts
13277
13275
  var SYSTEM_FONTS_PATH = "/api/v1/settings/fonts/system";
13278
13276
  var SYSTEM_FONTS_API_CATALOG = [
13279
13277
  {
@@ -13710,7 +13708,16 @@ function withSecurityHeaders(headers) {
13710
13708
  };
13711
13709
  }
13712
13710
 
13713
- // core/host/sse.ts
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
+ }
13714
13721
  var SSE_KEEPALIVE_INTERVAL_MS = 3e4;
13715
13722
  function encodeSseData(event, data) {
13716
13723
  return `event: ${event}
@@ -33776,7 +33783,7 @@ var models_default = {
33776
33783
  codex: {
33777
33784
  name: "Codex",
33778
33785
  defaultModel: "gpt-5.6-sol",
33779
- 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; contextWindow=272000 is codex debug models context_window/max_context_window (codex-cli 0.146.0, observed 2026-08-02)",
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 1M (1000000) variants on the same upstream bases",
33780
33787
  models: [
33781
33788
  {
33782
33789
  modelId: "gpt-5.6-sol",
@@ -33903,6 +33910,135 @@ var models_default = {
33903
33910
  "gpt-5.6-luna-fast"
33904
33911
  ],
33905
33912
  benchmarkKey: "gpt-5.6-luna"
33913
+ },
33914
+ {
33915
+ modelId: "gpt-5.6-sol-1m",
33916
+ name: "GPT-5.6-Sol-1M",
33917
+ capabilityClass: "flagship",
33918
+ providerModelId: "gpt-5.6-sol",
33919
+ contextWindow: 1e6,
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-1m"
33932
+ ],
33933
+ benchmarkKey: "gpt-5.6-sol"
33934
+ },
33935
+ {
33936
+ modelId: "gpt-5.6-sol-1m-fast",
33937
+ name: "GPT-5.6-Sol-1M-Fast",
33938
+ capabilityClass: "flagship",
33939
+ providerModelId: "gpt-5.6-sol",
33940
+ serviceTier: "priority",
33941
+ contextWindow: 1e6,
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-1m-fast"
33954
+ ],
33955
+ benchmarkKey: "gpt-5.6-sol"
33956
+ },
33957
+ {
33958
+ modelId: "gpt-5.6-luna-1m",
33959
+ name: "GPT-5.6-Luna-1M",
33960
+ capabilityClass: "light",
33961
+ providerModelId: "gpt-5.6-luna",
33962
+ contextWindow: 1e6,
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-1m"
33975
+ ],
33976
+ benchmarkKey: "gpt-5.6-luna"
33977
+ },
33978
+ {
33979
+ modelId: "gpt-5.6-luna-1m-fast",
33980
+ name: "GPT-5.6-Luna-1M-Fast",
33981
+ capabilityClass: "light",
33982
+ providerModelId: "gpt-5.6-luna",
33983
+ serviceTier: "priority",
33984
+ contextWindow: 1e6,
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-1m-fast"
33997
+ ],
33998
+ benchmarkKey: "gpt-5.6-luna"
33999
+ },
34000
+ {
34001
+ modelId: "gpt-5.6-terra-1m",
34002
+ name: "GPT-5.6-Terra-1M",
34003
+ capabilityClass: "standard",
34004
+ providerModelId: "gpt-5.6-terra",
34005
+ contextWindow: 1e6,
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-1m"
34018
+ ],
34019
+ benchmarkKey: "gpt-5.6-terra"
34020
+ },
34021
+ {
34022
+ modelId: "gpt-5.6-terra-1m-fast",
34023
+ name: "GPT-5.6-Terra-1M-Fast",
34024
+ capabilityClass: "standard",
34025
+ providerModelId: "gpt-5.6-terra",
34026
+ serviceTier: "priority",
34027
+ contextWindow: 1e6,
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-1m-fast"
34040
+ ],
34041
+ benchmarkKey: "gpt-5.6-terra"
33906
34042
  }
33907
34043
  ]
33908
34044
  },
@@ -35716,6 +35852,9 @@ var CLAUDE_GATEWAY_TURN_KEYS = Object.freeze([
35716
35852
  "abortController",
35717
35853
  "stderr"
35718
35854
  ]);
35855
+ var CLAUDE_GATEWAY_SESSION_KEYS = Object.freeze(
35856
+ CLAUDE_GATEWAY_TURN_KEYS.filter((key) => key !== "prompt")
35857
+ );
35719
35858
 
35720
35859
  // ../../packages/core-agent/src/claude/launch-env.ts
35721
35860
  var CLAUDE_GATEWAY_MODEL_CACHE_RELPATH = "cache/gateway-models.json";
@@ -35837,6 +35976,111 @@ function runVendorQuery(input) {
35837
35976
  }
35838
35977
  };
35839
35978
  }
35979
+ var VendorInputQueue = class {
35980
+ pending = [];
35981
+ waiting = null;
35982
+ closed = false;
35983
+ push(message) {
35984
+ if (this.closed) return;
35985
+ const waiting = this.waiting;
35986
+ if (waiting) {
35987
+ this.waiting = null;
35988
+ waiting({ done: false, value: message });
35989
+ return;
35990
+ }
35991
+ this.pending.push(message);
35992
+ }
35993
+ close() {
35994
+ if (this.closed) return;
35995
+ this.closed = true;
35996
+ const waiting = this.waiting;
35997
+ if (waiting) {
35998
+ this.waiting = null;
35999
+ waiting({ done: true, value: void 0 });
36000
+ }
36001
+ }
36002
+ [Symbol.asyncIterator]() {
36003
+ return {
36004
+ next: async () => {
36005
+ if (this.pending.length > 0) return { done: false, value: this.pending.shift() };
36006
+ if (this.closed) return { done: true, value: void 0 };
36007
+ return await new Promise((resolve3) => {
36008
+ this.waiting = resolve3;
36009
+ });
36010
+ }
36011
+ };
36012
+ }
36013
+ };
36014
+ function vendorUserMessage(text) {
36015
+ return {
36016
+ type: "user",
36017
+ session_id: "",
36018
+ message: { role: "user", content: [{ type: "text", text }] },
36019
+ parent_tool_use_id: null
36020
+ };
36021
+ }
36022
+ function runVendorSession(input) {
36023
+ const queue = new VendorInputQueue();
36024
+ const run = query({
36025
+ prompt: queue,
36026
+ options: input.options
36027
+ });
36028
+ let closed = false;
36029
+ return {
36030
+ send(text) {
36031
+ if (closed) return;
36032
+ queue.push(vendorUserMessage(text));
36033
+ },
36034
+ async interrupt() {
36035
+ if (closed || typeof run.interrupt !== "function") return;
36036
+ await run.interrupt();
36037
+ },
36038
+ async stopTask(taskId) {
36039
+ if (closed) return;
36040
+ if (typeof run.stopTask !== "function") {
36041
+ throw new TypeError("This Claude Agent SDK build has no stopTask control request.");
36042
+ }
36043
+ await run.stopTask(taskId);
36044
+ },
36045
+ async backgroundTasks(toolUseId) {
36046
+ if (closed) return false;
36047
+ if (typeof run.backgroundTasks !== "function") {
36048
+ throw new TypeError("This Claude Agent SDK build has no background_tasks control request.");
36049
+ }
36050
+ return await run.backgroundTasks(toolUseId);
36051
+ },
36052
+ async getContextUsage() {
36053
+ if (closed || typeof run.getContextUsage !== "function") return null;
36054
+ try {
36055
+ return readVendorContextUsage(await run.getContextUsage());
36056
+ } catch {
36057
+ return null;
36058
+ }
36059
+ },
36060
+ [Symbol.asyncIterator]() {
36061
+ const iterator = run[Symbol.asyncIterator]();
36062
+ return {
36063
+ async next() {
36064
+ const result = await iterator.next();
36065
+ return result.done === true ? { done: true, value: void 0 } : { done: false, value: result.value };
36066
+ }
36067
+ };
36068
+ },
36069
+ close() {
36070
+ if (closed) return;
36071
+ closed = true;
36072
+ queue.close();
36073
+ try {
36074
+ if (typeof run.close === "function") run.close();
36075
+ else {
36076
+ const closing = run.return?.(void 0);
36077
+ if (closing !== void 0) void closing.catch(() => void 0);
36078
+ }
36079
+ } catch {
36080
+ }
36081
+ }
36082
+ };
36083
+ }
35840
36084
 
35841
36085
  // ../../packages/core-agent/src/claude/sdk.ts
35842
36086
  var NATIVE_MODEL_ALIASES = /* @__PURE__ */ new Set(["sonnet", "opus", "opus[1m]", "haiku", "fable", "fable[1m]"]);
@@ -35848,80 +36092,135 @@ async function createClaudeGatewaySdk(options) {
35848
36092
  const configDir = options.home?.kind === "shared" ? createSharedClaudeConfigHome(options.home.configDir) : await createIsolatedClaudeConfigDir(options.tempRoot);
35849
36093
  let disposed = false;
35850
36094
  let active = null;
36095
+ const reserveSlot = (kind) => {
36096
+ if (disposed) throw new Error("This Claude gateway SDK instance has been disposed.");
36097
+ if (active) {
36098
+ 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.");
36099
+ }
36100
+ const reservation = { close: () => void 0 };
36101
+ active = reservation;
36102
+ return reservation;
36103
+ };
36104
+ const prepareLaunch = async () => {
36105
+ await configDir.writeModelCache({ baseUrl, models: catalogModels, fetchedAt: Date.now() });
36106
+ return claudeGatewayLaunchEnv(inherited, {
36107
+ baseUrl,
36108
+ configDir: configDir.path,
36109
+ homeKind: options.home?.kind === "shared" ? "shared" : "isolated"
36110
+ });
36111
+ };
36112
+ const vendorRunOptions = (request, model, env) => ({
36113
+ env,
36114
+ model,
36115
+ ...request.systemPrompt === void 0 ? {} : { systemPrompt: vendorSystemPrompt(request.systemPrompt) },
36116
+ // 패키지가 스스로 지어내는 지시는 없다 — 여기 실리는 것은 전부 호출자가 고른 것이고,
36117
+ // 고르지 않으면 아무것도 붙지 않는다. 두 기본값이 그 규율을 구조로 만든다:
36118
+ // `settingSources: []`가 사용자·프로젝트 설정과 CLAUDE.md를 끄고, `strictMcpConfig`가
36119
+ // 그와 별개인 ambient .mcp.json·플러그인 MCP를 막는다.
36120
+ settingSources: options.settingSources ? [...options.settingSources] : [],
36121
+ strictMcpConfig: options.allowAmbientMcpServers !== true,
36122
+ // 플러그인의 MCP 선언은 읽지 않는다 — 좌표는 호출자가 이미 소유한다.
36123
+ ...options.plugins && options.plugins.length > 0 ? { plugins: options.plugins.map((plugin) => ({ type: "local", path: plugin.path, skipMcpDiscovery: true })) } : {},
36124
+ // `--settings`와 같은 자리다. flag 소스로 병합되므로 사용자·프로젝트 설정을 대체하지 않는다.
36125
+ // skillOverrides와 ultracode만 연다 — settings 전체를 열면 호출자가 쓰지 않은 지시가 들어온다.
36126
+ ...vendorFlagSettings(options),
36127
+ ...request.effort === void 0 ? {} : { effort: request.effort },
36128
+ ...request.cwd === void 0 ? {} : { cwd: request.cwd },
36129
+ ...request.resume === void 0 ? {} : { resume: request.resume },
36130
+ ...request.maxTurns === void 0 ? {} : { maxTurns: request.maxTurns },
36131
+ ...request.maxBudgetUsd === void 0 ? {} : { maxBudgetUsd: request.maxBudgetUsd },
36132
+ ...request.tools === void 0 ? {} : { tools: [...request.tools] },
36133
+ ...request.allowedTools === void 0 ? {} : { allowedTools: [...request.allowedTools] },
36134
+ ...request.disallowedTools === void 0 ? {} : { disallowedTools: [...request.disallowedTools] },
36135
+ ...request.permissionMode === void 0 ? {} : { permissionMode: request.permissionMode },
36136
+ ...request.canUseTool === void 0 ? {} : { canUseTool: vendorCanUseTool(request.canUseTool) },
36137
+ ...request.mcpServers === void 0 && request.servedMcpServers === void 0 ? {} : { mcpServers: { ...request.mcpServers, ...vendorServedMcpServers(request.servedMcpServers) } },
36138
+ ...request.includePartialMessages === void 0 ? {} : { includePartialMessages: request.includePartialMessages },
36139
+ ...request.abortController === void 0 ? {} : { abortController: request.abortController },
36140
+ ...request.stderr === void 0 ? {} : { stderr: request.stderr }
36141
+ });
35851
36142
  const sdk = {
35852
36143
  configDir: configDir.path,
35853
36144
  models: Object.freeze(accepted.map((entry) => entry.id)),
35854
36145
  async startTurn(turn) {
35855
- if (disposed) throw new Error("This Claude gateway SDK instance has been disposed.");
35856
- if (active) throw new Error("A turn is already running on this instance. Await it, or create another instance.");
35857
- assertKnownTurnKeys(turn);
35858
- if (typeof turn.prompt !== "string" || turn.prompt.length === 0) {
35859
- throw new TypeError("turn.prompt must be a non-empty string.");
35860
- }
35861
- const model = resolveTurnModel(turn.model, accepted);
35862
- await configDir.writeModelCache({ baseUrl, models: catalogModels, fetchedAt: Date.now() });
35863
- const env = claudeGatewayLaunchEnv(inherited, {
35864
- baseUrl,
35865
- configDir: configDir.path,
35866
- homeKind: options.home?.kind === "shared" ? "shared" : "isolated"
35867
- });
35868
- const run = runVendorQuery({
35869
- prompt: turn.prompt,
35870
- options: {
35871
- env,
35872
- model,
35873
- ...turn.systemPrompt === void 0 ? {} : { systemPrompt: vendorSystemPrompt(turn.systemPrompt) },
35874
- // 패키지가 스스로 지어내는 지시는 없다 — 여기 실리는 것은 전부 호출자가 고른 것이고,
35875
- // 고르지 않으면 아무것도 붙지 않는다. 두 기본값이 그 규율을 구조로 만든다:
35876
- // `settingSources: []`가 사용자·프로젝트 설정과 CLAUDE.md를 끄고, `strictMcpConfig`가
35877
- // 그와 별개인 ambient .mcp.json·플러그인 MCP를 막는다.
35878
- settingSources: options.settingSources ? [...options.settingSources] : [],
35879
- strictMcpConfig: options.allowAmbientMcpServers !== true,
35880
- // 플러그인의 MCP 선언은 읽지 않는다 — 좌표는 호출자가 이미 소유한다.
35881
- ...options.plugins && options.plugins.length > 0 ? { plugins: options.plugins.map((plugin) => ({ type: "local", path: plugin.path, skipMcpDiscovery: true })) } : {},
35882
- // `--settings`와 같은 자리다. flag 소스로 병합되므로 사용자·프로젝트 설정을 대체하지 않는다.
35883
- ...options.skillOverrides && Object.keys(options.skillOverrides).length > 0 ? { settings: { skillOverrides: { ...options.skillOverrides } } } : {},
35884
- ...turn.effort === void 0 ? {} : { effort: turn.effort },
35885
- ...turn.cwd === void 0 ? {} : { cwd: turn.cwd },
35886
- ...turn.resume === void 0 ? {} : { resume: turn.resume },
35887
- ...turn.maxTurns === void 0 ? {} : { maxTurns: turn.maxTurns },
35888
- ...turn.maxBudgetUsd === void 0 ? {} : { maxBudgetUsd: turn.maxBudgetUsd },
35889
- ...turn.tools === void 0 ? {} : { tools: [...turn.tools] },
35890
- ...turn.allowedTools === void 0 ? {} : { allowedTools: [...turn.allowedTools] },
35891
- ...turn.disallowedTools === void 0 ? {} : { disallowedTools: [...turn.disallowedTools] },
35892
- ...turn.permissionMode === void 0 ? {} : { permissionMode: turn.permissionMode },
35893
- ...turn.canUseTool === void 0 ? {} : { canUseTool: vendorCanUseTool(turn.canUseTool) },
35894
- ...turn.mcpServers === void 0 && turn.servedMcpServers === void 0 ? {} : { mcpServers: { ...turn.mcpServers, ...vendorServedMcpServers(turn.servedMcpServers) } },
35895
- ...turn.includePartialMessages === void 0 ? {} : { includePartialMessages: turn.includePartialMessages },
35896
- ...turn.abortController === void 0 ? {} : { abortController: turn.abortController },
35897
- ...turn.stderr === void 0 ? {} : { stderr: turn.stderr }
36146
+ const reservation = reserveSlot("turn");
36147
+ try {
36148
+ assertKnownTurnKeys(turn);
36149
+ if (typeof turn.prompt !== "string" || turn.prompt.length === 0) {
36150
+ throw new TypeError("turn.prompt must be a non-empty string.");
36151
+ }
36152
+ const model = resolveTurnModel(turn.model, accepted);
36153
+ const env = await prepareLaunch();
36154
+ const run = runVendorQuery({
36155
+ prompt: turn.prompt,
36156
+ options: vendorRunOptions(turn, model, env)
36157
+ });
36158
+ const release = () => {
36159
+ if (active === tracked) active = null;
36160
+ };
36161
+ const tracked = {
36162
+ [Symbol.asyncIterator]() {
36163
+ const iterator = run[Symbol.asyncIterator]();
36164
+ return {
36165
+ async next() {
36166
+ const result = await iterator.next();
36167
+ if (result.done === true) release();
36168
+ return result;
36169
+ }
36170
+ };
36171
+ },
36172
+ close() {
36173
+ try {
36174
+ run.close();
36175
+ } finally {
36176
+ release();
36177
+ }
36178
+ },
36179
+ getContextUsage: () => run.getContextUsage()
36180
+ };
36181
+ if (active !== reservation) {
36182
+ run.close();
36183
+ throw new Error("This Claude gateway SDK instance has been disposed.");
35898
36184
  }
35899
- });
35900
- const release = () => {
35901
- if (active === tracked) active = null;
35902
- };
35903
- const tracked = {
35904
- [Symbol.asyncIterator]() {
35905
- const iterator = run[Symbol.asyncIterator]();
35906
- return {
35907
- async next() {
35908
- const result = await iterator.next();
35909
- if (result.done === true) release();
35910
- return result;
36185
+ active = tracked;
36186
+ return tracked;
36187
+ } catch (error51) {
36188
+ if (active === reservation) active = null;
36189
+ throw error51;
36190
+ }
36191
+ },
36192
+ async openSession(request) {
36193
+ const reservation = reserveSlot("session");
36194
+ try {
36195
+ assertKnownSessionKeys(request);
36196
+ const model = resolveTurnModel(request.model, accepted);
36197
+ const env = await prepareLaunch();
36198
+ const session = runVendorSession({ options: vendorRunOptions(request, model, env) });
36199
+ const tracked = {
36200
+ send: (text) => session.send(text),
36201
+ interrupt: () => session.interrupt(),
36202
+ stopTask: (taskId) => session.stopTask(taskId),
36203
+ backgroundTasks: (toolUseId) => session.backgroundTasks(toolUseId),
36204
+ getContextUsage: () => session.getContextUsage(),
36205
+ [Symbol.asyncIterator]: () => session[Symbol.asyncIterator](),
36206
+ close() {
36207
+ try {
36208
+ session.close();
36209
+ } finally {
36210
+ if (active === tracked) active = null;
35911
36211
  }
35912
- };
35913
- },
35914
- close() {
35915
- try {
35916
- run.close();
35917
- } finally {
35918
- release();
35919
36212
  }
35920
- },
35921
- getContextUsage: () => run.getContextUsage()
35922
- };
35923
- active = tracked;
35924
- return tracked;
36213
+ };
36214
+ if (active !== reservation) {
36215
+ session.close();
36216
+ throw new Error("This Claude gateway SDK instance has been disposed.");
36217
+ }
36218
+ active = tracked;
36219
+ return tracked;
36220
+ } catch (error51) {
36221
+ if (active === reservation) active = null;
36222
+ throw error51;
36223
+ }
35925
36224
  },
35926
36225
  async dispose() {
35927
36226
  if (disposed) return;
@@ -36003,6 +36302,14 @@ function vendorCanUseTool(canUseTool) {
36003
36302
  }
36004
36303
  };
36005
36304
  }
36305
+ function vendorFlagSettings(options) {
36306
+ const settings2 = {};
36307
+ if (options.skillOverrides && Object.keys(options.skillOverrides).length > 0) {
36308
+ settings2.skillOverrides = { ...options.skillOverrides };
36309
+ }
36310
+ if (options.ultracode === true) settings2.ultracode = true;
36311
+ return Object.keys(settings2).length > 0 ? { settings: settings2 } : {};
36312
+ }
36006
36313
  function vendorSystemPrompt(systemPrompt) {
36007
36314
  const text = systemPrompt?.text;
36008
36315
  if (typeof text !== "string" || text.length === 0) {
@@ -36020,6 +36327,14 @@ function assertKnownTurnKeys(turn) {
36020
36327
  );
36021
36328
  }
36022
36329
  }
36330
+ function assertKnownSessionKeys(request) {
36331
+ const unknown2 = Object.keys(request).filter((key) => !CLAUDE_GATEWAY_SESSION_KEYS.includes(key));
36332
+ if (unknown2.length > 0) {
36333
+ throw new TypeError(
36334
+ `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.`
36335
+ );
36336
+ }
36337
+ }
36023
36338
  function vendorServedMcpServers(servers) {
36024
36339
  if (!servers?.length) return {};
36025
36340
  return Object.fromEntries(servers.map((server) => [server.name, {
@@ -36838,17 +37153,6 @@ function toMetadata(item) {
36838
37153
  };
36839
37154
  }
36840
37155
 
36841
- // core/host/security-headers.ts
36842
- var CONSOLE_SECURITY_HEADERS = {
36843
- "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'",
36844
- "X-Content-Type-Options": "nosniff",
36845
- "Referrer-Policy": "no-referrer",
36846
- "Cache-Control": "no-store"
36847
- };
36848
- function withSecurityHeaders2(headers = {}) {
36849
- return { ...CONSOLE_SECURITY_HEADERS, ...headers };
36850
- }
36851
-
36852
37156
  // core/host/codex/gateway.ts
36853
37157
  var CODEX_BASE = "/console/codex";
36854
37158
  var ALLOWED_METHODS = /* @__PURE__ */ new Set(["GET", "HEAD", "POST"]);
@@ -1 +1 @@
1
- import{aW as L,bs as ln,aG as A,aU as P,aF as W,bt as gn,bu as dn,bv as hn,bw as z,bx as pn,bn as An,by as m,aX as N,b0 as U,b3 as T,bz as _n,a_ as on,bA as wn,bq as On,aH as V,bo as vn,bB as I}from"./mermaid.core-OtTy8N5f.js";var Pn="[object Symbol]";function x(n){return typeof n=="symbol"||L(n)&&ln(n)==Pn}function yn(n,r){for(var e=-1,i=n==null?0:n.length,f=Array(i);++e<i;)f[e]=r(n[e],e,n);return f}var B=P?P.prototype:void 0,H=B?B.toString:void 0;function k(n){if(typeof n=="string")return n;if(A(n))return yn(n,k)+"";if(x(n))return H?H.call(n):"";var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function bn(){}function En(n,r){for(var e=-1,i=n==null?0:n.length;++e<i&&r(n[e],e,n)!==!1;);return n}function cn(n,r,e,i){for(var f=n.length,t=e+-1;++t<f;)if(r(n[t],t,n))return t;return-1}function Tn(n){return n!==n}function Rn(n,r,e){for(var i=e-1,f=n.length;++i<f;)if(n[i]===r)return i;return-1}function In(n,r,e){return r===r?Rn(n,r,e):cn(n,Tn,e)}function Sn(n,r){var e=n==null?0:n.length;return!!e&&In(n,r,0)>-1}function M(n){return W(n)?gn(n):dn(n)}var Ln=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,xn=/^\w*$/;function $(n,r){if(A(n))return!1;var e=typeof n;return e=="number"||e=="symbol"||e=="boolean"||n==null||x(n)?!0:xn.test(n)||!Ln.test(n)||r!=null&&n in Object(r)}var Mn=500;function $n(n){var r=hn(n,function(i){return e.size===Mn&&e.clear(),i}),e=r.cache;return r}var Cn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Fn=/\\(\\)?/g,Gn=$n(function(n){var r=[];return n.charCodeAt(0)===46&&r.push(""),n.replace(Cn,function(e,i,f,t){r.push(f?t.replace(Fn,"$1"):i||e)}),r});function Dn(n){return n==null?"":k(n)}function j(n,r){return A(n)?n:$(n,r)?[n]:Gn(Dn(n))}function R(n){if(typeof n=="string"||x(n))return n;var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function nn(n,r){r=j(r,n);for(var e=0,i=r.length;n!=null&&e<i;)n=n[R(r[e++])];return e&&e==i?n:void 0}function mn(n,r,e){var i=n==null?void 0:nn(n,r);return i===void 0?e:i}function rn(n,r){for(var e=-1,i=r.length,f=n.length;++e<i;)n[f+e]=r[e];return n}var K=P?P.isConcatSpreadable:void 0;function Nn(n){return A(n)||z(n)||!!(K&&n&&n[K])}function Kr(n,r,e,i,f){var t=-1,s=n.length;for(e||(e=Nn),f||(f=[]);++t<s;){var u=n[t];e(u)?rn(f,u):i||(f[f.length]=u)}return f}function Un(n,r,e,i){var f=-1,t=n==null?0:n.length;for(i&&t&&(e=n[++f]);++f<t;)e=r(e,n[f],f,n);return e}function en(n,r){for(var e=-1,i=n==null?0:n.length,f=0,t=[];++e<i;){var s=n[e];r(s,e,n)&&(t[f++]=s)}return t}function Bn(){return[]}var Hn=Object.prototype,Kn=Hn.propertyIsEnumerable,q=Object.getOwnPropertySymbols,qn=q?function(n){return n==null?[]:(n=Object(n),en(q(n),function(r){return Kn.call(n,r)}))}:Bn;function Zn(n,r,e){var i=r(n);return A(n)?i:rn(i,e(n))}function Z(n){return Zn(n,M,qn)}var Xn="__lodash_hash_undefined__";function Yn(n){return this.__data__.set(n,Xn),this}function Jn(n){return this.__data__.has(n)}function y(n){var r=-1,e=n==null?0:n.length;for(this.__data__=new pn;++r<e;)this.add(n[r])}y.prototype.add=y.prototype.push=Yn;y.prototype.has=Jn;function Qn(n,r){for(var e=-1,i=n==null?0:n.length;++e<i;)if(r(n[e],e,n))return!0;return!1}function tn(n,r){return n.has(r)}var Wn=1,zn=2;function fn(n,r,e,i,f,t){var s=e&Wn,u=n.length,a=r.length;if(u!=a&&!(s&&a>u))return!1;var h=t.get(n),g=t.get(r);if(h&&g)return h==r&&g==n;var l=-1,d=!0,o=e&zn?new y:void 0;for(t.set(n,r),t.set(r,n);++l<u;){var p=n[l],_=r[l];if(i)var w=s?i(_,p,l,r,n,t):i(p,_,l,n,r,t);if(w!==void 0){if(w)continue;d=!1;break}if(o){if(!Qn(r,function(O,v){if(!tn(o,v)&&(p===O||f(p,O,e,i,t)))return o.push(v)})){d=!1;break}}else if(!(p===_||f(p,_,e,i,t))){d=!1;break}}return t.delete(n),t.delete(r),d}function Vn(n){var r=-1,e=Array(n.size);return n.forEach(function(i,f){e[++r]=[f,i]}),e}function C(n){var r=-1,e=Array(n.size);return n.forEach(function(i){e[++r]=i}),e}var kn=1,jn=2,nr="[object Boolean]",rr="[object Date]",er="[object Error]",ir="[object Map]",tr="[object Number]",fr="[object RegExp]",sr="[object Set]",ur="[object String]",ar="[object Symbol]",lr="[object ArrayBuffer]",gr="[object DataView]",X=P?P.prototype:void 0,S=X?X.valueOf:void 0;function dr(n,r,e,i,f,t,s){switch(e){case gr:if(n.byteLength!=r.byteLength||n.byteOffset!=r.byteOffset)return!1;n=n.buffer,r=r.buffer;case lr:return!(n.byteLength!=r.byteLength||!t(new m(n),new m(r)));case nr:case rr:case tr:return An(+n,+r);case er:return n.name==r.name&&n.message==r.message;case fr:case ur:return n==r+"";case ir:var u=Vn;case sr:var a=i&kn;if(u||(u=C),n.size!=r.size&&!a)return!1;var h=s.get(n);if(h)return h==r;i|=jn,s.set(n,r);var g=fn(u(n),u(r),i,f,t,s);return s.delete(n),g;case ar:if(S)return S.call(n)==S.call(r)}return!1}var hr=1,pr=Object.prototype,Ar=pr.hasOwnProperty;function _r(n,r,e,i,f,t){var s=e&hr,u=Z(n),a=u.length,h=Z(r),g=h.length;if(a!=g&&!s)return!1;for(var l=a;l--;){var d=u[l];if(!(s?d in r:Ar.call(r,d)))return!1}var o=t.get(n),p=t.get(r);if(o&&p)return o==r&&p==n;var _=!0;t.set(n,r),t.set(r,n);for(var w=s;++l<a;){d=u[l];var O=n[d],v=r[d];if(i)var D=s?i(v,O,d,r,n,t):i(O,v,d,n,r,t);if(!(D===void 0?O===v||f(O,v,e,i,t):D)){_=!1;break}w||(w=d=="constructor")}if(_&&!w){var b=n.constructor,E=r.constructor;b!=E&&"constructor"in n&&"constructor"in r&&!(typeof b=="function"&&b instanceof b&&typeof E=="function"&&E instanceof E)&&(_=!1)}return t.delete(n),t.delete(r),_}var or=1,Y="[object Arguments]",J="[object Array]",c="[object Object]",wr=Object.prototype,Q=wr.hasOwnProperty;function Or(n,r,e,i,f,t){var s=A(n),u=A(r),a=s?J:N(n),h=u?J:N(r);a=a==Y?c:a,h=h==Y?c:h;var g=a==c,l=h==c,d=a==h;if(d&&U(n)){if(!U(r))return!1;s=!0,g=!1}if(d&&!g)return t||(t=new T),s||_n(n)?fn(n,r,e,i,f,t):dr(n,r,a,e,i,f,t);if(!(e&or)){var o=g&&Q.call(n,"__wrapped__"),p=l&&Q.call(r,"__wrapped__");if(o||p){var _=o?n.value():n,w=p?r.value():r;return t||(t=new T),f(_,w,e,i,t)}}return d?(t||(t=new T),_r(n,r,e,i,f,t)):!1}function F(n,r,e,i,f){return n===r?!0:n==null||r==null||!L(n)&&!L(r)?n!==n&&r!==r:Or(n,r,e,i,F,f)}var vr=1,Pr=2;function yr(n,r,e,i){var f=e.length,t=f;if(n==null)return!t;for(n=Object(n);f--;){var s=e[f];if(s[2]?s[1]!==n[s[0]]:!(s[0]in n))return!1}for(;++f<t;){s=e[f];var u=s[0],a=n[u],h=s[1];if(s[2]){if(a===void 0&&!(u in n))return!1}else{var g=new T,l;if(!(l===void 0?F(h,a,vr|Pr,i,g):l))return!1}}return!0}function sn(n){return n===n&&!on(n)}function br(n){for(var r=M(n),e=r.length;e--;){var i=r[e],f=n[i];r[e]=[i,f,sn(f)]}return r}function un(n,r){return function(e){return e==null?!1:e[n]===r&&(r!==void 0||n in Object(e))}}function Er(n){var r=br(n);return r.length==1&&r[0][2]?un(r[0][0],r[0][1]):function(e){return e===n||yr(e,n,r)}}function cr(n,r){return n!=null&&r in Object(n)}function Tr(n,r,e){r=j(r,n);for(var i=-1,f=r.length,t=!1;++i<f;){var s=R(r[i]);if(!(t=n!=null&&e(n,s)))break;n=n[s]}return t||++i!=f?t:(f=n==null?0:n.length,!!f&&wn(f)&&On(s,f)&&(A(n)||z(n)))}function Rr(n,r){return n!=null&&Tr(n,r,cr)}var Ir=1,Sr=2;function Lr(n,r){return $(n)&&sn(r)?un(R(n),r):function(e){var i=mn(e,n);return i===void 0&&i===r?Rr(e,n):F(r,i,Ir|Sr)}}function xr(n){return function(r){return r?.[n]}}function Mr(n){return function(r){return nn(r,n)}}function $r(n){return $(n)?xr(R(n)):Mr(n)}function an(n){return typeof n=="function"?n:n==null?V:typeof n=="object"?A(n)?Lr(n[0],n[1]):Er(n):$r(n)}function Cr(n,r){return n&&vn(n,r,M)}function Fr(n,r){return function(e,i){if(e==null)return e;if(!W(e))return n(e,i);for(var f=e.length,t=-1,s=Object(e);++t<f&&i(s[t],t,s)!==!1;);return e}}var G=Fr(Cr);function Gr(n){return typeof n=="function"?n:V}function qr(n,r){var e=A(n)?En:G;return e(n,Gr(r))}function Dr(n,r){var e=[];return G(n,function(i,f,t){r(i,f,t)&&e.push(i)}),e}function Zr(n,r){var e=A(n)?en:Dr;return e(n,an(r))}function mr(n,r,e,i,f){return f(n,function(t,s,u){e=i?(i=!1,t):r(e,t,s,u)}),e}function Xr(n,r,e){var i=A(n)?Un:mr,f=arguments.length<3;return i(n,an(r),e,f,G)}var Nr=1/0,Ur=I&&1/C(new I([,-0]))[1]==Nr?function(n){return new I(n)}:bn,Br=200;function Yr(n,r,e){var i=-1,f=Sn,t=n.length,s=!0,u=[],a=u;if(t>=Br){var h=r?null:Ur(n);if(h)return C(h);s=!1,f=tn,a=new y}else a=r?[]:u;n:for(;++i<t;){var g=n[i],l=r?r(g):g;if(g=g!==0?g:0,s&&l===l){for(var d=a.length;d--;)if(a[d]===l)continue n;r&&a.push(l),u.push(g)}else f(a,l,e)||(a!==u&&a.push(l),u.push(g))}return u}export{G as a,Kr as b,an as c,yn as d,rn as e,Zn as f,qn as g,En as h,x as i,Z as j,M as k,Yr as l,Zr as m,qr as n,cn as o,Gr as p,Cr as q,Xr as r,Bn as s,Tr as t,j as u,R as v,nn as w,Rr as x,Dn as y};
1
+ import{aW as L,bs as ln,aG as A,aU as P,aF as W,bt as gn,bu as dn,bv as hn,bw as z,bx as pn,bn as An,by as m,aX as N,b0 as U,b3 as T,bz as _n,a_ as on,bA as wn,bq as On,aH as V,bo as vn,bB as I}from"./mermaid.core-CtpLAI-c.js";var Pn="[object Symbol]";function x(n){return typeof n=="symbol"||L(n)&&ln(n)==Pn}function yn(n,r){for(var e=-1,i=n==null?0:n.length,f=Array(i);++e<i;)f[e]=r(n[e],e,n);return f}var B=P?P.prototype:void 0,H=B?B.toString:void 0;function k(n){if(typeof n=="string")return n;if(A(n))return yn(n,k)+"";if(x(n))return H?H.call(n):"";var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function bn(){}function En(n,r){for(var e=-1,i=n==null?0:n.length;++e<i&&r(n[e],e,n)!==!1;);return n}function cn(n,r,e,i){for(var f=n.length,t=e+-1;++t<f;)if(r(n[t],t,n))return t;return-1}function Tn(n){return n!==n}function Rn(n,r,e){for(var i=e-1,f=n.length;++i<f;)if(n[i]===r)return i;return-1}function In(n,r,e){return r===r?Rn(n,r,e):cn(n,Tn,e)}function Sn(n,r){var e=n==null?0:n.length;return!!e&&In(n,r,0)>-1}function M(n){return W(n)?gn(n):dn(n)}var Ln=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,xn=/^\w*$/;function $(n,r){if(A(n))return!1;var e=typeof n;return e=="number"||e=="symbol"||e=="boolean"||n==null||x(n)?!0:xn.test(n)||!Ln.test(n)||r!=null&&n in Object(r)}var Mn=500;function $n(n){var r=hn(n,function(i){return e.size===Mn&&e.clear(),i}),e=r.cache;return r}var Cn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Fn=/\\(\\)?/g,Gn=$n(function(n){var r=[];return n.charCodeAt(0)===46&&r.push(""),n.replace(Cn,function(e,i,f,t){r.push(f?t.replace(Fn,"$1"):i||e)}),r});function Dn(n){return n==null?"":k(n)}function j(n,r){return A(n)?n:$(n,r)?[n]:Gn(Dn(n))}function R(n){if(typeof n=="string"||x(n))return n;var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function nn(n,r){r=j(r,n);for(var e=0,i=r.length;n!=null&&e<i;)n=n[R(r[e++])];return e&&e==i?n:void 0}function mn(n,r,e){var i=n==null?void 0:nn(n,r);return i===void 0?e:i}function rn(n,r){for(var e=-1,i=r.length,f=n.length;++e<i;)n[f+e]=r[e];return n}var K=P?P.isConcatSpreadable:void 0;function Nn(n){return A(n)||z(n)||!!(K&&n&&n[K])}function Kr(n,r,e,i,f){var t=-1,s=n.length;for(e||(e=Nn),f||(f=[]);++t<s;){var u=n[t];e(u)?rn(f,u):i||(f[f.length]=u)}return f}function Un(n,r,e,i){var f=-1,t=n==null?0:n.length;for(i&&t&&(e=n[++f]);++f<t;)e=r(e,n[f],f,n);return e}function en(n,r){for(var e=-1,i=n==null?0:n.length,f=0,t=[];++e<i;){var s=n[e];r(s,e,n)&&(t[f++]=s)}return t}function Bn(){return[]}var Hn=Object.prototype,Kn=Hn.propertyIsEnumerable,q=Object.getOwnPropertySymbols,qn=q?function(n){return n==null?[]:(n=Object(n),en(q(n),function(r){return Kn.call(n,r)}))}:Bn;function Zn(n,r,e){var i=r(n);return A(n)?i:rn(i,e(n))}function Z(n){return Zn(n,M,qn)}var Xn="__lodash_hash_undefined__";function Yn(n){return this.__data__.set(n,Xn),this}function Jn(n){return this.__data__.has(n)}function y(n){var r=-1,e=n==null?0:n.length;for(this.__data__=new pn;++r<e;)this.add(n[r])}y.prototype.add=y.prototype.push=Yn;y.prototype.has=Jn;function Qn(n,r){for(var e=-1,i=n==null?0:n.length;++e<i;)if(r(n[e],e,n))return!0;return!1}function tn(n,r){return n.has(r)}var Wn=1,zn=2;function fn(n,r,e,i,f,t){var s=e&Wn,u=n.length,a=r.length;if(u!=a&&!(s&&a>u))return!1;var h=t.get(n),g=t.get(r);if(h&&g)return h==r&&g==n;var l=-1,d=!0,o=e&zn?new y:void 0;for(t.set(n,r),t.set(r,n);++l<u;){var p=n[l],_=r[l];if(i)var w=s?i(_,p,l,r,n,t):i(p,_,l,n,r,t);if(w!==void 0){if(w)continue;d=!1;break}if(o){if(!Qn(r,function(O,v){if(!tn(o,v)&&(p===O||f(p,O,e,i,t)))return o.push(v)})){d=!1;break}}else if(!(p===_||f(p,_,e,i,t))){d=!1;break}}return t.delete(n),t.delete(r),d}function Vn(n){var r=-1,e=Array(n.size);return n.forEach(function(i,f){e[++r]=[f,i]}),e}function C(n){var r=-1,e=Array(n.size);return n.forEach(function(i){e[++r]=i}),e}var kn=1,jn=2,nr="[object Boolean]",rr="[object Date]",er="[object Error]",ir="[object Map]",tr="[object Number]",fr="[object RegExp]",sr="[object Set]",ur="[object String]",ar="[object Symbol]",lr="[object ArrayBuffer]",gr="[object DataView]",X=P?P.prototype:void 0,S=X?X.valueOf:void 0;function dr(n,r,e,i,f,t,s){switch(e){case gr:if(n.byteLength!=r.byteLength||n.byteOffset!=r.byteOffset)return!1;n=n.buffer,r=r.buffer;case lr:return!(n.byteLength!=r.byteLength||!t(new m(n),new m(r)));case nr:case rr:case tr:return An(+n,+r);case er:return n.name==r.name&&n.message==r.message;case fr:case ur:return n==r+"";case ir:var u=Vn;case sr:var a=i&kn;if(u||(u=C),n.size!=r.size&&!a)return!1;var h=s.get(n);if(h)return h==r;i|=jn,s.set(n,r);var g=fn(u(n),u(r),i,f,t,s);return s.delete(n),g;case ar:if(S)return S.call(n)==S.call(r)}return!1}var hr=1,pr=Object.prototype,Ar=pr.hasOwnProperty;function _r(n,r,e,i,f,t){var s=e&hr,u=Z(n),a=u.length,h=Z(r),g=h.length;if(a!=g&&!s)return!1;for(var l=a;l--;){var d=u[l];if(!(s?d in r:Ar.call(r,d)))return!1}var o=t.get(n),p=t.get(r);if(o&&p)return o==r&&p==n;var _=!0;t.set(n,r),t.set(r,n);for(var w=s;++l<a;){d=u[l];var O=n[d],v=r[d];if(i)var D=s?i(v,O,d,r,n,t):i(O,v,d,n,r,t);if(!(D===void 0?O===v||f(O,v,e,i,t):D)){_=!1;break}w||(w=d=="constructor")}if(_&&!w){var b=n.constructor,E=r.constructor;b!=E&&"constructor"in n&&"constructor"in r&&!(typeof b=="function"&&b instanceof b&&typeof E=="function"&&E instanceof E)&&(_=!1)}return t.delete(n),t.delete(r),_}var or=1,Y="[object Arguments]",J="[object Array]",c="[object Object]",wr=Object.prototype,Q=wr.hasOwnProperty;function Or(n,r,e,i,f,t){var s=A(n),u=A(r),a=s?J:N(n),h=u?J:N(r);a=a==Y?c:a,h=h==Y?c:h;var g=a==c,l=h==c,d=a==h;if(d&&U(n)){if(!U(r))return!1;s=!0,g=!1}if(d&&!g)return t||(t=new T),s||_n(n)?fn(n,r,e,i,f,t):dr(n,r,a,e,i,f,t);if(!(e&or)){var o=g&&Q.call(n,"__wrapped__"),p=l&&Q.call(r,"__wrapped__");if(o||p){var _=o?n.value():n,w=p?r.value():r;return t||(t=new T),f(_,w,e,i,t)}}return d?(t||(t=new T),_r(n,r,e,i,f,t)):!1}function F(n,r,e,i,f){return n===r?!0:n==null||r==null||!L(n)&&!L(r)?n!==n&&r!==r:Or(n,r,e,i,F,f)}var vr=1,Pr=2;function yr(n,r,e,i){var f=e.length,t=f;if(n==null)return!t;for(n=Object(n);f--;){var s=e[f];if(s[2]?s[1]!==n[s[0]]:!(s[0]in n))return!1}for(;++f<t;){s=e[f];var u=s[0],a=n[u],h=s[1];if(s[2]){if(a===void 0&&!(u in n))return!1}else{var g=new T,l;if(!(l===void 0?F(h,a,vr|Pr,i,g):l))return!1}}return!0}function sn(n){return n===n&&!on(n)}function br(n){for(var r=M(n),e=r.length;e--;){var i=r[e],f=n[i];r[e]=[i,f,sn(f)]}return r}function un(n,r){return function(e){return e==null?!1:e[n]===r&&(r!==void 0||n in Object(e))}}function Er(n){var r=br(n);return r.length==1&&r[0][2]?un(r[0][0],r[0][1]):function(e){return e===n||yr(e,n,r)}}function cr(n,r){return n!=null&&r in Object(n)}function Tr(n,r,e){r=j(r,n);for(var i=-1,f=r.length,t=!1;++i<f;){var s=R(r[i]);if(!(t=n!=null&&e(n,s)))break;n=n[s]}return t||++i!=f?t:(f=n==null?0:n.length,!!f&&wn(f)&&On(s,f)&&(A(n)||z(n)))}function Rr(n,r){return n!=null&&Tr(n,r,cr)}var Ir=1,Sr=2;function Lr(n,r){return $(n)&&sn(r)?un(R(n),r):function(e){var i=mn(e,n);return i===void 0&&i===r?Rr(e,n):F(r,i,Ir|Sr)}}function xr(n){return function(r){return r?.[n]}}function Mr(n){return function(r){return nn(r,n)}}function $r(n){return $(n)?xr(R(n)):Mr(n)}function an(n){return typeof n=="function"?n:n==null?V:typeof n=="object"?A(n)?Lr(n[0],n[1]):Er(n):$r(n)}function Cr(n,r){return n&&vn(n,r,M)}function Fr(n,r){return function(e,i){if(e==null)return e;if(!W(e))return n(e,i);for(var f=e.length,t=-1,s=Object(e);++t<f&&i(s[t],t,s)!==!1;);return e}}var G=Fr(Cr);function Gr(n){return typeof n=="function"?n:V}function qr(n,r){var e=A(n)?En:G;return e(n,Gr(r))}function Dr(n,r){var e=[];return G(n,function(i,f,t){r(i,f,t)&&e.push(i)}),e}function Zr(n,r){var e=A(n)?en:Dr;return e(n,an(r))}function mr(n,r,e,i,f){return f(n,function(t,s,u){e=i?(i=!1,t):r(e,t,s,u)}),e}function Xr(n,r,e){var i=A(n)?Un:mr,f=arguments.length<3;return i(n,an(r),e,f,G)}var Nr=1/0,Ur=I&&1/C(new I([,-0]))[1]==Nr?function(n){return new I(n)}:bn,Br=200;function Yr(n,r,e){var i=-1,f=Sn,t=n.length,s=!0,u=[],a=u;if(t>=Br){var h=r?null:Ur(n);if(h)return C(h);s=!1,f=tn,a=new y}else a=r?[]:u;n:for(;++i<t;){var g=n[i],l=r?r(g):g;if(g=g!==0?g:0,s&&l===l){for(var d=a.length;d--;)if(a[d]===l)continue n;r&&a.push(l),u.push(g)}else f(a,l,e)||(a!==u&&a.push(l),u.push(g))}return u}export{G as a,Kr as b,an as c,yn as d,rn as e,Zn as f,qn as g,En as h,x as i,Z as j,M as k,Yr as l,Zr as m,qr as n,cn as o,Gr as p,Cr as q,Xr as r,Bn as s,Tr as t,j as u,R as v,nn as w,Rr as x,Dn as y};
@@ -1 +1 @@
1
- import{$ as ln,a0 as an,a1 as G,a2 as q,a3 as z,a4 as un,a5 as y,a6 as tn,a7 as K,a8 as _,a9 as rn,aa as o,ab as on,ac as sn,ad as fn}from"./mermaid.core-OtTy8N5f.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function dn(l){return l.endAngle}function mn(l){return l&&l.padAngle}function pn(l,h,I,D,v,A,B,a){var O=I-l,i=D-h,n=B-v,d=a-A,u=d*O-n*i;if(!(u*u<y))return u=(n*(h-A)-d*(l-v))/u,[l+u*O,h+u*i]}function V(l,h,I,D,v,A,B){var a=l-I,O=h-D,i=(B?A:-A)/K(a*a+O*O),n=i*O,d=-i*a,u=l+n,s=h+d,f=I+n,c=D+d,C=(u+f)/2,t=(s+c)/2,m=f-u,g=c-s,R=m*m+g*g,T=v-A,P=u*c-f*s,S=(g<0?-1:1)*K(on(0,T*T*R-P*P)),$=(P*g-m*S)/R,j=(-P*m-g*S)/R,w=(P*g+m*S)/R,p=(-P*m+g*S)/R,x=$-C,e=j-t,r=w-C,F=p-t;return x*x+e*e>r*r+F*F&&($=w,j=p),{cx:$,cy:j,x01:-n,y01:-d,x11:$*(v/T-1),y11:j*(v/T-1)}}function hn(){var l=cn,h=yn,I=z(0),D=null,v=gn,A=dn,B=mn,a=null,O=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-un,c=A.apply(this,arguments)-un,C=rn(c-f),t=c>f;if(a||(a=n=O()),s<u&&(d=s,s=u,u=d),!(s>y))a.moveTo(0,0);else if(C>tn-y)a.moveTo(s*G(f),s*q(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*G(c),u*q(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,R=f,T=c,P=C,S=C,$=B.apply(this,arguments)/2,j=$>y&&(D?+D.apply(this,arguments):K(u*u+s*s)),w=_(rn(s-u)/2,+I.apply(this,arguments)),p=w,x=w,e,r;if(j>y){var F=sn(j/u*q($)),L=sn(j/s*q($));(P-=F*2)>y?(F*=t?1:-1,R+=F,T-=F):(P=0,R=T=(f+c)/2),(S-=L*2)>y?(L*=t?1:-1,m+=L,g-=L):(S=0,m=g=(f+c)/2)}var H=s*G(m),J=s*q(m),M=u*G(T),N=u*q(T);if(w>y){var Q=s*G(g),U=s*q(g),W=u*G(R),X=u*q(R),E;if(C<an)if(E=pn(H,J,W,X,Q,U,M,N)){var Y=H-E[0],Z=J-E[1],b=Q-E[0],k=U-E[1],nn=1/q(fn((Y*b+Z*k)/(K(Y*Y+Z*Z)*K(b*b+k*k)))/2),en=K(E[0]*E[0]+E[1]*E[1]);p=_(w,(u-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else p=x=0}S>y?x>y?(e=V(W,X,H,J,s,x,t),r=V(Q,U,M,N,s,x,t),a.moveTo(e.cx+e.x01,e.cy+e.y01),x<w?a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,s,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),!t),a.arc(r.cx,r.cy,x,o(r.y11,r.x11),o(r.y01,r.x01),!t))):(a.moveTo(H,J),a.arc(0,0,s,m,g,!t)):a.moveTo(H,J),!(u>y)||!(P>y)?a.lineTo(M,N):p>y?(e=V(M,N,Q,U,u,-p,t),r=V(H,J,W,X,u,-p,t),a.lineTo(e.cx+e.x01,e.cy+e.y01),p<w?a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,u,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),t),a.arc(r.cx,r.cy,p,o(r.y11,r.x11),o(r.y01,r.x01),!t))):a.arc(0,0,u,T,R,t)}if(a.closePath(),n)return a=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,d=(+v.apply(this,arguments)+ +A.apply(this,arguments))/2-an/2;return[G(d)*n,q(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:z(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:z(+n),i):h},i.cornerRadius=function(n){return arguments.length?(I=typeof n=="function"?n:z(+n),i):I},i.padRadius=function(n){return arguments.length?(D=n==null?null:typeof n=="function"?n:z(+n),i):D},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:z(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:z(+n),i):A},i.padAngle=function(n){return arguments.length?(B=typeof n=="function"?n:z(+n),i):B},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};
1
+ import{$ as ln,a0 as an,a1 as G,a2 as q,a3 as z,a4 as un,a5 as y,a6 as tn,a7 as K,a8 as _,a9 as rn,aa as o,ab as on,ac as sn,ad as fn}from"./mermaid.core-CtpLAI-c.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function dn(l){return l.endAngle}function mn(l){return l&&l.padAngle}function pn(l,h,I,D,v,A,B,a){var O=I-l,i=D-h,n=B-v,d=a-A,u=d*O-n*i;if(!(u*u<y))return u=(n*(h-A)-d*(l-v))/u,[l+u*O,h+u*i]}function V(l,h,I,D,v,A,B){var a=l-I,O=h-D,i=(B?A:-A)/K(a*a+O*O),n=i*O,d=-i*a,u=l+n,s=h+d,f=I+n,c=D+d,C=(u+f)/2,t=(s+c)/2,m=f-u,g=c-s,R=m*m+g*g,T=v-A,P=u*c-f*s,S=(g<0?-1:1)*K(on(0,T*T*R-P*P)),$=(P*g-m*S)/R,j=(-P*m-g*S)/R,w=(P*g+m*S)/R,p=(-P*m+g*S)/R,x=$-C,e=j-t,r=w-C,F=p-t;return x*x+e*e>r*r+F*F&&($=w,j=p),{cx:$,cy:j,x01:-n,y01:-d,x11:$*(v/T-1),y11:j*(v/T-1)}}function hn(){var l=cn,h=yn,I=z(0),D=null,v=gn,A=dn,B=mn,a=null,O=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-un,c=A.apply(this,arguments)-un,C=rn(c-f),t=c>f;if(a||(a=n=O()),s<u&&(d=s,s=u,u=d),!(s>y))a.moveTo(0,0);else if(C>tn-y)a.moveTo(s*G(f),s*q(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*G(c),u*q(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,R=f,T=c,P=C,S=C,$=B.apply(this,arguments)/2,j=$>y&&(D?+D.apply(this,arguments):K(u*u+s*s)),w=_(rn(s-u)/2,+I.apply(this,arguments)),p=w,x=w,e,r;if(j>y){var F=sn(j/u*q($)),L=sn(j/s*q($));(P-=F*2)>y?(F*=t?1:-1,R+=F,T-=F):(P=0,R=T=(f+c)/2),(S-=L*2)>y?(L*=t?1:-1,m+=L,g-=L):(S=0,m=g=(f+c)/2)}var H=s*G(m),J=s*q(m),M=u*G(T),N=u*q(T);if(w>y){var Q=s*G(g),U=s*q(g),W=u*G(R),X=u*q(R),E;if(C<an)if(E=pn(H,J,W,X,Q,U,M,N)){var Y=H-E[0],Z=J-E[1],b=Q-E[0],k=U-E[1],nn=1/q(fn((Y*b+Z*k)/(K(Y*Y+Z*Z)*K(b*b+k*k)))/2),en=K(E[0]*E[0]+E[1]*E[1]);p=_(w,(u-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else p=x=0}S>y?x>y?(e=V(W,X,H,J,s,x,t),r=V(Q,U,M,N,s,x,t),a.moveTo(e.cx+e.x01,e.cy+e.y01),x<w?a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,s,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),!t),a.arc(r.cx,r.cy,x,o(r.y11,r.x11),o(r.y01,r.x01),!t))):(a.moveTo(H,J),a.arc(0,0,s,m,g,!t)):a.moveTo(H,J),!(u>y)||!(P>y)?a.lineTo(M,N):p>y?(e=V(M,N,Q,U,u,-p,t),r=V(H,J,W,X,u,-p,t),a.lineTo(e.cx+e.x01,e.cy+e.y01),p<w?a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,u,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),t),a.arc(r.cx,r.cy,p,o(r.y11,r.x11),o(r.y01,r.x01),!t))):a.arc(0,0,u,T,R,t)}if(a.closePath(),n)return a=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,d=(+v.apply(this,arguments)+ +A.apply(this,arguments))/2-an/2;return[G(d)*n,q(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:z(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:z(+n),i):h},i.cornerRadius=function(n){return arguments.length?(I=typeof n=="function"?n:z(+n),i):I},i.padRadius=function(n){return arguments.length?(D=n==null?null:typeof n=="function"?n:z(+n),i):D},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:z(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:z(+n),i):A},i.padAngle=function(n){return arguments.length?(B=typeof n=="function"?n:z(+n),i):B},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};