@lathly/dsh-tool-model-switch 1.0.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.i18n.yaml +6 -0
- package/README.md +88 -0
- package/README.zh.md +90 -0
- package/lib/index.js +108 -0
- package/lib/tsconfig.tsbuildinfo +1 -0
- package/lib/types/index.d.ts +22 -0
- package/lib/types/index.d.ts.map +1 -0
- package/lib/types/index.js +93 -0
- package/lib/types/index.js.map +1 -0
- package/package.json +32 -0
- package/src/index.ts +98 -0
package/README.i18n.yaml
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each
|
|
2
|
+
# side as of the last confirmed-consistent state. Both languages carry equal authority;
|
|
3
|
+
# after editing either side, bring the other along and re-record with:
|
|
4
|
+
# pnpm run verify-translation-pairing --write packages/llm/tool-model-switch/README.md
|
|
5
|
+
README.md: 899f83d5322f118873af4c795df5a990e9f50e70
|
|
6
|
+
README.zh.md: 6739558d00c86456ea3fa5fc5a9b7fd5fa6d8ac6
|
package/README.md
ADDED
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "The model-facing switch_model and list_models tools over the session controller's LLM route, for users and maintainers choosing, configuring, or debugging session model routing."
|
|
3
|
+
kind: "package-reference"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# @deepseek-ai/dsh-tool-model-switch
|
|
7
|
+
|
|
8
|
+
English | [中文](README.zh.md)
|
|
9
|
+
|
|
10
|
+
## Summary
|
|
11
|
+
|
|
12
|
+
`dsh-tool-model-switch` gives the agent two tools to route its own model: `switch_model` moves the calling session to another provider/model route, and `list_models` reports the routes the deployment can serve. The switch takes effect from the session's next model request, is recorded in the session log, and also moves the deployment default that new sessions start from. Mount the package in any agent preset; in a deployment without a session controller the tools stay visible and fail at call time with a fixed error.
|
|
13
|
+
|
|
14
|
+
## Table of Contents
|
|
15
|
+
|
|
16
|
+
- [Use this package](#use-this-package)
|
|
17
|
+
- [Understand the implementation](#understand-the-implementation)
|
|
18
|
+
- [Model Experience](#model-experience)
|
|
19
|
+
- [Known Limitations and Deferred Work](#known-limitations-and-deferred-work)
|
|
20
|
+
- [Dev Note](#dev-note)
|
|
21
|
+
|
|
22
|
+
-----
|
|
23
|
+
|
|
24
|
+
<a id="use-this-package"></a>
|
|
25
|
+
## Use this package
|
|
26
|
+
|
|
27
|
+
Use this package when the agent should choose its own model route at run time — for example to free GPU memory for a local task by switching to a lighter model, then switching back. Mount the package in an agent preset and the agent gains both tools; no configuration exists. The agent is expected to call `list_models` first, then `switch_model` with a route it read there.
|
|
28
|
+
|
|
29
|
+
### When to choose it
|
|
30
|
+
|
|
31
|
+
- The deployment serves more than one model route (several providers, or several models on one provider) and the agent should be able to move between them.
|
|
32
|
+
- The session should own its route: a switch recorded in its log and replayed on resume.
|
|
33
|
+
|
|
34
|
+
### When not to choose it
|
|
35
|
+
|
|
36
|
+
- The deployment has exactly one route; the tools report it but the switch has nowhere else to go.
|
|
37
|
+
- The deployment mounts no session controller (headless, SDK): the calls fail with a fixed error, which is the only signal the route is unavailable in that mode.
|
|
38
|
+
|
|
39
|
+
## Understand the implementation
|
|
40
|
+
|
|
41
|
+
The package is a function plugin that registers the two tools on `ctx.tools` and injects only the tool registry. Each execution looks up the optional `sessionController` service lazily through `ctx.get`, so mounting the package never blocks on the service: a deployment without it simply fails the individual calls at call time. `switch_model` normalizes the arguments into one `selectModel` request — the empty-string `reasoning_effort` is omitted so the provider default applies — and renders the controller's normalized selection back to the model. `list_models` renders the controller's catalog: the default selection, each routable provider group with its models, and the isolated provider failures.
|
|
42
|
+
|
|
43
|
+
Both tools are session contributions, which is why the package mounts from agent presets rather than the host composition. The `sessionController` service itself stays in the host plane, provided by the Web surface.
|
|
44
|
+
|
|
45
|
+
## Model Experience
|
|
46
|
+
|
|
47
|
+
### Tool schema
|
|
48
|
+
|
|
49
|
+
#### What the model sees
|
|
50
|
+
|
|
51
|
+
The model sees the generated [`switch_model` and `list_models` schemas](../../../docs/tool-catalog.md#deepseek-aidsh-tool-model-switch): `switch_model` takes required `provider` and `model` route ids plus an optional `reasoning_effort`, and `list_models` takes no arguments.
|
|
52
|
+
|
|
53
|
+
#### Token effect
|
|
54
|
+
|
|
55
|
+
Fixed schema cost on every request where the tools are visible; the descriptions and schemas are deployment-stable.
|
|
56
|
+
|
|
57
|
+
#### KV Cache effect
|
|
58
|
+
|
|
59
|
+
Prefix-stable while the tool definitions are unchanged. Plugin lifecycle or scoped restrictions may invalidate reuse from these schemas.
|
|
60
|
+
|
|
61
|
+
### Tool-call history and result
|
|
62
|
+
|
|
63
|
+
#### What the model sees
|
|
64
|
+
|
|
65
|
+
Each `switch_model` call retains its route arguments. Success returns exactly `Switched this session's model to <provider>/<model>` plus ` (reasoning effort <effort>)` when the controller echoes an effort back, closed by `Effective from the next model request; the default for new sessions now matches this selection.` `list_models` returns the default route, one line per provider group, one line per model, and one line per failed provider, joined by newlines. Stable failures are `switch_model: no agent context for this call`, `switch_model: the session controller is not available in this deployment`, and `list_models: the session controller is not available in this deployment`. The `model/selection` session event is the durable record, not a second model message.
|
|
66
|
+
|
|
67
|
+
#### Token effect
|
|
68
|
+
|
|
69
|
+
The switch result is small and fixed-shape; the list result scales with the number of routable models and failed providers, and both remain in the call history until compaction.
|
|
70
|
+
|
|
71
|
+
#### KV Cache effect
|
|
72
|
+
|
|
73
|
+
Append-only; newly visible content follows the reusable request prefix and does not invalidate existing KV-cache entries.
|
|
74
|
+
|
|
75
|
+
## Known Limitations and Deferred Work
|
|
76
|
+
|
|
77
|
+
<a id="known-limitations-and-deferred-work"></a>
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
- **No controller means a call-time error, not a hidden tool** — deployments without the `sessionController` service (headless, SDK) keep both tools in the catalog and only surface the fixed error when a call lands, so an agent there learns the route is unavailable by calling.
|
|
81
|
+
|
|
82
|
+
-----
|
|
83
|
+
|
|
84
|
+
<a id="dev-note"></a>
|
|
85
|
+
### Dev Note
|
|
86
|
+
|
|
87
|
+
- The model-visible texts are pinned verbatim in `src/index.ts` and asserted by the unit and loader-composition specs; change them with those assertions.
|
|
88
|
+
- The tool-catalog entry in `scripts/gen-tool-catalog.ts` mounts the package on a context that already carries `tools` and `systemPrompt`; the controller is not required at boot, matching the lazy call-time lookup.
|
package/README.zh.md
ADDED
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "面向模型的 switch_model 与 list_models 工具,经由会话控制器的 LLM 路由实现,供选择、配置或调试会话模型路由的用户与维护者使用。"
|
|
3
|
+
kind: "package-reference"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# @deepseek-ai/dsh-tool-model-switch
|
|
7
|
+
|
|
8
|
+
[English](README.md) | 中文
|
|
9
|
+
|
|
10
|
+
## 概述
|
|
11
|
+
|
|
12
|
+
`dsh-tool-model-switch` 为 agent 提供两个用于切换自身模型路由的工具:`switch_model` 将发起会话切换到另一个 provider/模型路由,`list_models` 报告该部署可以服务的路由。切换从会话的下一个模型请求开始生效,记录在会话日志中,并同步移动新会话启动所用的部署默认值。在任意 agent 预设中挂载该包即可;在没有会话控制器的部署中,工具保持可见,并在调用时以固定错误失败。
|
|
13
|
+
|
|
14
|
+
## 目录
|
|
15
|
+
|
|
16
|
+
- [使用本包](#use-this-package)
|
|
17
|
+
- [理解实现](#understand-the-implementation)
|
|
18
|
+
- [模型体验](#model-experience)
|
|
19
|
+
- [已知限制与遗留工作](#known-limitations-and-deferred-work)
|
|
20
|
+
- [开发备注](#dev-note)
|
|
21
|
+
|
|
22
|
+
-----
|
|
23
|
+
|
|
24
|
+
<a id="use-this-package"></a>
|
|
25
|
+
## 使用本包
|
|
26
|
+
|
|
27
|
+
当 agent 需要在运行时自主选择模型路由时使用本包——例如为本地任务腾出 GPU 显存而切换到更轻的模型,完成后切回。在 agent 预设中挂载该包,agent 即获得两个工具;不存在任何配置。agent 被期望先调用 `list_models`,再用其中读到的路由调用 `switch_model`。
|
|
28
|
+
|
|
29
|
+
### 何时选择
|
|
30
|
+
|
|
31
|
+
- 部署提供不止一条模型路由(多个 provider,或同一 provider 上的多个模型),且 agent 需要在它们之间移动。
|
|
32
|
+
- 会话应拥有自己的路由:切换记录在其日志中,并在恢复时重放。
|
|
33
|
+
|
|
34
|
+
### 何时不选择
|
|
35
|
+
|
|
36
|
+
- 部署只有一条路由;工具会报告它,但切换没有别处可去。
|
|
37
|
+
- 部署没有挂载会话控制器(headless、SDK):调用以固定错误失败,这是该模式下路由不可用的唯一信号。
|
|
38
|
+
|
|
39
|
+
<a id="understand-the-implementation"></a>
|
|
40
|
+
## 理解实现
|
|
41
|
+
|
|
42
|
+
该包是一个函数插件,在 `ctx.tools` 上注册两个工具,仅注入工具注册表。每次执行通过 `ctx.get` 惰性查找可选的 `sessionController` 服务,因此挂载该包永远不会阻塞在该服务上:没有该服务的部署只是在调用时让相应调用失败。`switch_model` 将参数归一化为一个 `selectModel` 请求——空字符串的 `reasoning_effort` 被省略,使 provider 默认值生效——并把控制器归一化后的选择渲染回模型。`list_models` 渲染控制器的目录:默认选择、每个可路由 provider 组及其模型、以及孤立的 provider 失败。
|
|
43
|
+
|
|
44
|
+
两个工具都是会话贡献,因此该包从 agent 预设而非宿主组合挂载。`sessionController` 服务本身留在宿主平面,由 Web 表面提供。
|
|
45
|
+
|
|
46
|
+
<a id="model-experience"></a>
|
|
47
|
+
## 模型体验
|
|
48
|
+
|
|
49
|
+
### 工具 schema
|
|
50
|
+
|
|
51
|
+
#### 模型看到什么
|
|
52
|
+
|
|
53
|
+
模型看到生成的 [`switch_model` 与 `list_models` schema](../../../docs/tool-catalog.zh.md#deepseek-aidsh-tool-model-switch):`switch_model` 接受必填的 `provider` 与 `model` 路由 id 及可选的 `reasoning_effort`,`list_models` 不接受参数。
|
|
54
|
+
|
|
55
|
+
#### Token 影响
|
|
56
|
+
|
|
57
|
+
在工具可见的每个请求上产生固定 schema 开销;描述与 schema 对给定部署保持稳定。
|
|
58
|
+
|
|
59
|
+
#### KV Cache 影响
|
|
60
|
+
|
|
61
|
+
在工具定义不变时前缀稳定。插件生命周期或作用域限制可能使来自这些 schema 的复用失效。
|
|
62
|
+
|
|
63
|
+
### 工具调用历史与结果
|
|
64
|
+
|
|
65
|
+
#### 模型看到什么
|
|
66
|
+
|
|
67
|
+
每个 `switch_model` 调用保留其路由参数。成功时恰好返回 `Switched this session's model to <provider>/<model>`,当控制器回显 effort 时附加 ` (reasoning effort <effort>)`,以 `Effective from the next model request; the default for new sessions now matches this selection.` 收尾。`list_models` 返回默认路由、每个 provider 组一行、每个模型一行、每个失败 provider 一行,以换行连接。稳定失败为 `switch_model: no agent context for this call`、`switch_model: the session controller is not available in this deployment` 与 `list_models: the session controller is not available in this deployment`。`model/selection` 会话事件是持久记录,而非第二条模型消息。
|
|
68
|
+
|
|
69
|
+
#### Token 影响
|
|
70
|
+
|
|
71
|
+
切换结果小而固定形状;列表结果随可路由模型数与失败 provider 数增长,两者在压缩前保留在调用历史中。
|
|
72
|
+
|
|
73
|
+
#### KV Cache 影响
|
|
74
|
+
|
|
75
|
+
仅追加;新可见内容跟随可复用请求前缀,不会使现有 KV-cache 条目失效。
|
|
76
|
+
|
|
77
|
+
## 已知限制与遗留工作
|
|
78
|
+
|
|
79
|
+
<a id="known-limitations-and-deferred-work"></a>
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
- **没有控制器意味着调用时报错,而非隐藏工具**——没有 `sessionController` 服务的部署(headless、SDK)保留两个工具在目录中,只有调用落地时才暴露固定错误,因此该模式下的 agent 只能通过调用得知路由不可用。
|
|
83
|
+
|
|
84
|
+
-----
|
|
85
|
+
|
|
86
|
+
<a id="dev-note"></a>
|
|
87
|
+
### 开发备注
|
|
88
|
+
|
|
89
|
+
- 模型可见文本在 `src/index.ts` 中逐字固定,并由单元测试与 loader-composition 测试断言;改动它们时同步更新断言。
|
|
90
|
+
- `scripts/gen-tool-catalog.ts` 中的工具目录条目在一个已携带 `tools` 与 `systemPrompt` 的上下文上挂载该包;启动时不需要控制器,与调用时的惰性查找一致。
|
package/lib/index.js
ADDED
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { defineTool } from "@deepseek-ai/dsh-tools";
|
|
2
|
+
//#region lib/types/index.js
|
|
3
|
+
/**
|
|
4
|
+
* Model-facing session model routing. `switch_model` moves the calling session
|
|
5
|
+
* to another provider/model route through the Host's `sessionController`
|
|
6
|
+
* service, which resolves the selection against the model route, installs it
|
|
7
|
+
* for the Session's next request, and persists it as the deployment default
|
|
8
|
+
* for new sessions. `list_models` reports the routable providers and models
|
|
9
|
+
* so the agent can pick a route. Deployments that mount no session controller
|
|
10
|
+
* (headless, SDK) fail the calls loudly at call time. Named exports preserve
|
|
11
|
+
* loader injection metadata.
|
|
12
|
+
* @module @deepseek-ai/dsh-tool-model-switch
|
|
13
|
+
*/
|
|
14
|
+
const name = "tool-model-switch";
|
|
15
|
+
const inject = ["tools"];
|
|
16
|
+
const SWITCH_MODEL_DESCRIPTION = "Switch the LLM model that this session runs on. The switch takes effect from the agent's next model request and is recorded in the session log. The deployment default for new sessions is also updated to the selected route. Call list_models first to see which providers and models are available. Useful when you need to free GPU memory for a local task: switch to a lighter or differently placed model, run the task, then switch back.";
|
|
17
|
+
const LIST_MODELS_DESCRIPTION = "List the LLM providers and models this deployment can route to, the current default selection, and any providers whose catalog failed to load. Call it before switch_model.";
|
|
18
|
+
/**
|
|
19
|
+
* Register the `switch_model` and `list_models` tools on `ctx.tools`. Both
|
|
20
|
+
* delegate to the `sessionController` service lazily, so the package mounts
|
|
21
|
+
* in every preset; only a call in a controller-less deployment fails.
|
|
22
|
+
* @param ctx - registrant context carrying the tool registry.
|
|
23
|
+
*/
|
|
24
|
+
function apply(ctx) {
|
|
25
|
+
ctx.tools.register(defineTool({
|
|
26
|
+
name: "switch_model",
|
|
27
|
+
description: SWITCH_MODEL_DESCRIPTION,
|
|
28
|
+
parameters: {
|
|
29
|
+
provider: {
|
|
30
|
+
type: "string",
|
|
31
|
+
required: true,
|
|
32
|
+
description: "Registered provider route id, for example \"llama-cpp\"."
|
|
33
|
+
},
|
|
34
|
+
model: {
|
|
35
|
+
type: "string",
|
|
36
|
+
required: true,
|
|
37
|
+
description: "Provider-owned model id, for example \"Qwen3.8-27B-Ridge\"."
|
|
38
|
+
},
|
|
39
|
+
reasoning_effort: {
|
|
40
|
+
type: "string",
|
|
41
|
+
description: "Optional adapter-owned reasoning effort id; omit for the provider default."
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
output: {
|
|
45
|
+
schema: { type: "string" },
|
|
46
|
+
render: (_args, value) => [{
|
|
47
|
+
type: "text",
|
|
48
|
+
text: value
|
|
49
|
+
}]
|
|
50
|
+
},
|
|
51
|
+
execute: async (args, exec) => {
|
|
52
|
+
const agent = exec.agent;
|
|
53
|
+
if (agent === void 0) throw new Error("switch_model: no agent context for this call");
|
|
54
|
+
const controller = ctx.get("sessionController");
|
|
55
|
+
if (controller === void 0) throw new Error("switch_model: the session controller is not available in this deployment");
|
|
56
|
+
const effort = args.reasoning_effort !== void 0 && args.reasoning_effort !== "" ? args.reasoning_effort : void 0;
|
|
57
|
+
const request = {
|
|
58
|
+
sessionId: agent.id,
|
|
59
|
+
provider: args.provider,
|
|
60
|
+
model: args.model,
|
|
61
|
+
...effort !== void 0 ? { reasoningEffort: effort } : {}
|
|
62
|
+
};
|
|
63
|
+
const selected = (await controller.selectModel(request)).selected;
|
|
64
|
+
let text = `Switched this session's model to ${selected.provider}/${selected.model}`;
|
|
65
|
+
if (selected.reasoningEffort !== void 0) text += ` (reasoning effort ${selected.reasoningEffort})`;
|
|
66
|
+
text += ". Effective from the next model request; the default for new sessions now matches this selection.";
|
|
67
|
+
return text;
|
|
68
|
+
},
|
|
69
|
+
presentCall: (args) => ({
|
|
70
|
+
card: "generic",
|
|
71
|
+
title: "Switch session model",
|
|
72
|
+
kind: "other",
|
|
73
|
+
rawInput: args
|
|
74
|
+
})
|
|
75
|
+
}));
|
|
76
|
+
ctx.tools.register(defineTool({
|
|
77
|
+
name: "list_models",
|
|
78
|
+
description: LIST_MODELS_DESCRIPTION,
|
|
79
|
+
parameters: {},
|
|
80
|
+
output: {
|
|
81
|
+
schema: { type: "string" },
|
|
82
|
+
render: (_args, value) => [{
|
|
83
|
+
type: "text",
|
|
84
|
+
text: value
|
|
85
|
+
}]
|
|
86
|
+
},
|
|
87
|
+
execute: async () => {
|
|
88
|
+
const controller = ctx.get("sessionController");
|
|
89
|
+
if (controller === void 0) throw new Error("list_models: the session controller is not available in this deployment");
|
|
90
|
+
const catalog = await controller.modelCatalog();
|
|
91
|
+
const lines = [`Default: ${catalog.default.provider}/${catalog.default.model}`];
|
|
92
|
+
for (const group of catalog.groups) {
|
|
93
|
+
lines.push(group.name === group.id ? group.id : `${group.id} (${group.name}):`);
|
|
94
|
+
for (const model of group.models) lines.push(model.description !== void 0 && model.description !== "" ? ` ${model.id} — ${model.description}` : ` ${model.id}`);
|
|
95
|
+
}
|
|
96
|
+
for (const failure of catalog.failures) lines.push(`unavailable: ${failure.id} — ${failure.message}`);
|
|
97
|
+
return lines.join("\n");
|
|
98
|
+
},
|
|
99
|
+
presentCall: () => ({
|
|
100
|
+
card: "generic",
|
|
101
|
+
title: "List available models",
|
|
102
|
+
kind: "other",
|
|
103
|
+
rawInput: {}
|
|
104
|
+
})
|
|
105
|
+
}));
|
|
106
|
+
}
|
|
107
|
+
//#endregion
|
|
108
|
+
export { apply, inject, name };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"fileNames":["../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2016.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2021.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2023.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2024.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.dom.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.dom.asynciterable.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.scripthost.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2023.array.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2023.collection.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2023.intl.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2024.collection.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2024.object.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2024.promise.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2024.regexp.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2024.string.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.decorators.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2024.full.d.ts","../../../../vendor/cosmokit/lib/types/array.d.ts","../../../../vendor/cosmokit/lib/types/types.d.ts","../../../../vendor/cosmokit/lib/types/misc.d.ts","../../../../vendor/cosmokit/lib/types/string.d.ts","../../../../vendor/cosmokit/lib/types/time.d.ts","../../../../vendor/cosmokit/lib/types/index.d.ts","../../../../node_modules/.pnpm/@standard-schema+spec@1.1.0/node_modules/@standard-schema/spec/dist/index.d.ts","../../../../vendor/cordis/lib/types/utils.d.ts","../../../../vendor/cordis/lib/types/registry.d.ts","../../../../vendor/cordis/lib/types/reflect.d.ts","../../../../vendor/cordis/lib/types/fiber.d.ts","../../../../vendor/cordis/lib/types/events.d.ts","../../../../vendor/cordis/lib/types/logger.d.ts","../../../../vendor/cordis/lib/types/context.d.ts","../../../../vendor/cordis/lib/types/service.d.ts","../../../../vendor/cordis/lib/types/index.d.ts","../../../../vendor/schemastery/lib/types/index.d.ts","../../../core/scope/lib/types/store.d.ts","../../../core/scope/lib/types/index.d.ts","../../../typert/protocol/lib/types/remote-error.d.ts","../../../typert/protocol/lib/types/types.d.ts","../../../typert/protocol/lib/types/index.d.ts","../../../util/brand/lib/types/index.d.ts","../../../attachment/attachment/lib/types/error.d.ts","../../../attachment/attachment/lib/types/brand.d.ts","../../../attachment/attachment/lib/types/types.d.ts","../../../attachment/attachment/lib/types/admission.d.ts","../../../attachment/attachment/lib/types/request-projection.d.ts","../../../attachment/attachment/lib/types/index.d.ts","../../llm/lib/types/brand.d.ts","../../llm/lib/types/message.d.ts","../../llm/lib/types/types.d.ts","../../llm/lib/types/retry-policy.d.ts","../../llm/lib/types/call-config.d.ts","../../llm/lib/types/error.d.ts","../../llm/lib/types/attribution.d.ts","../../llm/lib/types/api-key.d.ts","../../llm/lib/types/content.d.ts","../../llm/lib/types/assembler.d.ts","../../llm/lib/types/assistant-stream.d.ts","../../llm/lib/types/index.d.ts","../../../util/values/lib/types/index.d.ts","../../../core/session/lib/types/types.d.ts","../../../core/session/lib/types/surface.d.ts","../../../core/session/lib/types/preparation.d.ts","../../../core/session/lib/types/repair.d.ts","../../../core/session/lib/types/request-header.d.ts","../../../core/session/lib/types/known-event-types.d.ts","../../../core/session/lib/types/seq-ranges.d.ts","../../../core/session/lib/types/index.d.ts","../../../core/agent/lib/types/types.d.ts","../../../core/agent/lib/types/runtime-types.d.ts","../../../core/agent/lib/types/projection.d.ts","../../../core/agent/lib/types/consumed-work.d.ts","../../../core/agent/lib/types/model-selection.d.ts","../../../core/system-prompt/lib/types/index.d.ts","../../../core/agent/lib/types/dispatch.d.ts","../../../core/agent/lib/types/index.d.ts","../../../core/tools/lib/types/presentation.d.ts","../../../core/tools/lib/types/json-schema.d.ts","../../../core/tools/lib/types/schema.d.ts","../../../core/tools/lib/types/types.d.ts","../../../code-runtime/code-runtime/lib/types/types.d.ts","../../../code-runtime/code-runtime/lib/types/index.d.ts","../../../core/tools/lib/types/ptc.d.ts","../../../core/tools/lib/types/ts-types.d.ts","../../../core/tools/lib/types/py-types.d.ts","../../../core/tools/lib/types/testing.d.ts","../../../core/tools/lib/types/index.d.ts","../../../session/session-persistence/lib/types/handle.d.ts","../../../session/session-persistence/lib/types/revision.d.ts","../../../session/session-persistence/lib/types/errors.d.ts","../../../session/session-persistence/lib/types/storage-contract.d.ts","../../../session/session-persistence/lib/types/index.d.ts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/json-schema.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/standard-schema.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/registries.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/to-json-schema.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/util.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/versions.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/schemas.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/checks.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/errors.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/core.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/parse.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/regexes.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ar.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/az.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/be.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/bg.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ca.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/cs.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/da.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/de.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/el.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/en.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/eo.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/es.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/fa.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/fi.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/fr.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/fr-CA.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/he.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/hr.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/hu.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/hy.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/id.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/is.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/it.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ja.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ka.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/kh.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/km.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ko.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/lt.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/mk.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ms.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/nl.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/no.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ota.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ps.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/pl.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/pt.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ro.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ru.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/sl.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/sv.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ta.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/th.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/tr.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ua.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/uk.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ur.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/uz.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/vi.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/zh-CN.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/zh-TW.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/yo.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/index.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/doc.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/api.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/json-schema-processors.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/json-schema-generator.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/index.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/errors.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/parse.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/schemas.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/checks.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/compat.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/from-json-schema.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/iso.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/coerce.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/external.d.cts","../../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/index.d.cts","../../../session/session-title/lib/types/types.d.ts","../../../session/session-title/lib/types/normalize.d.ts","../../../session/session-title/lib/types/index.d.ts","../../../session-query/session-query/lib/types/cursor.d.ts","../../../session-query/session-query/lib/types/types.d.ts","../../../session-query/session-query/lib/types/config.d.ts","../../../session/session-projection/lib/types/types.d.ts","../../../session/session-projection/lib/types/index.d.ts","../../../session-query/session-query/lib/types/observation.d.ts","../../../session-query/session-query/lib/types/cold-read.d.ts","../../../session-query/session-query/lib/types/extraction.d.ts","../../../session-query/session-query/lib/types/documents.d.ts","../../../session-query/session-query/lib/types/filters.d.ts","../../../session-query/session-query/lib/types/sources.d.ts","../../../session-query/session-query/lib/types/index.d.ts","../../../api/session-controller/lib/types/agent.d.ts","../../../jobs/jobs/lib/types/brand.d.ts","../../../workspace/workspace/lib/types/types.d.ts","../../../api/session-controller/lib/types/types.d.ts","../../../api/session-controller/lib/types/catalog.d.ts","../../../context/file-reference/lib/types/types.d.ts","../../../api/session-controller/lib/types/file-references.d.ts","../../../api/session-controller/lib/types/skill-catalog.d.ts","../../../api/session-controller/lib/types/index.d.ts","../src/index.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/compatibility/disposable.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/compatibility/indexable.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/compatibility/iterators.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/compatibility/index.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/globals.typedarray.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/buffer.buffer.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/globals.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/web-globals/abortcontroller.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/web-globals/domexception.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/web-globals/events.d.ts","../../../../node_modules/.pnpm/buffer@5.7.1/node_modules/buffer/index.d.ts","../../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/header.d.ts","../../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/readable.d.ts","../../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/file.d.ts","../../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/fetch.d.ts","../../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/formdata.d.ts","../../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/connector.d.ts","../../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/client.d.ts","../../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/errors.d.ts","../../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/dispatcher.d.ts","../../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-dispatcher.d.ts","../../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-origin.d.ts","../../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool-stats.d.ts","../../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool.d.ts","../../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/handlers.d.ts","../../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/balanced-pool.d.ts","../../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/agent.d.ts","../../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-interceptor.d.ts","../../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-agent.d.ts","../../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-client.d.ts","../../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-pool.d.ts","../../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-errors.d.ts","../../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/proxy-agent.d.ts","../../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/env-http-proxy-agent.d.ts","../../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-handler.d.ts","../../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-agent.d.ts","../../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/api.d.ts","../../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/interceptors.d.ts","../../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/util.d.ts","../../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cookies.d.ts","../../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/patch.d.ts","../../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/websocket.d.ts","../../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/eventsource.d.ts","../../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/filereader.d.ts","../../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/diagnostics-channel.d.ts","../../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/content-type.d.ts","../../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cache.d.ts","../../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/index.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/web-globals/fetch.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/web-globals/navigator.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/web-globals/storage.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/web-globals/streams.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/assert.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/assert/strict.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/async_hooks.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/buffer.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/child_process.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/cluster.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/console.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/constants.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/crypto.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/dgram.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/diagnostics_channel.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/dns.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/dns/promises.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/domain.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/events.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/fs.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/fs/promises.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/http.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/http2.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/https.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/inspector.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/inspector.generated.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/module.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/net.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/os.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/path.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/perf_hooks.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/process.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/punycode.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/querystring.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/readline.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/readline/promises.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/repl.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/sea.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/sqlite.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/stream.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/stream/promises.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/stream/consumers.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/stream/web.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/string_decoder.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/test.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/timers.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/timers/promises.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/tls.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/trace_events.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/tty.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/url.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/util.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/v8.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/vm.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/wasi.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/worker_threads.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/zlib.d.ts","../../../../node_modules/.pnpm/@types+node@22.20.0/node_modules/@types/node/index.d.ts"],"fileIdsList":[[260,310,327,328],[260,307,308,310,327,328],[260,309,310,327,328],[310,327,328],[260,310,315,327,328,345],[260,310,311,316,321,327,328,330,342,353],[260,310,311,312,321,327,328,330],[255,256,257,260,310,327,328],[260,310,313,327,328,354],[260,310,314,315,322,327,328,331],[260,310,315,327,328,342,350],[260,310,316,318,321,327,328,330],[260,309,310,317,327,328],[260,310,318,319,327,328],[260,310,320,321,327,328],[260,309,310,321,327,328],[260,310,321,322,323,327,328,342,353],[260,310,321,322,323,327,328,337,342,345],[260,302,310,318,321,324,327,328,330,342,353],[260,310,321,322,324,325,327,328,330,342,350,353],[260,310,324,326,327,328,342,350,353],[258,259,260,261,262,263,264,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359],[260,310,321,327,328],[260,310,327,328,329,353],[260,310,318,321,327,328,330,342],[260,310,327,328,331],[260,310,327,328,332],[260,309,310,327,328,333],[260,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359],[260,310,327,328,335],[260,310,327,328,336],[260,310,321,327,328,337,338],[260,310,327,328,337,339,354,356],[260,310,322,327,328],[260,310,321,327,328,342,343,345],[260,310,327,328,344,345],[260,310,327,328,342,343],[260,310,327,328,345],[260,310,327,328,346],[260,307,310,327,328,342,347,353],[260,310,321,327,328,348,349],[260,310,327,328,348,349],[260,310,315,327,328,330,342,350],[260,310,327,328,351],[260,310,327,328,330,352],[260,310,324,327,328,336,353],[260,310,315,327,328,354],[260,310,327,328,342,355],[260,310,327,328,329,356],[260,310,327,328,357],[260,302,310,327,328],[260,302,310,321,323,327,328,333,342,345,353,355,356,358],[260,310,327,328,342,359],[260,274,278,310,327,328,353],[260,274,310,327,328,342,353],[260,269,310,327,328],[260,271,274,310,327,328,350,353],[260,310,327,328,330,350],[260,310,327,328,360],[260,269,310,327,328,360],[260,271,274,310,327,328,330,353],[260,266,267,270,273,310,321,327,328,342,353],[260,274,281,310,327,328],[260,266,272,310,327,328],[260,274,295,296,310,327,328],[260,270,274,310,327,328,345,353,360],[260,295,310,327,328,360],[260,268,269,310,327,328,360],[260,274,310,327,328],[260,268,269,270,271,272,273,274,275,276,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,296,297,298,299,300,301,310,327,328],[260,274,289,310,327,328],[260,274,281,282,310,327,328],[260,272,274,282,283,310,327,328],[260,273,310,327,328],[260,266,269,274,310,327,328],[260,274,278,282,283,310,327,328],[260,278,310,327,328],[260,272,274,277,310,327,328,353],[260,266,271,274,281,310,327,328],[260,310,327,328,342],[260,269,274,295,310,327,328,358,360],[228,260,310,327,328],[219,260,310,327,328],[219,222,260,310,327,328],[154,214,217,219,220,221,222,223,224,225,226,227,260,310,327,328],[150,152,222,260,310,327,328],[219,220,260,310,327,328],[151,219,221,260,310,327,328],[152,154,156,157,158,159,260,310,327,328],[154,156,158,159,260,310,327,328],[154,156,158,260,310,327,328],[151,154,156,157,159,260,310,327,328],[150,152,153,154,155,156,157,158,159,160,161,214,215,216,217,218,260,310,327,328],[150,152,153,156,260,310,327,328],[152,153,156,260,310,327,328],[156,159,260,310,327,328],[150,151,153,154,155,157,158,159,260,310,327,328],[150,151,152,156,219,260,310,327,328],[156,157,158,159,260,310,327,328],[158,260,310,327,328],[162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,260,310,327,328],[91,96,97,104,107,116,118,125,126,127,131,133,139,144,149,232,237,244,247,248,251,252,253,260,310,327,328],[91,96,104,107,116,125,127,131,133,139,144,149,232,237,244,248,251,252,253,260,310,327,328],[91,96,97,104,107,116,118,125,126,127,131,133,139,144,149,232,237,244,247,248,250,251,252,253,260,310,327,328],[91,92,96,97,104,107,116,118,125,126,127,131,133,139,144,149,232,237,244,245,247,248,249,251,252,253,260,310,327,328],[91,96,97,98,104,105,107,116,117,118,125,126,127,128,131,133,137,139,144,149,230,232,236,237,244,246,247,248,251,252,253,260,310,327,328],[101,104,260,310,327,328],[98,260,310,327,328],[91,96,99,100,101,102,103,104,107,116,125,127,131,133,139,144,149,232,237,244,248,251,252,253,260,310,327,328],[100,260,310,327,328],[91,96,104,107,116,125,127,131,133,138,139,144,149,232,237,244,248,251,252,253,260,310,327,328],[125,260,310,327,328],[91,94,96,104,107,116,125,126,127,131,133,139,144,149,232,237,244,248,251,252,253,260,310,327,328],[91,96,104,107,116,125,126,127,128,129,130,131,132,133,139,144,149,232,237,244,248,251,252,253,260,310,327,328],[126,127,230,236,248,260,310,327,328],[97,107,117,118,125,126,128,137,230,232,236,247,248,260,310,327,328],[91,93,96,104,107,116,125,127,131,133,139,144,149,232,237,244,248,251,252,253,260,310,327,328],[91,94,96,104,107,116,125,127,131,133,139,144,149,232,237,244,248,251,252,253,260,310,327,328],[91,94,96,97,104,107,116,118,119,120,121,122,123,124,125,126,127,131,133,137,139,144,149,232,237,244,247,248,251,252,253,260,310,327,328],[118,126,137,232,248,260,310,327,328],[116,118,126,137,232,248,260,310,327,328],[97,98,107,116,117,125,126,247,248,260,310,327,328],[91,92,94,96,104,107,116,125,127,131,133,139,144,149,232,237,244,248,251,252,253,260,310,327,328],[91,92,94,96,104,107,116,117,125,127,131,133,134,135,136,137,139,140,141,142,143,144,149,232,237,244,248,251,252,253,260,310,327,328],[116,117,248,260,310,327,328],[116,248,260,310,327,328],[116,139,144,248,260,310,327,328],[141,260,310,327,328],[116,117,134,135,144,248,260,310,327,328],[116,136,144,248,260,310,327,328],[116,135,248,260,310,327,328],[105,107,118,126,232,248,260,310,327,328],[106,107,260,310,327,328],[105,107,114,260,310,327,328],[105,107,260,310,327,328],[104,106,107,260,310,327,328],[91,96,97,104,105,106,107,108,109,110,111,112,113,114,115,116,118,125,126,127,131,133,139,144,149,232,237,244,247,248,251,252,253,260,310,327,328],[92,260,310,327,328],[91,96,97,98,104,105,106,116,118,125,126,127,131,133,139,144,149,232,237,244,247,248,251,252,253,260,310,327,328],[125,149,260,310,327,328],[125,234,260,310,327,328],[234,260,310,327,328],[91,96,104,107,116,125,127,131,133,139,144,149,232,233,234,235,237,238,239,240,241,242,243,244,248,251,252,253,260,310,327,328],[125,232,233,260,310,327,328],[91,96,104,107,116,125,127,131,133,139,144,145,146,147,148,149,232,237,244,248,251,252,253,260,310,327,328],[125,147,260,310,327,328],[91,96,104,107,116,125,126,127,128,131,133,139,144,149,229,230,232,236,237,244,248,251,252,253,260,310,327,328],[91,92,96,98,104,107,116,118,125,126,127,131,133,137,139,144,149,229,230,231,232,237,244,248,251,252,253,260,310,327,328],[98,118,126,128,137,232,236,248,260,310,327,328],[91,95,96,104,107,116,125,127,131,133,139,144,149,232,237,244,248,251,252,253,260,310,327,328],[96,260,310,327,328],[97,98,107,118,125,126,137,232,248,260,310,327,328],[81,83,84,85,86,87,88,260,310,327,328],[81,84,85,86,87,88,89,260,310,327,328],[81,82,83,84,85,86,87,88,89,260,310,327,328],[83,84,85,86,87,88,89,90,260,310,327,328],[83,84,85,86,87,88,89,260,310,327,328],[76,77,78,79,80,260,310,327,328],[81,82,260,310,327,328]],"fileInfos":[{"version":"bcd24271a113971ba9eb71ff8cb01bc6b0f872a85c23fdbe5d93065b375933cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f88bedbeb09c6f5a6645cb24c7c55f1aa22d19ae96c8e6959cbd8b85a707bc6","impliedFormat":1},{"version":"7fe93b39b810eadd916be8db880dd7f0f7012a5cc6ffb62de8f62a2117fa6f1f","impliedFormat":1},{"version":"bb0074cc08b84a2374af33d8bf044b80851ccc9e719a5e202eacf40db2c31600","impliedFormat":1},{"version":"1a7daebe4f45fb03d9ec53d60008fbf9ac45a697fdc89e4ce218bc94b94f94d6","impliedFormat":1},{"version":"f94b133a3cb14a288803be545ac2683e0d0ff6661bcd37e31aaaec54fc382aed","impliedFormat":1},{"version":"f59d0650799f8782fd74cf73c19223730c6d1b9198671b1c5b3a38e1188b5953","impliedFormat":1},{"version":"8a15b4607d9a499e2dbeed9ec0d3c0d7372c850b2d5f1fb259e8f6d41d468a84","impliedFormat":1},{"version":"26e0fe14baee4e127f4365d1ae0b276f400562e45e19e35fd2d4c296684715e6","impliedFormat":1},{"version":"1e9332c23e9a907175e0ffc6a49e236f97b48838cc8aec9ce7e4cec21e544b65","impliedFormat":1},{"version":"3753fbc1113dc511214802a2342280a8b284ab9094f6420e7aa171e868679f91","impliedFormat":1},{"version":"d6b1eba8496bdd0eed6fc8a685768fe01b2da4a0388b5fe7df558290bffcf32f","affectsGlobalScope":true,"impliedFormat":1},{"version":"7f57fc4404ff020bc45b9c620aff2b40f700b95fe31164024c453a5e3c163c54","impliedFormat":1},{"version":"7f57fc4404ff020bc45b9c620aff2b40f700b95fe31164024c453a5e3c163c54","impliedFormat":1},{"version":"2a2de5b9459b3fc44decd9ce6100b72f1b002ef523126c1d3d8b2a4a63d74d78","affectsGlobalScope":true,"impliedFormat":1},{"version":"f13f4b465c99041e912db5c44129a94588e1aafee35a50eab51044833f50b4ee","affectsGlobalScope":true,"impliedFormat":1},{"version":"eadcffda2aa84802c73938e589b9e58248d74c59cb7fcbca6474e3435ac15504","affectsGlobalScope":true,"impliedFormat":1},{"version":"105ba8ff7ba746404fe1a2e189d1d3d2e0eb29a08c18dded791af02f29fb4711","affectsGlobalScope":true,"impliedFormat":1},{"version":"00343ca5b2e3d48fa5df1db6e32ea2a59afab09590274a6cccb1dbae82e60c7c","affectsGlobalScope":true,"impliedFormat":1},{"version":"ebd9f816d4002697cb2864bea1f0b70a103124e18a8cd9645eeccc09bdf80ab4","affectsGlobalScope":true,"impliedFormat":1},{"version":"2c1afac30a01772cd2a9a298a7ce7706b5892e447bb46bdbeef720f7b5da77ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"7b0225f483e4fa685625ebe43dd584bb7973bbd84e66a6ba7bbe175ee1048b4f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0a4b8ac6ce74679c1da2b3795296f5896e31c38e888469a8e0f99dc3305de60","affectsGlobalScope":true,"impliedFormat":1},{"version":"3084a7b5f569088e0146533a00830e206565de65cae2239509168b11434cd84f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5079c53f0f141a0698faa903e76cb41cd664e3efb01cc17a5c46ec2eb0bef42","affectsGlobalScope":true,"impliedFormat":1},{"version":"32cafbc484dea6b0ab62cf8473182bbcb23020d70845b406f80b7526f38ae862","affectsGlobalScope":true,"impliedFormat":1},{"version":"fca4cdcb6d6c5ef18a869003d02c9f0fd95df8cfaf6eb431cd3376bc034cad36","affectsGlobalScope":true,"impliedFormat":1},{"version":"b93ec88115de9a9dc1b602291b85baf825c85666bf25985cc5f698073892b467","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5c06dcc3fe849fcb297c247865a161f995cc29de7aa823afdd75aaaddc1419b","affectsGlobalScope":true,"impliedFormat":1},{"version":"b77e16112127a4b169ef0b8c3a4d730edf459c5f25fe52d5e436a6919206c4d7","affectsGlobalScope":true,"impliedFormat":1},{"version":"fbffd9337146eff822c7c00acbb78b01ea7ea23987f6c961eba689349e744f8c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a995c0e49b721312f74fdfb89e4ba29bd9824c770bbb4021d74d2bf560e4c6bd","affectsGlobalScope":true,"impliedFormat":1},{"version":"c7b3542146734342e440a84b213384bfa188835537ddbda50d30766f0593aff9","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce6180fa19b1cccd07ee7f7dbb9a367ac19c0ed160573e4686425060b6df7f57","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f02e2476bccb9dbe21280d6090f0df17d2f66b74711489415a8aa4df73c9675","affectsGlobalScope":true,"impliedFormat":1},{"version":"45e3ab34c1c013c8ab2dc1ba4c80c780744b13b5676800ae2e3be27ae862c40c","affectsGlobalScope":true,"impliedFormat":1},{"version":"805c86f6cca8d7702a62a844856dbaa2a3fd2abef0536e65d48732441dde5b5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e42e397f1a5a77994f0185fd1466520691456c772d06bf843e5084ceb879a0ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"f4c2b41f90c95b1c532ecc874bd3c111865793b23aebcc1c3cbbabcd5d76ffb0","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab26191cfad5b66afa11b8bf935ef1cd88fabfcb28d30b2dfa6fad877d050332","affectsGlobalScope":true,"impliedFormat":1},{"version":"2088bc26531e38fb05eedac2951480db5309f6be3fa4a08d2221abb0f5b4200d","affectsGlobalScope":true,"impliedFormat":1},{"version":"cb9d366c425fea79716a8fb3af0d78e6b22ebbab3bd64d25063b42dc9f531c1e","affectsGlobalScope":true,"impliedFormat":1},{"version":"500934a8089c26d57ebdb688fc9757389bb6207a3c8f0674d68efa900d2abb34","affectsGlobalScope":true,"impliedFormat":1},{"version":"689da16f46e647cef0d64b0def88910e818a5877ca5379ede156ca3afb780ac3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc21cc8b6fee4f4c2440d08035b7ea3c06b3511314c8bab6bef7a92de58a2593","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ca53d13d2957003abb47922a71866ba7cb2068f8d154877c596d63c359fed25","affectsGlobalScope":true,"impliedFormat":1},{"version":"54725f8c4df3d900cb4dac84b64689ce29548da0b4e9b7c2de61d41c79293611","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5594bc3076ac29e6c1ebda77939bc4c8833de72f654b6e376862c0473199323","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f3eb332c2d73e729f3364fcc0c2b375e72a121e8157d25a82d67a138c83a95c","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f4427f9642ce8d500970e4e69d1397f64072ab73b97e476b4002a646ac743b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"48915f327cd1dea4d7bd358d9dc7732f58f9e1626a29cc0c05c8c692419d9bb7","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7bf9377723203b5a6a4b920164df22d56a43f593269ba6ae1fdc97774b68855","affectsGlobalScope":true,"impliedFormat":1},{"version":"db9709688f82c9e5f65a119c64d835f906efe5f559d08b11642d56eb85b79357","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b25b8c874acd1a4cf8444c3617e037d444d19080ac9f634b405583fd10ce1f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"37be57d7c90cf1f8112ee2636a068d8fd181289f82b744160ec56a7dc158a9f5","affectsGlobalScope":true,"impliedFormat":1},{"version":"a917a49ac94cd26b754ab84e113369a75d1a47a710661d7cd25e961cc797065f","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d3261badeb7843d157ef3e6f5d1427d0eeb0af0cf9df84a62cfd29fd47ac86e","affectsGlobalScope":true,"impliedFormat":1},{"version":"195daca651dde22f2167ac0d0a05e215308119a3100f5e6268e8317d05a92526","affectsGlobalScope":true,"impliedFormat":1},{"version":"8b11e4285cd2bb164a4dc09248bdec69e9842517db4ca47c1ba913011e44ff2f","affectsGlobalScope":true,"impliedFormat":1},{"version":"0508571a52475e245b02bc50fa1394065a0a3d05277fbf5120c3784b85651799","affectsGlobalScope":true,"impliedFormat":1},{"version":"8f9af488f510c3015af3cc8c267a9e9d96c4dd38a1fdff0e11dc5a544711415b","affectsGlobalScope":true,"impliedFormat":1},{"version":"fc611fea8d30ea72c6bbfb599c9b4d393ce22e2f5bfef2172534781e7d138104","affectsGlobalScope":true,"impliedFormat":1},{"version":"0bd714129fca875f7d4c477a1a392200b0bcd13fb2e80928cd334b63830ea047","affectsGlobalScope":true,"impliedFormat":1},{"version":"e2c9037ae6cd2c52d80ceef0b3c5ffdb488627d71529cf4f63776daf11161c9a","affectsGlobalScope":true,"impliedFormat":1},{"version":"135d5cf4d345f59f1a9caadfafcd858d3d9cc68290db616cc85797224448cccc","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc238c3f81c2984751932b6aab223cd5b830e0ac6cad76389e5e9d2ffc03287d","affectsGlobalScope":true,"impliedFormat":1},{"version":"4a07f9b76d361f572620927e5735b77d6d2101c23cdd94383eb5b706e7b36357","affectsGlobalScope":true,"impliedFormat":1},{"version":"7c4e8dc6ab834cc6baa0227e030606d29e3e8449a9f67cdf5605ea5493c4db29","affectsGlobalScope":true,"impliedFormat":1},{"version":"de7ba0fd02e06cd9a5bd4ab441ed0e122735786e67dde1e849cced1cd8b46b78","affectsGlobalScope":true,"impliedFormat":1},{"version":"6148e4e88d720a06855071c3db02069434142a8332cf9c182cda551adedf3156","affectsGlobalScope":true,"impliedFormat":1},{"version":"d63dba625b108316a40c95a4425f8d4294e0deeccfd6c7e59d819efa19e23409","affectsGlobalScope":true,"impliedFormat":1},{"version":"0568d6befee03dd435bed4fc25c4e46865b24bdcb8c563fdc21f580a2c301904","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ce14b81c5cc821994aa8ec1d42b220dd41b27fcc06373bce3958af7421b77d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3a048b3e9302ef9a34ef4ebb9aecfb28b66abb3bce577206a79fee559c230da","affectsGlobalScope":true,"impliedFormat":1},{"version":"b9f65879de79a7647ad2e5b8089277c215911fa99d4b858d78014df6ba2852f3","impliedFormat":1},"fb6f2007d60e8b519a2ef0c5a27026ddfe06418ae6261c4eb0cb670cca5e1bc2","a48f1b69ec0b94b16c7ece2cf6d6003cc8d0c329538117c1c364d8525a100850","cd5713ac354e4869fdf837e12d24d3ae14fd9d94a5bb2d340df63b899b74e6ca","56210599298d6eca6285eab99c7e9333d7e275c3a73a7f401b3055e8d55c67e8","2845576622e416da9871e1f3c788ba41dc4f24eb764362b10eceeb0dbaa67208","f0421e04e2a5238754cf444bf2a56fe7e7a94a08c14c1f9d063ff51c85825823",{"version":"bdd14f07b4eca0b4b5203b85b8dbc4d084c749fa590bee5ea613e1641dcd3b29","impliedFormat":99},"967b227fad024ba8a7c32127534089bce5adc800840b0288f44d41c4c849278e","ffd229492af3cb444c01e8e51a78dfdbed670940bac40dde083675d57d6984fc","57cdef8252cb041b4b646cc9e80dcb27d2180bb78fcf95761136d99be4079cb3","eb5fd8d19b0330da4dccb6cab3eae0304f056ac8fbd5bd9589ce48f0920bff78","db565a086622cbe616a950186dc90e82a74060864b9cd1d0f25285860daea9b4","71087395cc862f52662ab2629a0f3838f8f2aaf84eb40c97f4f4004f2fcbbed6","1e2e6cfcab26ae01d7f2dd1f78a1d25ddb7f3b2e27f50c9eb3b54ee206a87884","489ec23ef8dc0e869cf3d8d77a39ba83ab24e5e71362320f5662491b3dc5bd04","c93dd79fae382105510c69cc8eef95a96c8c43e50b47e16efa98a3f9e76f304b",{"version":"bb2f86815e0ffd28aff945931828a38ab6e6b1eb33b93cbb108315c2e94f8b2b","affectsGlobalScope":true},"7e39ec51a9b5df26b5e7e9c37992c90654d859017c9fb41fcbdb4c3c3a27ff9e","fd320d8bcafb6707284ca545fc93ffd25ad68663afe37f7060c5f6e2baee122b","db5c5149222e2a6aa8bb1e57221c84eeb539ec4d1c33cbe3e0e4ae3d41c0f900","5ae55305450060b36bfc0540503fcf12fa943fb042b91425c6f27214d8913eb7","020935b467371dbcbb37f04b16d78eb81151f3bb8e32c8eb9e6e31e1dc9c39e1","233a1203b6c93a2a56870f5a09c3d94ef899edc6cb4ae93ae93a40cd76653af1","3244ad5cb1ca32eb9dce7517675013ed2dc9abd4773c93edd014da3ee515eb79","8311e5e89b0bbfe25bc3ceade9fb2e0540e030dc54b0dff16d0acf03612b6fb6","7e7ec02f2d2678e50825c4dd518eb275f5b0f64ac743a103760497db73bb2a64","1fe57cbfd29bfca344e8492ebbda7b95421567520c8cc29efd6959aef4be7787","cb3857fe98ef2a74c01c6f51c4d0ab5cb897446b8996a2e7b966fd2f778ad119","8b7fb3797be69673854f5ff15875d83c7de2b6f0cf85629b2428c02f9a288a65","852fa334ecb9986c8c1ddb0931aa3ce4975bfdaaed13995230a0c3ad19133db0","532cb29f3e7bbe0195f48310ff711a17357053e7a610f6d765618eaf64bd028a","f72b39a73d497914f0c44e98dadbf0a31b6302642c24f5ec77e1e65be52efc7f","8fcd1d7a60d4f123f9c9242e565a8df5fe7eb2562edf176ec1c7575f729a0b2b","6f98290a2699d19f03a2d2633a2535a3639b23aa6cfdb0f4e9852766eda8f35a","4abfc87dc2dccc299f7cb0aa039632aad2374013bca5bc424bd858316c81b132","c3c6223f2d64f73b6a0a145b968764301335856a66292c3f31f9d488ba429c9c","36fe909bb584c7be20fb9d2b60dbb0f0460b27938bcd7b922446dd7480c0fd31","3b98b940e995506ff74aed79dbf1dd7852ea6e9f735fe183052214c237b0a65d","aeb7c18a61c3976a09f59bc8b1bf9e0f8574eb281630d33a8cd198af8a1c962a","222880b378df79a18413e3381ee16f3f17758f30cfbffd55f05e21e768e33d2d","db66b1586e31fbaa30000997dfa6c5da72e3650512c2797b5b370c7fdb175ae2","644797eb565b1349d96093f2ee700da31be9f682a484b44b75e93318926f100b","53c7c1c2c9f7284e719977f42c429a51edfd559984fc6c84ff6b65001c30b7ce","b7fea6e2de185f12e9fea68b5a4c15ad9908c5f6164a6ba9eafeca43cf55bc5b","de7e63725939d31ddfda7aa38cb9cba8d6d71a1653b34ba784a7d66bb45cb43f","97d48d7e667fd8ef259ab08687a4c851b1d61c150dca676cf57dd92bc6ff202f","4220ce437a955b509d9faab7946effbd436ad0d14e8580e14783f99e5e0c4c02","732c9f83716d9f7d90975dd997e72257e68ed2a548b4a147fc1775056bebc978","144ac638deb06f3e11b5354e7334c4e6f163e966259d13eae3bbdc2f8c1f5181","563e5ad2ecbd6e9f6632c7d505cc856cdef6c613332aa90fde46fffbb4950e60","712f093f1df0338cefe89e7bf809db514e165834858e60222a7bcc4d6b1bb0c7","7493c670f5572cc9bf4a165c6f74ddbed2de5734dd96c85576800d4247985564","779048317ce2e65cb1d67300bfbbe1e2e3b16982beee682b510643675f6d2615","3ffce582c2e44b0a1d52449325c3282bf0ee822fcd1daac2988a4060f4ac43a4","e43aa0d5bc2d2f40c6725a174f8842ce357c2fb922c4ab3b75dd57d7b5d0fe63","4346075cabb6c4c1d995f6e68f5ec2ed869c03b35883e04c03ab4007d32dfd7d","262107b570d819f43dc72f6c0164b0d1e2530aab491a254e5fdc6017997b3afe","b299cfcebcf920f59b27d04564a9da8e524b2ceb36a15f41502c610071f4f8bf","bd37789e4e28a495dfd85f2f02c42d47a8e62d485a29cf3ef88635c9ee3c989d","7703b3a083ab1d515cf212a3c7a7ae3d03b7eeaf571204649ba4595863ab6fcd","3fe15dc7f48fc88d70c6614fd8582576fee1c30f49201adf108841222f6d2542","979e096ed9c2c6e673ffa7ef03daeb7c4a1e5dd95a6d75c1c9f58e60cde039ae","f697937fd206e360755d2452fed48695513a7ae1a041768de2f8c14d42e3fd9a","a88de311d12309c4c329639b44b0a23d4756168908a9515f0ec732eab48cc530","d339f4b6e03f899f54bf54f78ed86914dbc0114718a4923c8c5578e3f238f21c","68d0000da28067ecda7a039d1e1baeeb1a983df578d2f22e5139447727916559","b554ce2cc981b9f2fad3fb255bbc2480bc09f79c656ed105f7844e2fbe6affae","0815bb3e7047125b185e43035b8c1f537653ea8712d4ed27e416666c9cb411d0","2442e863890d7f4266532f0df1d0e4db8d521afacf13bf17d7c20c0d5349d5b7","425cbdc4fb5f2a7908600c6175504286582cdea1ded68b6970a325d3656fbef2","ee7219fd39e722354d5200ee8ebdb3a13eba326fbd43181b1f9f8ee9b13ffbb9","d31e730cd00197760d9a9842cc63a9687a438518b8c6e8863364445fa16fd83d","1d2c16df4985193a3ea658b6f397f2cc4f40023dd658f45349ea33120028292b","56e2e631f05c48a5e81d1c80bf2939a7e321c5a63a2c5d43db83d1612fadfbb2",{"version":"c1a2e05eb6d7ca8d7e4a7f4c93ccf0c2857e842a64c98eaee4d85841ee9855e6","impliedFormat":1},{"version":"835fb2909ce458740fb4a49fc61709896c6864f5ce3db7f0a88f06c720d74d02","impliedFormat":1},{"version":"6e5857f38aa297a859cab4ec891408659218a5a2610cd317b6dcbef9979459cc","impliedFormat":1},{"version":"ead8e39c2e11891f286b06ae2aa71f208b1802661fcdb2425cffa4f494a68854","impliedFormat":1},{"version":"40ba6c32eb732a09e4446ade5cb6ad0c147f186f9c9dc6878b90b4418ad9f6ea","impliedFormat":1},{"version":"fdd814741843f85c98281522c58f5a646590ba9019fad2efaa95987655e0611b","impliedFormat":1},{"version":"c78aff4fb58b28b8f642d5095fc7eeb79f00e652a67caa19693af1adabb833c9","impliedFormat":1},{"version":"f80a08ced8818dc99359c0acd5b3f12762e1ce53758007759b0d4e503cbf4a5e","impliedFormat":1},{"version":"37935fa7564bcc6e0bc845b766a24391098d26f7c8245d6e8ab37bc016816e94","impliedFormat":1},{"version":"68add36d9632bc096d7245d24d6b0b8ad5f125183016102a3dad4c9c2438ccb0","impliedFormat":1},{"version":"3a819c2928ee06bbcc84e2797fd3558ae2ebb7e0ed8d87f71732fb2e2acc87b4","impliedFormat":1},{"version":"0f8a263f4c8595c8a07de52e3f3927640c44386c1aa2984de9eae50d75e613b2","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"346fffde7c32da87c2196eb7494422449dc2ca82d3b4e6bf55be1d1a33ffc2b0","impliedFormat":1},{"version":"add0ce7b77ba5b308492fa68f77f24d1ed1d9148534bdf05ac17c30763fc1a79","impliedFormat":1},{"version":"8b5875e4958528042103fdd775e106a7f76bafc29709f0690df9a7d2241d52a7","impliedFormat":1},{"version":"2f67911e4bf4e0717dc2ded248ce2d5e4398d945ee13889a6852c1233ea41508","impliedFormat":1},{"version":"d8430c275b0f59417ea8e173cfb888a4477b430ec35b595bf734f3ec7a7d729f","impliedFormat":1},{"version":"69364df1c776372d7df1fb46a6cb3a6bf7f55e700f533a104e3f9d70a32bec18","impliedFormat":1},{"version":"6042774c61ece4ba77b3bf375f15942eb054675b7957882a00c22c0e4fe5865c","impliedFormat":1},{"version":"5a3bd57ed7a9d9afef74c75f77fce79ba3c786401af9810cdf45907c4e93f30e","impliedFormat":1},{"version":"aef26cf95593c8ace1c62c4724f9afac77bdfa756fb8a00613cd152117cb2f43","impliedFormat":1},{"version":"30db853bb2e60170ba11e39ab48bacecb32d06d4def89eedf17e58ebab762a65","impliedFormat":1},{"version":"e27451b24234dfed45f6cf22112a04955183a99c42a2691fb4936d63cfe42761","impliedFormat":1},{"version":"2316301dd223d31962d917999acf8e543e0119c5d24ec984c9f22cb23247160c","impliedFormat":1},{"version":"58d65a2803c3b6629b0e18c8bf1bc883a686fcf0333230dd0151ab6e85b74307","impliedFormat":1},{"version":"e818471014c77c103330aee11f00a7a00b37b35500b53ea6f337aefacd6174c9","impliedFormat":1},{"version":"268fd6d9f2e807a39a6c5aa654b00f949feb63d3faa7dd0f9bba7dde9172159c","impliedFormat":1},{"version":"29f823cbe0166e10e7176a94afe609a24b9e5af3858628c541ff8ce1727023cd","impliedFormat":1},"4156a5c8916539aeb7f68a9d12dc1ff3da18c84c86fa8ac71f70983176691ed0","e120b9d1faeb9c7b897b9fca9eef23903ee6e895c1f8452b646ea1b84075ad1f","865168c9c674235128ec39c9c053b8410d1169daa7da4b068486ead8c3176d90","23d0de77876fc6e52d9b6e8435855828ac6b0ecc18635aef3086439cb0c0563a","6eb15e4b6e5e8718d82eb9c713a3782eb77613526e232ea386d801c87c06cf39","5f35ee7bcd4f40dfef6c6a7e643799f1507f08c87b43ada65dcf9ed5e51c290a","afd2329d9cbbdb918e47eac401b08f43b34ea04be056fd03c16de8751f123128","ddb83558f82ff562f1a974b74494e482a52503e44de092267e5f7c8acda47957","3bec1aa3eeb714b40827276f4fea8e5334e770e7c83bf22b4c0e550e0ac43b36","1e86938d02f82c3bdc9a1f939124dc164f14c333fcc8a6bc8458f84434e03e2e","d1a0df03337218ccaab20f4f24cd80ade468081d92f3f6dcf1fc93d00b03d33a","a896e046284067a32c3850d49342055c4be771dc542d912b9ad361700b1c8225","c23bf41400706e4b33bed7dd699bb81eca3ab84d37c0b20e4653456ff6776a61","d9729bc214c4a114694e2c2dbf286519ead50b7c59396ca7ab383b5e7bf791b7","98f2c8a420935806d30f9e4d5b7c70cabd2aee6ccf85128729bbfc3eafc95c13","460d492b141e358a3610cf03f92488d1d4ae24138b5c10e66212f81581df2aad","1cb4e9764ff3996b3a1da4566fc29089428d7b1867af7302ae3445fe567bb240","272b704b770b42de87e461d02d6ffc2cb5ebbbf86b2a98e5c96c6a614ac3ebb3","b6bcca00003219cc62813698f1c1062fdf68166cf184910e8fec88d4cf282b5d","d768e5d4b7572c0a643b750f85a50ccedfd58c5479758f5d8f6ad0b84c304ddb","ca4ac68593714b54fb594f9d7b6c1a5240aa3fc629f485402493dfb8002ec952","58cbfde45b568d17587b41a2dd2a5119e4a5bb1584a0f8bac7421de7a1e59788","8ac8d29ed9e5fa0958dc94de156d5e6b438b642f5d590e3d80d01085438d0fb9","4c1c39e42ca5d4ec8a6d7bb2a61b23498afc8b8cc579f56408d5c724e3429c38",{"version":"a7e562d4f25313696c55576b2867aa4a5708228f6a7cc6d4b567f9f6cec66449","signature":"4e6b127f72fc3df14a1dea66b13c209afcbe4b8242aa2dac20e4e33411e8c353"},{"version":"6c7176368037af28cb72f2392010fa1cef295d6d6744bca8cfb54985f3a18c3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"437e20f2ba32abaeb7985e0afe0002de1917bc74e949ba585e49feba65da6ca1","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"98cffbf06d6bab333473c70a893770dbe990783904002c4f1a960447b4b53dca","affectsGlobalScope":true,"impliedFormat":1},{"version":"3af97acf03cc97de58a3a4bc91f8f616408099bc4233f6d0852e72a8ffb91ac9","affectsGlobalScope":true,"impliedFormat":1},{"version":"808069bba06b6768b62fd22429b53362e7af342da4a236ed2d2e1c89fcca3b4a","affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"f26b11d8d8e4b8028f1c7d618b22274c892e4b0ef5b3678a8ccbad85419aef43","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"b52476feb4a0cbcb25e5931b930fc73cb6643fb1a5060bf8a3dda0eeae5b4b68","affectsGlobalScope":true,"impliedFormat":1},{"version":"f9501cc13ce624c72b61f12b3963e84fad210fbdf0ffbc4590e08460a3f04eba","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d97fb21da858fb18b8ae72c314e9743fd52f73ebe2764e12af1db32fc03f853f","affectsGlobalScope":true,"impliedFormat":1},{"version":"0fa06ada475b910e2106c98c68b10483dc8811d0c14a8a8dd36efb2672485b29","impliedFormat":1},{"version":"33e5e9aba62c3193d10d1d33ae1fa75c46a1171cf76fef750777377d53b0303f","impliedFormat":1},{"version":"2b06b93fd01bcd49d1a6bd1f9b65ddcae6480b9a86e9061634d6f8e354c1468f","impliedFormat":1},{"version":"6a0cd27e5dc2cfbe039e731cf879d12b0e2dded06d1b1dedad07f7712de0d7f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"13f5c844119c43e51ce777c509267f14d6aaf31eafb2c2b002ca35584cd13b29","impliedFormat":1},{"version":"e60477649d6ad21542bd2dc7e3d9ff6853d0797ba9f689ba2f6653818999c264","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"4c829ab315f57c5442c6667b53769975acbf92003a66aef19bce151987675bd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"b2ade7657e2db96d18315694789eff2ddd3d8aea7215b181f8a0b303277cc579","impliedFormat":1},{"version":"78dbea00e90d2df8ea3dbef0cc379d95b8be9b71cd6bde4c28728f306811803b","impliedFormat":1},{"version":"4d631b81fa2f07a0e63a9a143d6a82c25c5f051298651a9b69176ba28930756d","impliedFormat":1},{"version":"836a356aae992ff3c28a0212e3eabcb76dd4b0cc06bcb9607aeef560661b860d","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"41670ee38943d9cbb4924e436f56fc19ee94232bc96108562de1a734af20dc2c","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e1e46d0a9837ee058c100501080c920fa98081ea3956af0374308ba6f22a33e","impliedFormat":1},{"version":"22295e8103f1d6d8ea4b5d6211e43421fe4564e34d0dd8e09e520e452d89e659","impliedFormat":1},{"version":"fa7834c715d5357e4540cee40ce96c3250ddb67a7b879a6b7fa0e86d6696f121","impliedFormat":1},{"version":"22dfb07a7ab15b66ac043829056fe70124844636ae719551812ac631ba04985b","impliedFormat":1},{"version":"a10f0e1854f3316d7ee437b79649e5a6ae3ae14ffe6322b02d4987071a95362e","impliedFormat":1},{"version":"e208f73ef6a980104304b0d2ca5f6bf1b85de6009d2c7e404028b875020fa8f2","impliedFormat":1},{"version":"d163b6bc2372b4f07260747cbc6c0a6405ab3fbcea3852305e98ac43ca59f5bc","impliedFormat":1},{"version":"e6fa9ad47c5f71ff733744a029d1dc472c618de53804eae08ffc243b936f87ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"a6f137d651076822d4fe884287e68fd61785a0d3d1fdb250a5059b691fa897db","impliedFormat":1},{"version":"24826ed94a78d5c64bd857570fdbd96229ad41b5cb654c08d75a9845e3ab7dde","impliedFormat":1},{"version":"8b479a130ccb62e98f11f136d3ac80f2984fdc07616516d29881f3061f2dd472","impliedFormat":1},{"version":"928af3d90454bf656a52a48679f199f64c1435247d6189d1caf4c68f2eaf921f","affectsGlobalScope":true,"impliedFormat":1},{"version":"bceb58df66ab8fb00170df20cd813978c5ab84be1d285710c4eb005d8e9d8efb","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"933921f0bb0ec12ef45d1062a1fc0f27635318f4d294e4d99de9a5493e618ca2","impliedFormat":1},{"version":"71a0f3ad612c123b57239a7749770017ecfe6b66411488000aba83e4546fde25","impliedFormat":1},{"version":"77fbe5eecb6fac4b6242bbf6eebfc43e98ce5ccba8fa44e0ef6a95c945ff4d98","impliedFormat":1},{"version":"4f9d8ca0c417b67b69eeb54c7ca1bedd7b56034bb9bfd27c5d4f3bc4692daca7","impliedFormat":1},{"version":"0cb167c371eaa8c869f8a7656a7296f2e4fae43b4d8b803a680236b24794e5f9","impliedFormat":1},{"version":"0a839dba0287cc0481ad4beedd48a1c64acf1e212ae865d1315f7007ca215161","impliedFormat":1},{"version":"38dc4655376cd1a4bd6bb3763d92949233e33d38d3dd3cbea7bbf218175a38ef","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"45650f47bfb376c8a8ed39d4bcda5902ab899a3150029684ee4c10676d9fbaee","impliedFormat":1},{"version":"d61e0a64cd175208ac0b83670151a9a6b5916f0d1ffcdc5c29c90b1cebfc5045","affectsGlobalScope":true,"impliedFormat":1},{"version":"18fd40412d102c5564136f29735e5d1c3b455b8a37f920da79561f1fde068208","impliedFormat":1},{"version":"48a679952eefe4cb776d5a0e1ccba2d3eb53b57448bbb7abc1fcebcbd5440188","impliedFormat":1},{"version":"f0be1b8078cd549d91f37c30c222c2a187ac1cf981d994fb476a1adc61387b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"0aaed1d72199b01234152f7a60046bc947f1f37d78d182e9ae09c4289e06a592","impliedFormat":1},{"version":"2d14da6ecb49bf828d83948765ec2d3a579d476bbb9645e749610baa6ec880ca","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"5b7aa3c4c1a5d81b411e8cb302b45507fea9358d3569196b27eb1a27ae3a90ef","affectsGlobalScope":true,"impliedFormat":1},{"version":"5987a903da92c7462e0b35704ce7da94d7fdc4b89a984871c0e2b87a8aae9e69","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea08a0345023ade2b47fbff5a76d0d0ed8bff10bc9d22b83f40858a8e941501c","impliedFormat":1},{"version":"0aef708fb4c7a6b915e8305cbfac40cd207b032dbaabe9a01889a5fff3254681","impliedFormat":1},{"version":"ae062ce7d9510060c5d7e7952ae379224fb3f8f2dd74e88959878af2057c143b","impliedFormat":1},{"version":"ad9bdafb4e7abf14cc53ce7970486a84c87831e62891e5dfe798ddcd55e84701","affectsGlobalScope":true,"impliedFormat":1},{"version":"358765d5ea8afd285d4fd1532e78b88273f18cb3f87403a9b16fef61ac9fdcfe","impliedFormat":1},{"version":"71d3ae6a5e73ca4130762560425e00984ebaff64d5353a3333d1bb7eb86ef336","impliedFormat":1}],"root":[254],"options":{"allowImportingTsExtensions":true,"composite":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"exactOptionalPropertyTypes":true,"module":99,"noFallthroughCasesInSwitch":true,"noImplicitOverride":true,"noUncheckedIndexedAccess":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./types","rewriteRelativeImportExtensions":true,"rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":11,"verbatimModuleSyntax":false},"referencedMap":[[82,1],[307,2],[308,2],[309,3],[260,4],[310,5],[311,6],[312,7],[255,1],[258,8],[256,1],[257,1],[313,9],[314,10],[315,11],[316,12],[317,13],[318,14],[319,14],[320,15],[321,16],[322,17],[323,18],[261,1],[259,1],[324,19],[325,20],[326,21],[360,22],[327,23],[328,1],[329,24],[330,25],[331,26],[332,27],[333,28],[334,29],[335,30],[336,31],[337,32],[338,32],[339,33],[340,1],[341,34],[342,35],[344,36],[343,37],[345,38],[346,39],[347,40],[348,41],[349,42],[350,43],[351,44],[352,45],[353,46],[354,47],[355,48],[356,49],[357,50],[262,1],[263,1],[264,1],[303,51],[304,1],[305,1],[306,38],[358,52],[359,53],[265,1],[73,1],[74,1],[14,1],[12,1],[13,1],[18,1],[17,1],[2,1],[19,1],[20,1],[21,1],[22,1],[23,1],[24,1],[25,1],[26,1],[3,1],[27,1],[28,1],[4,1],[29,1],[33,1],[30,1],[31,1],[32,1],[34,1],[35,1],[36,1],[5,1],[37,1],[38,1],[39,1],[40,1],[6,1],[44,1],[41,1],[42,1],[43,1],[45,1],[7,1],[46,1],[51,1],[52,1],[47,1],[48,1],[49,1],[50,1],[8,1],[56,1],[53,1],[54,1],[55,1],[57,1],[9,1],[58,1],[59,1],[60,1],[62,1],[61,1],[63,1],[64,1],[10,1],[65,1],[66,1],[67,1],[11,1],[75,1],[68,1],[69,1],[70,1],[71,1],[72,1],[1,1],[16,1],[15,1],[281,54],[291,55],[280,54],[301,56],[272,57],[271,58],[300,59],[294,60],[299,61],[274,62],[288,63],[273,64],[297,65],[269,66],[268,59],[298,67],[270,68],[275,69],[276,1],[279,69],[266,1],[302,70],[292,71],[283,72],[284,73],[286,74],[282,75],[285,76],[295,59],[277,77],[278,78],[287,79],[267,80],[290,71],[289,69],[293,1],[296,81],[229,82],[223,83],[227,84],[224,84],[220,83],[228,85],[225,86],[226,84],[221,87],[222,88],[216,89],[157,90],[159,91],[215,1],[158,92],[219,93],[218,94],[217,95],[150,1],[160,90],[161,1],[152,96],[156,97],[151,1],[153,98],[154,99],[155,1],[162,100],[163,100],[164,100],[165,100],[166,100],[167,100],[168,100],[169,100],[170,100],[171,100],[172,100],[173,100],[174,100],[175,100],[177,100],[176,100],[178,100],[179,100],[180,100],[181,100],[182,100],[214,101],[183,100],[184,100],[185,100],[186,100],[187,100],[188,100],[189,100],[190,100],[191,100],[192,100],[193,100],[194,100],[195,100],[197,100],[196,100],[198,100],[199,100],[200,100],[201,100],[202,100],[203,100],[204,100],[205,100],[206,100],[207,100],[208,100],[209,100],[210,100],[213,100],[211,100],[212,100],[245,102],[249,103],[251,104],[253,105],[252,102],[248,106],[102,107],[100,108],[99,1],[104,109],[103,1],[101,110],[139,111],[138,1],[250,1],[129,112],[132,113],[133,114],[130,103],[128,115],[127,113],[126,116],[94,117],[93,118],[125,119],[123,1],[120,112],[121,120],[122,120],[124,120],[119,121],[118,122],[131,123],[144,124],[135,125],[134,126],[140,127],[142,128],[136,129],[143,130],[141,131],[137,132],[246,108],[112,1],[114,133],[115,134],[111,1],[105,108],[109,135],[113,136],[110,1],[116,137],[106,135],[108,138],[107,139],[254,103],[239,140],[235,126],[233,108],[241,141],[240,112],[242,142],[244,143],[238,103],[243,112],[234,144],[147,112],[145,112],[149,145],[146,108],[148,146],[237,147],[236,1],[232,148],[231,1],[230,149],[97,150],[95,151],[96,150],[98,1],[117,1],[247,152],[89,153],[87,154],[86,155],[91,156],[88,157],[85,154],[84,155],[90,157],[83,103],[76,1],[81,158],[78,1],[79,1],[80,1],[77,1],[92,159]],"latestChangedDtsFile":"./types/index.d.ts","version":"6.0.3"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Model-facing session model routing. `switch_model` moves the calling session
|
|
3
|
+
* to another provider/model route through the Host's `sessionController`
|
|
4
|
+
* service, which resolves the selection against the model route, installs it
|
|
5
|
+
* for the Session's next request, and persists it as the deployment default
|
|
6
|
+
* for new sessions. `list_models` reports the routable providers and models
|
|
7
|
+
* so the agent can pick a route. Deployments that mount no session controller
|
|
8
|
+
* (headless, SDK) fail the calls loudly at call time. Named exports preserve
|
|
9
|
+
* loader injection metadata.
|
|
10
|
+
* @module @deepseek-ai/dsh-tool-model-switch
|
|
11
|
+
*/
|
|
12
|
+
import type { Context } from '@deepseek-ai/cordis';
|
|
13
|
+
export declare const name = "tool-model-switch";
|
|
14
|
+
export declare const inject: string[];
|
|
15
|
+
/**
|
|
16
|
+
* Register the `switch_model` and `list_models` tools on `ctx.tools`. Both
|
|
17
|
+
* delegate to the `sessionController` service lazily, so the package mounts
|
|
18
|
+
* in every preset; only a call in a controller-less deployment fails.
|
|
19
|
+
* @param ctx - registrant context carrying the tool registry.
|
|
20
|
+
*/
|
|
21
|
+
export declare function apply(ctx: Context): void;
|
|
22
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAMlD,eAAO,MAAM,IAAI,sBAAsB,CAAA;AACvC,eAAO,MAAM,MAAM,UAAY,CAAA;AAY/B;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CA4DxC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Model-facing session model routing. `switch_model` moves the calling session
|
|
3
|
+
* to another provider/model route through the Host's `sessionController`
|
|
4
|
+
* service, which resolves the selection against the model route, installs it
|
|
5
|
+
* for the Session's next request, and persists it as the deployment default
|
|
6
|
+
* for new sessions. `list_models` reports the routable providers and models
|
|
7
|
+
* so the agent can pick a route. Deployments that mount no session controller
|
|
8
|
+
* (headless, SDK) fail the calls loudly at call time. Named exports preserve
|
|
9
|
+
* loader injection metadata.
|
|
10
|
+
* @module @deepseek-ai/dsh-tool-model-switch
|
|
11
|
+
*/
|
|
12
|
+
import { defineTool } from '@deepseek-ai/dsh-tools';
|
|
13
|
+
export const name = 'tool-model-switch';
|
|
14
|
+
export const inject = ['tools'];
|
|
15
|
+
const SWITCH_MODEL_DESCRIPTION = 'Switch the LLM model that this session runs on. The switch takes effect from the agent\'s next model request '
|
|
16
|
+
+ 'and is recorded in the session log. The deployment default for new sessions is also updated to the selected route. '
|
|
17
|
+
+ 'Call list_models first to see which providers and models are available. Useful when you need to free GPU memory '
|
|
18
|
+
+ 'for a local task: switch to a lighter or differently placed model, run the task, then switch back.';
|
|
19
|
+
const LIST_MODELS_DESCRIPTION = 'List the LLM providers and models this deployment can route to, the current default selection, '
|
|
20
|
+
+ 'and any providers whose catalog failed to load. Call it before switch_model.';
|
|
21
|
+
/**
|
|
22
|
+
* Register the `switch_model` and `list_models` tools on `ctx.tools`. Both
|
|
23
|
+
* delegate to the `sessionController` service lazily, so the package mounts
|
|
24
|
+
* in every preset; only a call in a controller-less deployment fails.
|
|
25
|
+
* @param ctx - registrant context carrying the tool registry.
|
|
26
|
+
*/
|
|
27
|
+
export function apply(ctx) {
|
|
28
|
+
ctx.tools.register(defineTool({
|
|
29
|
+
name: 'switch_model',
|
|
30
|
+
description: SWITCH_MODEL_DESCRIPTION,
|
|
31
|
+
parameters: {
|
|
32
|
+
provider: { type: 'string', required: true, description: 'Registered provider route id, for example "llama-cpp".' },
|
|
33
|
+
model: { type: 'string', required: true, description: 'Provider-owned model id, for example "Qwen3.8-27B-Ridge".' },
|
|
34
|
+
reasoning_effort: { type: 'string', description: 'Optional adapter-owned reasoning effort id; omit for the provider default.' },
|
|
35
|
+
},
|
|
36
|
+
output: {
|
|
37
|
+
schema: { type: 'string' },
|
|
38
|
+
render: (_args, value) => [{ type: 'text', text: value }],
|
|
39
|
+
},
|
|
40
|
+
execute: async (args, exec) => {
|
|
41
|
+
const agent = exec.agent;
|
|
42
|
+
if (agent === undefined)
|
|
43
|
+
throw new Error('switch_model: no agent context for this call');
|
|
44
|
+
const controller = ctx.get('sessionController');
|
|
45
|
+
if (controller === undefined)
|
|
46
|
+
throw new Error('switch_model: the session controller is not available in this deployment');
|
|
47
|
+
const effort = args.reasoning_effort !== undefined && args.reasoning_effort !== '' ? args.reasoning_effort : undefined;
|
|
48
|
+
const request = {
|
|
49
|
+
sessionId: agent.id,
|
|
50
|
+
provider: args.provider,
|
|
51
|
+
model: args.model,
|
|
52
|
+
...(effort !== undefined ? { reasoningEffort: effort } : {}),
|
|
53
|
+
};
|
|
54
|
+
const result = await controller.selectModel(request);
|
|
55
|
+
const selected = result.selected;
|
|
56
|
+
let text = `Switched this session's model to ${selected.provider}/${selected.model}`;
|
|
57
|
+
if (selected.reasoningEffort !== undefined)
|
|
58
|
+
text += ` (reasoning effort ${selected.reasoningEffort})`;
|
|
59
|
+
text += '. Effective from the next model request; the default for new sessions now matches this selection.';
|
|
60
|
+
return text;
|
|
61
|
+
},
|
|
62
|
+
presentCall: args => ({ card: 'generic', title: 'Switch session model', kind: 'other', rawInput: args }),
|
|
63
|
+
}));
|
|
64
|
+
ctx.tools.register(defineTool({
|
|
65
|
+
name: 'list_models',
|
|
66
|
+
description: LIST_MODELS_DESCRIPTION,
|
|
67
|
+
parameters: {},
|
|
68
|
+
output: {
|
|
69
|
+
schema: { type: 'string' },
|
|
70
|
+
render: (_args, value) => [{ type: 'text', text: value }],
|
|
71
|
+
},
|
|
72
|
+
execute: async () => {
|
|
73
|
+
const controller = ctx.get('sessionController');
|
|
74
|
+
if (controller === undefined)
|
|
75
|
+
throw new Error('list_models: the session controller is not available in this deployment');
|
|
76
|
+
const catalog = await controller.modelCatalog();
|
|
77
|
+
const lines = [`Default: ${catalog.default.provider}/${catalog.default.model}`];
|
|
78
|
+
for (const group of catalog.groups) {
|
|
79
|
+
lines.push(group.name === group.id ? group.id : `${group.id} (${group.name}):`);
|
|
80
|
+
for (const model of group.models) {
|
|
81
|
+
lines.push(model.description !== undefined && model.description !== ''
|
|
82
|
+
? ` ${model.id} — ${model.description}`
|
|
83
|
+
: ` ${model.id}`);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
for (const failure of catalog.failures)
|
|
87
|
+
lines.push(`unavailable: ${failure.id} — ${failure.message}`);
|
|
88
|
+
return lines.join('\n');
|
|
89
|
+
},
|
|
90
|
+
presentCall: () => ({ card: 'generic', title: 'List available models', kind: 'other', rawInput: {} }),
|
|
91
|
+
}));
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAKnD,MAAM,CAAC,MAAM,IAAI,GAAG,mBAAmB,CAAA;AACvC,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,CAAA;AAE/B,MAAM,wBAAwB,GAC5B,+GAA+G;MAC7G,qHAAqH;MACrH,kHAAkH;MAClH,oGAAoG,CAAA;AAExG,MAAM,uBAAuB,GAC3B,iGAAiG;MAC/F,8EAA8E,CAAA;AAElF;;;;;GAKG;AACH,MAAM,UAAU,KAAK,CAAC,GAAY;IAChC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC5B,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,wBAAwB;QACrC,UAAU,EAAE;YACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,wDAAwD,EAAE;YACnH,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,2DAA2D,EAAE;YACnH,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4EAA4E,EAAE;SAChI;QACD,MAAM,EAAE;YACN,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC1B,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;SAC1D;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;YAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;YACxB,IAAI,KAAK,KAAK,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;YACxF,MAAM,UAAU,GAAG,GAAG,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAA;YAC/C,IAAI,UAAU,KAAK,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAA;YACzH,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,KAAK,SAAS,IAAI,IAAI,CAAC,gBAAgB,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAA;YACtH,MAAM,OAAO,GAA8B;gBACzC,SAAS,EAAE,KAAK,CAAC,EAAE;gBACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC7D,CAAA;YACD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;YACpD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;YAChC,IAAI,IAAI,GAAG,oCAAoC,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAA;YACpF,IAAI,QAAQ,CAAC,eAAe,KAAK,SAAS;gBAAE,IAAI,IAAI,sBAAsB,QAAQ,CAAC,eAAe,GAAG,CAAA;YACrG,IAAI,IAAI,mGAAmG,CAAA;YAC3G,OAAO,IAAI,CAAA;QACb,CAAC;QACD,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,sBAAsB,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;KACzG,CAAC,CAAC,CAAA;IACH,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC5B,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,uBAAuB;QACpC,UAAU,EAAE,EAAE;QACd,MAAM,EAAE;YACN,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC1B,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;SAC1D;QACD,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,UAAU,GAAG,GAAG,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAA;YAC/C,IAAI,UAAU,KAAK,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAA;YACxH,MAAM,OAAO,GAAiB,MAAM,UAAU,CAAC,YAAY,EAAE,CAAA;YAC7D,MAAM,KAAK,GAAG,CAAC,YAAY,OAAO,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAA;YAC/E,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC,CAAA;gBAC/E,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;oBACjC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,IAAI,KAAK,CAAC,WAAW,KAAK,EAAE;wBACpE,CAAC,CAAC,KAAK,KAAK,CAAC,EAAE,MAAM,KAAK,CAAC,WAAW,EAAE;wBACxC,CAAC,CAAC,KAAK,KAAK,CAAC,EAAE,EAAE,CAAC,CAAA;gBACtB,CAAC;YACH,CAAC;YACD,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,QAAQ;gBAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;YACrG,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACzB,CAAC;QACD,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,uBAAuB,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;KACtG,CAAC,CAAC,CAAA;AACL,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@lathly/dsh-tool-model-switch",
|
|
3
|
+
"description": "DSH model switching tool — switch_model and list_models tools for runtime LLM route selection",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "git+https://github.com/Lathly/dsh-tool-model-switch.git"
|
|
9
|
+
},
|
|
10
|
+
"bugs": {
|
|
11
|
+
"url": "https://github.com/Lathly/dsh-tool-model-switch/issues"
|
|
12
|
+
},
|
|
13
|
+
"homepage": "https://github.com/Lathly/dsh-tool-model-switch#readme",
|
|
14
|
+
"type": "module",
|
|
15
|
+
"main": "lib/index.js",
|
|
16
|
+
"types": "lib/types/index.d.ts",
|
|
17
|
+
"exports": {
|
|
18
|
+
".": {
|
|
19
|
+
"types": "./lib/types/index.d.ts",
|
|
20
|
+
"default": "./lib/index.js"
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"files": [
|
|
24
|
+
"lib/",
|
|
25
|
+
"src/",
|
|
26
|
+
"README.md"
|
|
27
|
+
],
|
|
28
|
+
"dependencies": {
|
|
29
|
+
"@deepseek-ai/cordis": "^0.1.0",
|
|
30
|
+
"@deepseek-ai/dsh-tools": "^0.1.0"
|
|
31
|
+
}
|
|
32
|
+
}
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Model-facing session model routing. `switch_model` moves the calling session
|
|
3
|
+
* to another provider/model route through the Host's `sessionController`
|
|
4
|
+
* service, which resolves the selection against the model route, installs it
|
|
5
|
+
* for the Session's next request, and persists it as the deployment default
|
|
6
|
+
* for new sessions. `list_models` reports the routable providers and models
|
|
7
|
+
* so the agent can pick a route. Deployments that mount no session controller
|
|
8
|
+
* (headless, SDK) fail the calls loudly at call time. Named exports preserve
|
|
9
|
+
* loader injection metadata.
|
|
10
|
+
* @module @deepseek-ai/dsh-tool-model-switch
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
import type { Context } from '@deepseek-ai/cordis'
|
|
14
|
+
import { defineTool } from '@deepseek-ai/dsh-tools'
|
|
15
|
+
// Type-only: resolves the optional `ctx.sessionController` service declaration
|
|
16
|
+
// and the request/value types the tools delegate through.
|
|
17
|
+
import type { ModelCatalog, SessionSelectModelRequest } from '@deepseek-ai/dsh-api-session-controller'
|
|
18
|
+
|
|
19
|
+
export const name = 'tool-model-switch'
|
|
20
|
+
export const inject = ['tools']
|
|
21
|
+
|
|
22
|
+
const SWITCH_MODEL_DESCRIPTION =
|
|
23
|
+
'Switch the LLM model that this session runs on. The switch takes effect from the agent\'s next model request '
|
|
24
|
+
+ 'and is recorded in the session log. The deployment default for new sessions is also updated to the selected route. '
|
|
25
|
+
+ 'Call list_models first to see which providers and models are available. Useful when you need to free GPU memory '
|
|
26
|
+
+ 'for a local task: switch to a lighter or differently placed model, run the task, then switch back.'
|
|
27
|
+
|
|
28
|
+
const LIST_MODELS_DESCRIPTION =
|
|
29
|
+
'List the LLM providers and models this deployment can route to, the current default selection, '
|
|
30
|
+
+ 'and any providers whose catalog failed to load. Call it before switch_model.'
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Register the `switch_model` and `list_models` tools on `ctx.tools`. Both
|
|
34
|
+
* delegate to the `sessionController` service lazily, so the package mounts
|
|
35
|
+
* in every preset; only a call in a controller-less deployment fails.
|
|
36
|
+
* @param ctx - registrant context carrying the tool registry.
|
|
37
|
+
*/
|
|
38
|
+
export function apply(ctx: Context): void {
|
|
39
|
+
ctx.tools.register(defineTool({
|
|
40
|
+
name: 'switch_model',
|
|
41
|
+
description: SWITCH_MODEL_DESCRIPTION,
|
|
42
|
+
parameters: {
|
|
43
|
+
provider: { type: 'string', required: true, description: 'Registered provider route id, for example "llama-cpp".' },
|
|
44
|
+
model: { type: 'string', required: true, description: 'Provider-owned model id, for example "Qwen3.8-27B-Ridge".' },
|
|
45
|
+
reasoning_effort: { type: 'string', description: 'Optional adapter-owned reasoning effort id; omit for the provider default.' },
|
|
46
|
+
},
|
|
47
|
+
output: {
|
|
48
|
+
schema: { type: 'string' },
|
|
49
|
+
render: (_args, value) => [{ type: 'text', text: value }],
|
|
50
|
+
},
|
|
51
|
+
execute: async (args, exec) => {
|
|
52
|
+
const agent = exec.agent
|
|
53
|
+
if (agent === undefined) throw new Error('switch_model: no agent context for this call')
|
|
54
|
+
const controller = ctx.get('sessionController')
|
|
55
|
+
if (controller === undefined) throw new Error('switch_model: the session controller is not available in this deployment')
|
|
56
|
+
const effort = args.reasoning_effort !== undefined && args.reasoning_effort !== '' ? args.reasoning_effort : undefined
|
|
57
|
+
const request: SessionSelectModelRequest = {
|
|
58
|
+
sessionId: agent.id,
|
|
59
|
+
provider: args.provider,
|
|
60
|
+
model: args.model,
|
|
61
|
+
...(effort !== undefined ? { reasoningEffort: effort } : {}),
|
|
62
|
+
}
|
|
63
|
+
const result = await controller.selectModel(request)
|
|
64
|
+
const selected = result.selected
|
|
65
|
+
let text = `Switched this session's model to ${selected.provider}/${selected.model}`
|
|
66
|
+
if (selected.reasoningEffort !== undefined) text += ` (reasoning effort ${selected.reasoningEffort})`
|
|
67
|
+
text += '. Effective from the next model request; the default for new sessions now matches this selection.'
|
|
68
|
+
return text
|
|
69
|
+
},
|
|
70
|
+
presentCall: args => ({ card: 'generic', title: 'Switch session model', kind: 'other', rawInput: args }),
|
|
71
|
+
}))
|
|
72
|
+
ctx.tools.register(defineTool({
|
|
73
|
+
name: 'list_models',
|
|
74
|
+
description: LIST_MODELS_DESCRIPTION,
|
|
75
|
+
parameters: {},
|
|
76
|
+
output: {
|
|
77
|
+
schema: { type: 'string' },
|
|
78
|
+
render: (_args, value) => [{ type: 'text', text: value }],
|
|
79
|
+
},
|
|
80
|
+
execute: async () => {
|
|
81
|
+
const controller = ctx.get('sessionController')
|
|
82
|
+
if (controller === undefined) throw new Error('list_models: the session controller is not available in this deployment')
|
|
83
|
+
const catalog: ModelCatalog = await controller.modelCatalog()
|
|
84
|
+
const lines = [`Default: ${catalog.default.provider}/${catalog.default.model}`]
|
|
85
|
+
for (const group of catalog.groups) {
|
|
86
|
+
lines.push(group.name === group.id ? group.id : `${group.id} (${group.name}):`)
|
|
87
|
+
for (const model of group.models) {
|
|
88
|
+
lines.push(model.description !== undefined && model.description !== ''
|
|
89
|
+
? ` ${model.id} — ${model.description}`
|
|
90
|
+
: ` ${model.id}`)
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
for (const failure of catalog.failures) lines.push(`unavailable: ${failure.id} — ${failure.message}`)
|
|
94
|
+
return lines.join('\n')
|
|
95
|
+
},
|
|
96
|
+
presentCall: () => ({ card: 'generic', title: 'List available models', kind: 'other', rawInput: {} }),
|
|
97
|
+
}))
|
|
98
|
+
}
|