@eddyskywalker/dsh-chatgpt-subscription 0.25.0 → 0.26.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/CHANGELOG.md +17 -0
- package/lib/index.js +334 -42
- package/lib/types/host/agent-preset.d.ts +20 -0
- package/lib/types/host/agent-preset.d.ts.map +1 -1
- package/lib/types/host/minimax-code/mapper.d.ts +9 -0
- package/lib/types/host/minimax-code/mapper.d.ts.map +1 -1
- package/lib/types/host/no-answer-resume/index.d.ts +130 -0
- package/lib/types/host/no-answer-resume/index.d.ts.map +1 -0
- package/lib/types/host/search-provider-switcher.d.ts.map +1 -1
- package/lib/types/index.d.ts +7 -0
- package/lib/types/index.d.ts.map +1 -1
- package/package.json +31 -31
- package/presets/dispatch/agent.cordis.yml +3 -2
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,23 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
## 0.26.0 - 2026-10-17
|
|
6
|
+
|
|
7
|
+
- **[MiniMax Code] 无答案轮次现在会自动续跑跑完(社区 PR #61),并把「续跑预算」真正做成有界**
|
|
8
|
+
- **问题**:0.24.7 之后,模型把整轮花在思考上、只回 thinking 块就 `end_turn` 的轮次不再静默停住,而是**明确报错**——诚实,但这一轮仍然没跑完。harness 没有「模型啥也没干就停了」这个失败模式的表示,所以报完错这一轮就结束了,没有任何东西接着往下做。PR #61 新增 host 侧钩子监听 `llm/stream` 瀑布,认出这条失败后 steer 一句续跑提示,让这一轮跑完。**关键约束(PR 已论证且经复核)**:steer 必须在 Agent 空闲时发——`Agent.steer` 往 inbox 里 splice 并调 `wakeDriver`,而 `wakeDriver` 只在 `phase.kind === 'idle'` 时开新回合;回合还在 running 时发,什么都不 latch,消息会一直躺在 inbox 里没人读。因此这里等 `whenIdle()`。失败靠 `mapper.ts` 导出的 `NO_ANSWER_PHRASE` 识别,不抄句子。配置:`"noAnswerResume": { "maxResumes": 2, "text": "..." }`,`"noAnswerResume": false` 关闭。
|
|
9
|
+
- **合并后另行修复的两个缺陷(在发版前发现,若直接发布会让默认安装的用户被无限烧请求)**:① **`maxResumes` 实际不封顶**——`settle()` 从生成器的 `finally` 调用,而 `finally` 在**正常结束、被放弃、抛错**三种退出上都会跑;流被放弃时根本没见到 finish chunk,`answerless` 一定是 false,只要此前吐过正文 `answered` 就是 true,于是那句 `if (answered) consecutive = 0` 把计数清零。生产上有两条常规路径会踩到:用户按停止(harness `for await` + `throwIfAborted`),以及**推理塌缩守卫**——它在 `llm/stream` 上先注册,因此处在 Cordis 瀑布的**外层**,`return` 时不给 finish chunk。实测 `maxResumes: 2` 却续跑了 6 次。改法:只有**读到底**的流才结算,被放弃或抛错的流什么都不能证明,既不消耗预算也不清零、且不写日志。② **计数不是「连续」,日志在说谎**——只有「答出来了」的轮次才清零,于是 `aborted finish` / `max-tokens` / `TIMEOUT` / 其他 `PROVIDER_ERROR` 都不会打断连击:三段**不相邻**的无答案轮照样打出 `gave up after 2 answerless turns in a row`,预算被花掉一次之后该功能在本会话余下时间里静默失效。改法:**任何**正常结束且非无答案的轮次都清零连击,让标识符、注释与日志三者一致。
|
|
10
|
+
- **另外三处加固**:③ 每会话状态在 `agent/disposed` 时清理(照搬塌缩守卫的做法),不再为进程生命周期内每个会话常驻一条;④ 插件销毁后排队中的续跑不再 steer,且一个会话同时只持有一条排队续跑(同一轮重试 settle 两次不会投递两次);⑤ `isVisible` 改为 `trim()`,与产出方 `hasVisibleOutput` 完全一致,避免消费方与产出方对「这一轮算不算答了」产生分歧。
|
|
11
|
+
- **验证**:`npm run typecheck` 0 错误;`test/no-answer-resume.test.ts` **22 passed**(贡献者的 15 例 + 7 例回归:`iterator.return()` 放弃、中途抛错、`TIMEOUT` 轮次、销毁时有续跑在排队、空闲前两次 settle);`test/reasoning-collapse-guard.test.ts` 80 passed;全量 **231 passed | 1 skipped(232 文件)、3809 passed | 7 skipped、0 failed**。**承重已双向检查**:把源码还原到合并提交后重跑,新增用例 **7 failed | 15 passed**,失败项正是上述缺陷,恢复后重新全绿。
|
|
12
|
+
- **复核结论(对照真实 harness 源码逐条核对)**:`llm/stream` 瀑布签名、`{ global: true }` 为真实的 `EventOptions` 字段、`GenerateOptions.sessionId`/`purpose`、`StreamChunk` 的 finish/delta 形状、`Agent.steer`+`whenIdle` 语义(空闲 steer 会开新回合、忙碌 steer 会 latch 并被 live driver 认领、只有 `cancel()` 才丢弃)、`ctx.get('agents')` 是**合法的免 inject 读取**而 `ctx.agents` 会抛——全部为真;`NO_ANSWER_PHRASE` 只有一个产出方,不存在跨线路误判。
|
|
13
|
+
- **未做**:真正的「不让它发生」仍要靠请求侧降档(effort 从 max 降到 xhigh/high),那是部署配置、不在本仓;本版只让**已经发生**的轮次跑完。子代理会话同样会被续跑(`purpose` 为 undefined 且自带 sessionId),若日后需要只对主线生效,应以 `request.provider` 收窄,留作后续。
|
|
14
|
+
## 0.25.1 - 2026-10-17
|
|
15
|
+
|
|
16
|
+
- **[Harness & 调度预设] 适配 DSH 0.2.1-rc.1 / 0.2.1-rc.2,并修复调度模式在 0.2.1 下报 `unknown prompt variable "{{cwd}}"` 的启动失败**
|
|
17
|
+
- **调度预设(`dispatch`)移除未注册的 `{{cwd}}` 变量**:DSH 0.2.1 引入独立的 `@deepseek-ai/dsh-working-directory` 服务(通过 `working-directory` section 注入工作目录提示),不再向 `ctx.systemPrompt` 注册 `cwd` 模板变量(仅保留 `provider` 与 `model`),导致 `dispatch` 预设在组装系统提示词时直接报错 `unknown prompt variable "{{cwd}}" in section "deployment:persona-prefix"; registered variables: provider, model`。本次从 `presets/dispatch/agent.cordis.yml` 与 `src/host/agent-preset.ts` 的 `persona.config.prefix` 中移除重复的 `Your working directory is {{cwd}}.`,并新增 `resolveDispatchPreset()` 在检测到 `@deepseek-ai/dsh-working-directory`(`>=0.2.1`)时自动剥离 `persona.config.suffix`,而在 `0.1.7–0.2.0` 及 `≤0.1.6` 上完整保留 `suffix: 'Your working directory is {{cwd}}.'`。
|
|
18
|
+
- **适配 0.2.1-rc.2 的 `Volatile` 搜索配置(`SearchProviderSwitcher`)**:`dsh-v0.2.1-rc.2` 将 `@deepseek-ai/dsh-web` 的 `searchProvider` / `fetchProvider` 配置改为 `z.string().volatile()`,运行时 `fiber.config.searchProvider` 为暴露 `.get()` 的 `Volatile` 包装器而非裸字符串。`src/host/search-provider-switcher.ts` 新增 `runningProviderValue()` 同时兼容裸字符串(`≤0.2.1-rc.1`)与 `Volatile<string>`(`>=0.2.1-rc.2`),避免在 `>=0.2.1-rc.2` 下切换搜索源时误判热更新未生效而触发多余的 fiber 强制重启。
|
|
19
|
+
- **依赖基线与 Claude 快照对齐**:15 个 `@deepseek-ai/dsh-*` 的 `peerDependencies` 与 `devDependencies` 同步升级至 `^0.2.1-rc.1`(覆盖 `0.2.1-rc.1`、`0.2.1-rc.2` 及 `0.2.1` 正式版),`@deepseek-ai/cordis` 升级至 `^4.0.6`;Claude 模型目录顺序与测试基线同步对齐本地 Harness 的 `@earendil-works/pi-ai@1.1.0`(17 条快照)。
|
|
20
|
+
- **验证**:`npx tsc -b --force`、测试树 `tsc`、干净 `npm run build`、`npm ci --dry-run`、`npm pack --dry-run`(523 文件)均 0 错误通过;全量 **230 passed | 1 skipped(231 文件)、3787 passed | 7 skipped、0 failed**。
|
|
21
|
+
|
|
5
22
|
## 0.25.0 - 2026-10-17
|
|
6
23
|
|
|
7
24
|
- **[Harness] 支持 DSH 0.2.1-alpha.5,并接入新版可用的请求元数据能力**
|
package/lib/index.js
CHANGED
|
@@ -12189,7 +12189,7 @@ var SearchProviderSwitcher = class {
|
|
|
12189
12189
|
const nextSearch = codexSelected ? CODEX_SEARCH_PROVIDER_ID : this.originalSearchProvider;
|
|
12190
12190
|
const nextFetch = options.fetchProvider === "plugin" || options.fetchProvider !== "dsh" && (codexSelected || options.pluginFetch === true) ? CODEX_FETCH_PROVIDER_ID : this.originalFetchProvider;
|
|
12191
12191
|
const configured = config.searchProvider === nextSearch && config.fetchProvider === nextFetch;
|
|
12192
|
-
const applied = running === void 0 || running.searchProvider === nextSearch && running.fetchProvider === nextFetch;
|
|
12192
|
+
const applied = running === void 0 || runningProviderValue(running.searchProvider) === nextSearch && runningProviderValue(running.fetchProvider) === nextFetch;
|
|
12193
12193
|
if (configured && applied) {
|
|
12194
12194
|
this.state = "applied";
|
|
12195
12195
|
return;
|
|
@@ -12244,6 +12244,14 @@ function currentConfig(entry) {
|
|
|
12244
12244
|
const config = entry.options.config;
|
|
12245
12245
|
return typeof config === "object" && config !== null && !Array.isArray(config) ? config : {};
|
|
12246
12246
|
}
|
|
12247
|
+
/**
|
|
12248
|
+
* Unwrap a Cordis `Volatile<string | undefined>` config reference (`@deepseek-ai/dsh-web`
|
|
12249
|
+
* >=0.2.1-rc.2) or return a plain runtime config value (`<=0.2.1-rc.1`).
|
|
12250
|
+
*/
|
|
12251
|
+
function runningProviderValue(value) {
|
|
12252
|
+
if (typeof value === "object" && value !== null && "get" in value && typeof value.get === "function") return value.get();
|
|
12253
|
+
return value;
|
|
12254
|
+
}
|
|
12247
12255
|
/** Never include paths, credentials, or arbitrary configuration in public diagnostics. */
|
|
12248
12256
|
function providerId(value) {
|
|
12249
12257
|
return typeof value === "string" && /^[a-zA-Z0-9_-]{1,80}$/.test(value) ? value : null;
|
|
@@ -38058,6 +38066,24 @@ const CLAUDE_MODELS = Object.freeze([
|
|
|
38058
38066
|
],
|
|
38059
38067
|
canDisableThinking: true
|
|
38060
38068
|
},
|
|
38069
|
+
{
|
|
38070
|
+
id: "claude-haiku-5-5",
|
|
38071
|
+
name: "Claude Haiku 5.5",
|
|
38072
|
+
contextWindow: 1e6,
|
|
38073
|
+
maxTokens: 128e3,
|
|
38074
|
+
supportsImage: true,
|
|
38075
|
+
supportsTemperature: false,
|
|
38076
|
+
thinkingMode: "adaptive",
|
|
38077
|
+
reasoningEfforts: [
|
|
38078
|
+
"low",
|
|
38079
|
+
"medium",
|
|
38080
|
+
"high",
|
|
38081
|
+
"xhigh",
|
|
38082
|
+
"max"
|
|
38083
|
+
],
|
|
38084
|
+
canDisableThinking: true,
|
|
38085
|
+
bindsThinkingToPrefix: true
|
|
38086
|
+
},
|
|
38061
38087
|
{
|
|
38062
38088
|
id: "claude-opus-4-5",
|
|
38063
38089
|
name: "Claude Opus 4.5 (latest)",
|
|
@@ -38254,24 +38280,6 @@ const CLAUDE_MODELS = Object.freeze([
|
|
|
38254
38280
|
],
|
|
38255
38281
|
canDisableThinking: false,
|
|
38256
38282
|
bindsThinkingToPrefix: true
|
|
38257
|
-
},
|
|
38258
|
-
{
|
|
38259
|
-
id: "claude-haiku-5-5",
|
|
38260
|
-
name: "Claude Haiku 5.5",
|
|
38261
|
-
contextWindow: 1e6,
|
|
38262
|
-
maxTokens: 128e3,
|
|
38263
|
-
supportsImage: true,
|
|
38264
|
-
supportsTemperature: false,
|
|
38265
|
-
thinkingMode: "adaptive",
|
|
38266
|
-
reasoningEfforts: [
|
|
38267
|
-
"low",
|
|
38268
|
-
"medium",
|
|
38269
|
-
"high",
|
|
38270
|
-
"xhigh",
|
|
38271
|
-
"max"
|
|
38272
|
-
],
|
|
38273
|
-
canDisableThinking: true,
|
|
38274
|
-
bindsThinkingToPrefix: true
|
|
38275
38283
|
}
|
|
38276
38284
|
]);
|
|
38277
38285
|
/** Every id the fallback table knows, in declaration order. */
|
|
@@ -58820,7 +58828,7 @@ const DISPATCH_PRESET = {
|
|
|
58820
58828
|
name: "@deepseek-ai/dsh-persona",
|
|
58821
58829
|
config: {
|
|
58822
58830
|
suffix: "Your working directory is {{cwd}}.",
|
|
58823
|
-
prefix: `You are powered by {{model}}.
|
|
58831
|
+
prefix: `You are powered by {{model}}.
|
|
58824
58832
|
|
|
58825
58833
|
[Role Identification] If your first user message is a task brief (rather than a direct request from the human user), you are a subagent: the coordinator-facing rules in R0, R0.5, R-G, R1, R2, R4, R5, and R-W do not apply to you. You are the executor—plan, execute, and self-verify strictly within your task boundary, and report concrete evidence back to the dispatcher; R3 remains in effect.
|
|
58826
58834
|
|
|
@@ -59136,6 +59144,33 @@ Reset: fallback applies only to the current task. When the next task begins, alw
|
|
|
59136
59144
|
}
|
|
59137
59145
|
]
|
|
59138
59146
|
};
|
|
59147
|
+
/**
|
|
59148
|
+
* Reconcile {@link DISPATCH_PRESET} with the running harness generation.
|
|
59149
|
+
*
|
|
59150
|
+
* Harnesses shipping `@deepseek-ai/dsh-working-directory` (>= 0.2.1) provide the
|
|
59151
|
+
* session working directory through the `WORKING_DIRECTORY` dynamic context and
|
|
59152
|
+
* no longer register `{{cwd}}` on `ctx.systemPrompt`, so keeping `persona.config.suffix`
|
|
59153
|
+
* (`Your working directory is {{cwd}}.`) makes `SystemPrompt` throw
|
|
59154
|
+
* `unknown prompt variable "{{cwd}}"` at render time. On 0.1.7–0.2.0 that package
|
|
59155
|
+
* is absent and `{{cwd}}` is still the only way the persona states the workspace,
|
|
59156
|
+
* so the unmodified {@link DISPATCH_PRESET} is returned unchanged.
|
|
59157
|
+
* @param resolves - whether a bare specifier resolves in this installation.
|
|
59158
|
+
* @returns the preset definition for the running harness generation.
|
|
59159
|
+
*/
|
|
59160
|
+
function resolveDispatchPreset(resolves = resolvesFromHere) {
|
|
59161
|
+
if (!resolves("@deepseek-ai/dsh-working-directory")) return DISPATCH_PRESET;
|
|
59162
|
+
return {
|
|
59163
|
+
...DISPATCH_PRESET,
|
|
59164
|
+
plugins: DISPATCH_PRESET.plugins.map((row) => {
|
|
59165
|
+
if (row.id !== "persona" || typeof row.config !== "object" || row.config === null) return row;
|
|
59166
|
+
const { suffix: _omitted, ...rest } = row.config;
|
|
59167
|
+
return {
|
|
59168
|
+
...row,
|
|
59169
|
+
config: rest
|
|
59170
|
+
};
|
|
59171
|
+
})
|
|
59172
|
+
};
|
|
59173
|
+
}
|
|
59139
59174
|
/** The `agentPresets` service, when the host exposes one that can register. */
|
|
59140
59175
|
function presetRegistry(host) {
|
|
59141
59176
|
if (typeof host.get !== "function") return void 0;
|
|
@@ -59168,7 +59203,7 @@ function installDispatchPreset(host, resolves = resolvesFromHere) {
|
|
|
59168
59203
|
host.logger.warn(`[dsh-chatgpt-subscription] agent preset "${DISPATCH_PRESET_ID}" fell back to the preset root: ${PRESET_REGISTRY_PACKAGE} is installed but no agentPresets service is available`);
|
|
59169
59204
|
return "legacy";
|
|
59170
59205
|
}
|
|
59171
|
-
host.effect(() => registerDispatchPreset(host, registry), "dsh-chatgpt-subscription: dispatch agent preset");
|
|
59206
|
+
host.effect(() => registerDispatchPreset(host, registry, resolves), "dsh-chatgpt-subscription: dispatch agent preset");
|
|
59172
59207
|
return "registered";
|
|
59173
59208
|
} catch (error) {
|
|
59174
59209
|
host.logger.warn(`[dsh-chatgpt-subscription] agent preset "${DISPATCH_PRESET_ID}" could not be registered: ${messageOf(error)}`);
|
|
@@ -59180,11 +59215,12 @@ function installDispatchPreset(host, resolves = resolvesFromHere) {
|
|
|
59180
59215
|
* it.
|
|
59181
59216
|
* @param host - plugin context, for the logger.
|
|
59182
59217
|
* @param registry - the service the definition is submitted to.
|
|
59218
|
+
* @param resolves - whether a bare specifier resolves in this installation.
|
|
59183
59219
|
* @returns the harness's own unregister function, or a no-op after a failure.
|
|
59184
59220
|
*/
|
|
59185
|
-
async function registerDispatchPreset(host, registry) {
|
|
59221
|
+
async function registerDispatchPreset(host, registry, resolves) {
|
|
59186
59222
|
try {
|
|
59187
|
-
const unregister = await registry.register(
|
|
59223
|
+
const unregister = await registry.register(resolveDispatchPreset(resolves));
|
|
59188
59224
|
host.logger.info(`[dsh-chatgpt-subscription] agent preset "${DISPATCH_PRESET_ID}" registered with the running harness`);
|
|
59189
59225
|
return unregister;
|
|
59190
59226
|
} catch (error) {
|
|
@@ -59859,7 +59895,7 @@ const DEFAULT_GUARD_OPTIONS = {
|
|
|
59859
59895
|
semanticStrictConfirmations: 5,
|
|
59860
59896
|
now: () => Date.now()
|
|
59861
59897
|
};
|
|
59862
|
-
function pruneUndefined(options) {
|
|
59898
|
+
function pruneUndefined$1(options) {
|
|
59863
59899
|
const result = {};
|
|
59864
59900
|
for (const [key, value] of Object.entries(options)) if (value !== void 0) result[key] = value;
|
|
59865
59901
|
return result;
|
|
@@ -59872,7 +59908,7 @@ function pruneUndefined(options) {
|
|
|
59872
59908
|
function resolveGuardOptions(options = {}) {
|
|
59873
59909
|
const resolved = {
|
|
59874
59910
|
...DEFAULT_GUARD_OPTIONS,
|
|
59875
|
-
...pruneUndefined(options)
|
|
59911
|
+
...pruneUndefined$1(options)
|
|
59876
59912
|
};
|
|
59877
59913
|
if (!Number.isInteger(resolved.windowChars) || resolved.windowChars < 1) throw new Error(`reasoning-collapse-guard: invalid windowChars ${String(resolved.windowChars)} — must be an integer >= 1`);
|
|
59878
59914
|
if (!Number.isInteger(resolved.ngramSize) || resolved.ngramSize < 2) throw new Error(`reasoning-collapse-guard: invalid ngramSize ${String(resolved.ngramSize)} — must be an integer >= 2`);
|
|
@@ -60038,7 +60074,7 @@ function createBreakerState() {
|
|
|
60038
60074
|
* merge-extensible `MessageSourceMap`, so the resume carries real provenance
|
|
60039
60075
|
* instead of impersonating a human turn.
|
|
60040
60076
|
*/
|
|
60041
|
-
function createResumeMessage(text) {
|
|
60077
|
+
function createResumeMessage$1(text) {
|
|
60042
60078
|
return createUserMessage({
|
|
60043
60079
|
content: [{
|
|
60044
60080
|
type: "text",
|
|
@@ -60056,12 +60092,12 @@ function appendWindow(current, addition, limit) {
|
|
|
60056
60092
|
return combined.length > limit ? combined.slice(-limit) : combined;
|
|
60057
60093
|
}
|
|
60058
60094
|
/** An Agent's session identity as the plain string a request carries. */
|
|
60059
|
-
function agentId(raw) {
|
|
60095
|
+
function agentId$1(raw) {
|
|
60060
60096
|
const id = raw?.id;
|
|
60061
60097
|
return typeof id === "string" ? id : void 0;
|
|
60062
60098
|
}
|
|
60063
60099
|
/** A service object exposing the lookup the guard needs, if it is one. */
|
|
60064
|
-
function asRegistry(value) {
|
|
60100
|
+
function asRegistry$1(value) {
|
|
60065
60101
|
return value !== null && typeof value === "object" && typeof value.get === "function" ? value : void 0;
|
|
60066
60102
|
}
|
|
60067
60103
|
/**
|
|
@@ -60081,13 +60117,13 @@ function asRegistry(value) {
|
|
|
60081
60117
|
* Both reads are guarded: a host without the reader, and one without the
|
|
60082
60118
|
* service, must leave this plugin loadable rather than failing its import.
|
|
60083
60119
|
*/
|
|
60084
|
-
function agentRegistry(ctx) {
|
|
60120
|
+
function agentRegistry$1(ctx) {
|
|
60085
60121
|
try {
|
|
60086
|
-
const registry = asRegistry(typeof ctx.get === "function" ? ctx.get("agents") : void 0);
|
|
60122
|
+
const registry = asRegistry$1(typeof ctx.get === "function" ? ctx.get("agents") : void 0);
|
|
60087
60123
|
if (registry !== void 0) return registry;
|
|
60088
60124
|
} catch {}
|
|
60089
60125
|
try {
|
|
60090
|
-
return asRegistry(ctx.agents);
|
|
60126
|
+
return asRegistry$1(ctx.agents);
|
|
60091
60127
|
} catch {
|
|
60092
60128
|
return;
|
|
60093
60129
|
}
|
|
@@ -60102,11 +60138,11 @@ function agentRegistry(ctx) {
|
|
|
60102
60138
|
* is a hard error rather than a runaway. A generation that predates the field
|
|
60103
60139
|
* leaves it undefined, which is the pre-existing behaviour.
|
|
60104
60140
|
*/
|
|
60105
|
-
function conversationCall(request) {
|
|
60141
|
+
function conversationCall$1(request) {
|
|
60106
60142
|
return request.purpose === void 0;
|
|
60107
60143
|
}
|
|
60108
60144
|
/** Error text for one warn line, without importing a generation-bound helper. */
|
|
60109
|
-
function describeError(error) {
|
|
60145
|
+
function describeError$1(error) {
|
|
60110
60146
|
return error instanceof Error ? `${error.name}: ${error.message}` : String(error);
|
|
60111
60147
|
}
|
|
60112
60148
|
/**
|
|
@@ -60138,14 +60174,14 @@ function installReasoningCollapseGuard(ctx, options = {}) {
|
|
|
60138
60174
|
remember(payload.agent);
|
|
60139
60175
|
});
|
|
60140
60176
|
const releaseDisposed = ctx.on("agent/disposed", (payload) => {
|
|
60141
|
-
const id = agentId(payload.agent);
|
|
60177
|
+
const id = agentId$1(payload.agent);
|
|
60142
60178
|
if (id !== void 0) known.delete(id);
|
|
60143
60179
|
});
|
|
60144
60180
|
const releaseStream = ctx.on("llm/stream", guardStream, { global: true });
|
|
60145
60181
|
function remember(raw) {
|
|
60146
60182
|
const agent = raw;
|
|
60147
60183
|
if (agent === void 0 || agent === null) return;
|
|
60148
|
-
const id = agentId(agent);
|
|
60184
|
+
const id = agentId$1(agent);
|
|
60149
60185
|
if (id !== void 0) known.set(id, agent);
|
|
60150
60186
|
}
|
|
60151
60187
|
/**
|
|
@@ -60160,7 +60196,7 @@ function installReasoningCollapseGuard(ctx, options = {}) {
|
|
|
60160
60196
|
function resolveAgent(sessionId) {
|
|
60161
60197
|
if (sessionId === void 0) return void 0;
|
|
60162
60198
|
try {
|
|
60163
|
-
const registered = agentRegistry(ctx)?.get(sessionId);
|
|
60199
|
+
const registered = agentRegistry$1(ctx)?.get(sessionId);
|
|
60164
60200
|
if (registered !== void 0 && registered !== null) return registered;
|
|
60165
60201
|
} catch {}
|
|
60166
60202
|
return known.get(sessionId);
|
|
@@ -60206,9 +60242,9 @@ function installReasoningCollapseGuard(ctx, options = {}) {
|
|
|
60206
60242
|
queueMicrotask(() => {
|
|
60207
60243
|
state.resuming = false;
|
|
60208
60244
|
try {
|
|
60209
|
-
agent.steer?.(createResumeMessage(text));
|
|
60245
|
+
agent.steer?.(createResumeMessage$1(text));
|
|
60210
60246
|
} catch (error) {
|
|
60211
|
-
ctx.logger?.warn(`reasoning-collapse-guard: could not queue the resume: ${describeError(error)}`);
|
|
60247
|
+
ctx.logger?.warn(`reasoning-collapse-guard: could not queue the resume: ${describeError$1(error)}`);
|
|
60212
60248
|
}
|
|
60213
60249
|
});
|
|
60214
60250
|
}
|
|
@@ -60256,7 +60292,7 @@ function installReasoningCollapseGuard(ctx, options = {}) {
|
|
|
60256
60292
|
}
|
|
60257
60293
|
function guardStream(request, next) {
|
|
60258
60294
|
const state = breakerFor(request.signal ?? STATIC_KEY);
|
|
60259
|
-
if (state.exhausted || !watchedModel(request.model) || !conversationCall(request)) return next();
|
|
60295
|
+
if (state.exhausted || !watchedModel(request.model) || !conversationCall$1(request)) return next();
|
|
60260
60296
|
const agent = resolveAgent(request.sessionId);
|
|
60261
60297
|
async function* guarded() {
|
|
60262
60298
|
let window = "";
|
|
@@ -60299,15 +60335,259 @@ function installReasoningCollapseGuard(ctx, options = {}) {
|
|
|
60299
60335
|
return guarded();
|
|
60300
60336
|
}
|
|
60301
60337
|
return () => {
|
|
60302
|
-
releaseListener(releaseStream);
|
|
60303
|
-
releaseListener(releaseCreated);
|
|
60304
|
-
releaseListener(releaseDisposed);
|
|
60338
|
+
releaseListener$1(releaseStream);
|
|
60339
|
+
releaseListener$1(releaseCreated);
|
|
60340
|
+
releaseListener$1(releaseDisposed);
|
|
60305
60341
|
known.clear();
|
|
60306
60342
|
};
|
|
60307
60343
|
}
|
|
60308
60344
|
/** Shared key for the rare request that carries no abort signal. */
|
|
60309
60345
|
const STATIC_KEY = {};
|
|
60310
60346
|
/** Cordis event handles are either a disposer function or a disposable object. */
|
|
60347
|
+
function releaseListener$1(handle) {
|
|
60348
|
+
if (typeof handle === "function") {
|
|
60349
|
+
handle();
|
|
60350
|
+
return;
|
|
60351
|
+
}
|
|
60352
|
+
handle?.dispose?.();
|
|
60353
|
+
}
|
|
60354
|
+
const DEFAULT_NO_ANSWER_RESUME_OPTIONS = {
|
|
60355
|
+
maxResumes: 2,
|
|
60356
|
+
text: "Your previous response ended without an answer and without calling a tool. Continue from where you left off: either state the conclusion you already reached, or make the single next tool call that moves the task forward. Do not restart the analysis."
|
|
60357
|
+
};
|
|
60358
|
+
function pruneUndefined(options) {
|
|
60359
|
+
const result = {};
|
|
60360
|
+
if (options.maxResumes !== void 0) result.maxResumes = options.maxResumes;
|
|
60361
|
+
if (options.text !== void 0) result.text = options.text;
|
|
60362
|
+
return result;
|
|
60363
|
+
}
|
|
60364
|
+
/**
|
|
60365
|
+
* Validate caller options fail-loud and fill in defaults.
|
|
60366
|
+
*
|
|
60367
|
+
* A resume budget below one would disable the hook while looking enabled, and an
|
|
60368
|
+
* empty continuation would wake the Agent with nothing to act on — both are
|
|
60369
|
+
* configuration mistakes worth failing on rather than silently ignoring.
|
|
60370
|
+
*/
|
|
60371
|
+
function resolveNoAnswerResumeOptions(options = {}) {
|
|
60372
|
+
const resolved = {
|
|
60373
|
+
...DEFAULT_NO_ANSWER_RESUME_OPTIONS,
|
|
60374
|
+
...pruneUndefined(options)
|
|
60375
|
+
};
|
|
60376
|
+
if (!Number.isInteger(resolved.maxResumes) || resolved.maxResumes < 1) throw new Error(`no-answer-resume: invalid maxResumes ${String(resolved.maxResumes)} — must be an integer >= 1`);
|
|
60377
|
+
if (typeof resolved.text !== "string" || resolved.text.trim() === "") throw new Error("no-answer-resume: invalid text — must be a non-empty string");
|
|
60378
|
+
return resolved;
|
|
60379
|
+
}
|
|
60380
|
+
/** The message a resume carries, with this package's own provenance. */
|
|
60381
|
+
function createResumeMessage(text) {
|
|
60382
|
+
return createUserMessage({
|
|
60383
|
+
content: [{
|
|
60384
|
+
type: "text",
|
|
60385
|
+
text
|
|
60386
|
+
}],
|
|
60387
|
+
source: {
|
|
60388
|
+
kind: PLUGIN_MESSAGE_SOURCE_KIND,
|
|
60389
|
+
form: "notice",
|
|
60390
|
+
summary: boundContextSummary("The turn ended without an answer; it was resumed.")
|
|
60391
|
+
}
|
|
60392
|
+
});
|
|
60393
|
+
}
|
|
60394
|
+
/** An Agent's session identity as the plain string a request carries. */
|
|
60395
|
+
function agentId(raw) {
|
|
60396
|
+
const id = raw?.id;
|
|
60397
|
+
return typeof id === "string" ? id : void 0;
|
|
60398
|
+
}
|
|
60399
|
+
/** The map key one session's state lives under; requests carry no id at all. */
|
|
60400
|
+
function sessionKey(sessionId) {
|
|
60401
|
+
return sessionId ?? "";
|
|
60402
|
+
}
|
|
60403
|
+
function asRegistry(value) {
|
|
60404
|
+
return value !== null && typeof value === "object" && typeof value.get === "function" ? value : void 0;
|
|
60405
|
+
}
|
|
60406
|
+
/** The host's Agent registry, read defensively through both available routes. */
|
|
60407
|
+
function agentRegistry(ctx) {
|
|
60408
|
+
try {
|
|
60409
|
+
const registry = asRegistry(typeof ctx.get === "function" ? ctx.get("agents") : void 0);
|
|
60410
|
+
if (registry !== void 0) return registry;
|
|
60411
|
+
} catch {}
|
|
60412
|
+
try {
|
|
60413
|
+
return asRegistry(ctx.agents);
|
|
60414
|
+
} catch {
|
|
60415
|
+
return;
|
|
60416
|
+
}
|
|
60417
|
+
}
|
|
60418
|
+
/** Error text for one warn line, without importing a generation-bound helper. */
|
|
60419
|
+
function describeError(error) {
|
|
60420
|
+
return error instanceof Error ? `${error.name}: ${error.message}` : String(error);
|
|
60421
|
+
}
|
|
60422
|
+
/** Whether one request is a conversation call this hook may resume. */
|
|
60423
|
+
function conversationCall(request) {
|
|
60424
|
+
return request.purpose === void 0;
|
|
60425
|
+
}
|
|
60426
|
+
/**
|
|
60427
|
+
* Whether one finish chunk is the answerless-turn failure this hook resumes.
|
|
60428
|
+
*
|
|
60429
|
+
* Matched on the code plus the phrase the reporting line exports, never on the
|
|
60430
|
+
* whole message: the rest of it carries diagnostics that may change.
|
|
60431
|
+
*/
|
|
60432
|
+
function isAnswerlessFailure(chunk) {
|
|
60433
|
+
const reason = chunk.reason;
|
|
60434
|
+
if (reason === void 0 || reason.kind !== "error") return false;
|
|
60435
|
+
const failure = reason.failure;
|
|
60436
|
+
if (failure === void 0 || failure.code !== "PROVIDER_ERROR") return false;
|
|
60437
|
+
return typeof failure.message === "string" && failure.message.includes("ended the turn without an answer or a tool call");
|
|
60438
|
+
}
|
|
60439
|
+
/**
|
|
60440
|
+
* Whether a chunk proves the response carried something a reader can act on.
|
|
60441
|
+
*
|
|
60442
|
+
* Whitespace is trimmed exactly as the mapper trims it when it decides
|
|
60443
|
+
* answerlessness (`hasVisibleOutput`): a delta of blanks is not an answer, and
|
|
60444
|
+
* a consumer that disagreed with the producer about that would classify a turn
|
|
60445
|
+
* the provider already called answered — or the reverse.
|
|
60446
|
+
*/
|
|
60447
|
+
function isVisible(chunk) {
|
|
60448
|
+
if (chunk.type === "tool-call-delta") return true;
|
|
60449
|
+
return chunk.type === "text-delta" && typeof chunk.text === "string" && chunk.text.trim() !== "";
|
|
60450
|
+
}
|
|
60451
|
+
/**
|
|
60452
|
+
* Install the answerless-turn resume hook on a Context.
|
|
60453
|
+
*
|
|
60454
|
+
* Inert unless the host exposes the event bus, so a harness without it keeps the
|
|
60455
|
+
* built-in behaviour instead of failing this plugin's load.
|
|
60456
|
+
*
|
|
60457
|
+
* @param ctx - plugin context.
|
|
60458
|
+
* @param options - see {@link NoAnswerResumeOptions}; validated fail-loud.
|
|
60459
|
+
* @returns a disposer removing every listener, or undefined when the host
|
|
60460
|
+
* exposes no event bus.
|
|
60461
|
+
*/
|
|
60462
|
+
function installNoAnswerResume(ctx, options = {}) {
|
|
60463
|
+
const resolved = resolveNoAnswerResumeOptions(options);
|
|
60464
|
+
if (typeof ctx.on !== "function") return void 0;
|
|
60465
|
+
const sessions = /* @__PURE__ */ new Map();
|
|
60466
|
+
let disposed = false;
|
|
60467
|
+
/**
|
|
60468
|
+
* The Agent that owns one request, or undefined when this host cannot name it.
|
|
60469
|
+
*
|
|
60470
|
+
* Read per resume, not once at install: a Cordis context throws when a service
|
|
60471
|
+
* is not injected yet, and this plugin may well load before the registry that
|
|
60472
|
+
* comes up moments later.
|
|
60473
|
+
*/
|
|
60474
|
+
function resolveAgent(sessionId) {
|
|
60475
|
+
if (sessionId === void 0) return void 0;
|
|
60476
|
+
try {
|
|
60477
|
+
const registered = agentRegistry(ctx)?.get(sessionId);
|
|
60478
|
+
if (registered !== void 0 && registered !== null) return registered;
|
|
60479
|
+
} catch {}
|
|
60480
|
+
}
|
|
60481
|
+
function stateFor(sessionId) {
|
|
60482
|
+
const key = sessionKey(sessionId);
|
|
60483
|
+
let state = sessions.get(key);
|
|
60484
|
+
if (state === void 0) {
|
|
60485
|
+
state = {
|
|
60486
|
+
consecutive: 0,
|
|
60487
|
+
pending: false
|
|
60488
|
+
};
|
|
60489
|
+
sessions.set(key, state);
|
|
60490
|
+
}
|
|
60491
|
+
return state;
|
|
60492
|
+
}
|
|
60493
|
+
/**
|
|
60494
|
+
* Steer one continuation, once the Agent has no turn in flight.
|
|
60495
|
+
*
|
|
60496
|
+
* `whenIdle` is the whole point: a steer sent while the turn is still running
|
|
60497
|
+
* is spliced into the inbox with no wake latched behind it, so it would never
|
|
60498
|
+
* be read. A generation without `whenIdle` cannot be asked, so the resume is
|
|
60499
|
+
* attempted on a microtask and the log says the pickup is not guaranteed.
|
|
60500
|
+
*
|
|
60501
|
+
* `fire` can run long after it was queued, and by then the plugin may be
|
|
60502
|
+
* gone. The slot is only released once a resume actually reaches the Agent:
|
|
60503
|
+
* holding it across a queue that ends in disposal would strand the session.
|
|
60504
|
+
*/
|
|
60505
|
+
function resume(state, agent, attempt, sessionId) {
|
|
60506
|
+
const fire = () => {
|
|
60507
|
+
if (disposed) return;
|
|
60508
|
+
state.pending = false;
|
|
60509
|
+
try {
|
|
60510
|
+
agent.steer?.(createResumeMessage(resolved.text));
|
|
60511
|
+
ctx.logger?.info?.(`no-answer-resume: resumed attempt ${attempt}/${resolved.maxResumes} (session ${sessionId ?? "unidentified"})`);
|
|
60512
|
+
} catch (error) {
|
|
60513
|
+
ctx.logger?.warn(`no-answer-resume: could not queue the resume: ${describeError(error)}`);
|
|
60514
|
+
}
|
|
60515
|
+
};
|
|
60516
|
+
const idle = typeof agent.whenIdle === "function" ? agent.whenIdle() : void 0;
|
|
60517
|
+
if (idle === void 0) {
|
|
60518
|
+
ctx.logger?.warn("no-answer-resume: this host cannot report when the Agent is idle; the resume may not be picked up");
|
|
60519
|
+
queueMicrotask(fire);
|
|
60520
|
+
return;
|
|
60521
|
+
}
|
|
60522
|
+
Promise.resolve(idle).then(fire, () => fire());
|
|
60523
|
+
}
|
|
60524
|
+
/**
|
|
60525
|
+
* Decide what one completed stream means for its session.
|
|
60526
|
+
*
|
|
60527
|
+
* The budget counts *consecutive* answerless turns, so every completed turn
|
|
60528
|
+
* that did not report the failure ends the streak — not only the ones that
|
|
60529
|
+
* answered. An aborted finish, a max-tokens finish, a TIMEOUT or any other
|
|
60530
|
+
* provider error is just as much an interruption: a streak that survived one
|
|
60531
|
+
* of them would spend the budget on answerless turns that never were
|
|
60532
|
+
* adjacent, report them as "in a row", and then stop resuming for the rest of
|
|
60533
|
+
* the session. `answered` closes the mirror image: the mapper only reports
|
|
60534
|
+
* this failure when nothing visible was emitted, so a turn that did emit
|
|
60535
|
+
* something is not an unanswered turn whichever chunk says otherwise.
|
|
60536
|
+
*
|
|
60537
|
+
* Only called for a stream that ran to its end — an abandoned or thrown one
|
|
60538
|
+
* proves nothing, so it is not asked about at all.
|
|
60539
|
+
*/
|
|
60540
|
+
function settle(sessionId, answered, answerless) {
|
|
60541
|
+
const state = stateFor(sessionId);
|
|
60542
|
+
if (!answerless || answered) {
|
|
60543
|
+
state.consecutive = 0;
|
|
60544
|
+
state.pending = false;
|
|
60545
|
+
return;
|
|
60546
|
+
}
|
|
60547
|
+
if (state.pending) return;
|
|
60548
|
+
if (state.consecutive >= resolved.maxResumes) {
|
|
60549
|
+
ctx.logger?.warn(`no-answer-resume: gave up after ${state.consecutive} answerless turns in a row (session ${sessionId ?? "unidentified"})`);
|
|
60550
|
+
return;
|
|
60551
|
+
}
|
|
60552
|
+
const agent = resolveAgent(sessionId);
|
|
60553
|
+
if (agent === void 0 || typeof agent.steer !== "function") {
|
|
60554
|
+
ctx.logger?.warn(`no-answer-resume: no Agent to resume (session ${sessionId ?? "unidentified"})`);
|
|
60555
|
+
return;
|
|
60556
|
+
}
|
|
60557
|
+
state.consecutive += 1;
|
|
60558
|
+
state.pending = true;
|
|
60559
|
+
resume(state, agent, state.consecutive, sessionId);
|
|
60560
|
+
}
|
|
60561
|
+
function resumeStream(request, next) {
|
|
60562
|
+
return (async function* () {
|
|
60563
|
+
let answered = false;
|
|
60564
|
+
let answerless = false;
|
|
60565
|
+
let completed = false;
|
|
60566
|
+
try {
|
|
60567
|
+
for await (const chunk of next()) {
|
|
60568
|
+
if (isVisible(chunk)) answered = true;
|
|
60569
|
+
if (chunk.type === "finish" && isAnswerlessFailure(chunk)) answerless = true;
|
|
60570
|
+
yield chunk;
|
|
60571
|
+
}
|
|
60572
|
+
completed = true;
|
|
60573
|
+
} finally {
|
|
60574
|
+
if (completed && conversationCall(request)) settle(request.sessionId, answered, answerless);
|
|
60575
|
+
}
|
|
60576
|
+
})();
|
|
60577
|
+
}
|
|
60578
|
+
const releaseDisposed = ctx.on("agent/disposed", (payload) => {
|
|
60579
|
+
const id = agentId(payload.agent);
|
|
60580
|
+
if (id !== void 0) sessions.delete(sessionKey(id));
|
|
60581
|
+
});
|
|
60582
|
+
const releaseStream = ctx.on("llm/stream", resumeStream, { global: true });
|
|
60583
|
+
return () => {
|
|
60584
|
+
disposed = true;
|
|
60585
|
+
releaseListener(releaseStream);
|
|
60586
|
+
releaseListener(releaseDisposed);
|
|
60587
|
+
sessions.clear();
|
|
60588
|
+
};
|
|
60589
|
+
}
|
|
60590
|
+
/** Cordis event handles are either a disposer function or a disposable object. */
|
|
60311
60591
|
function releaseListener(handle) {
|
|
60312
60592
|
if (typeof handle === "function") {
|
|
60313
60593
|
handle();
|
|
@@ -60331,6 +60611,7 @@ const Config = z.object({
|
|
|
60331
60611
|
subagentModelInheritTools: z.array(z.string()).default(DEFAULT_SUBAGENT_INHERIT_TOOLS),
|
|
60332
60612
|
subagentModelScope: z.union([z.const("session"), z.const("preference")]).default("session"),
|
|
60333
60613
|
reasoningCollapseGuard: z.union([z.object({}), z.const(false)]).default({}),
|
|
60614
|
+
noAnswerResume: z.union([z.object({}), z.const(false)]).default({}),
|
|
60334
60615
|
codexStreamIdleTimeoutMs: z.number().min(1).max(MAX_TIMER_DELAY_MS).step(1).default(DEFAULT_STREAM_IDLE_TIMEOUT_MS)
|
|
60335
60616
|
});
|
|
60336
60617
|
const inject = [
|
|
@@ -60419,6 +60700,17 @@ function apply(ctx, pluginConfig = {}) {
|
|
|
60419
60700
|
return dispose;
|
|
60420
60701
|
}, "dsh-chatgpt-subscription: reasoning collapse guard");
|
|
60421
60702
|
}
|
|
60703
|
+
if (pluginConfig.noAnswerResume !== false) {
|
|
60704
|
+
const resumeOptions = pluginConfig.noAnswerResume ?? {};
|
|
60705
|
+
ctx.effect(() => {
|
|
60706
|
+
const dispose = installNoAnswerResume(ctx, resumeOptions);
|
|
60707
|
+
if (dispose === void 0) {
|
|
60708
|
+
ctx.logger.warn("[dsh-chatgpt-subscription] no-answer resume skipped: this harness exposes no event bus");
|
|
60709
|
+
return () => void 0;
|
|
60710
|
+
}
|
|
60711
|
+
return dispose;
|
|
60712
|
+
}, "dsh-chatgpt-subscription: no-answer resume");
|
|
60713
|
+
}
|
|
60422
60714
|
const probeEnvFile = relayProbeEnvFile();
|
|
60423
60715
|
if (relayProbeEnabled(process.env, { envFile: probeEnvFile })) {
|
|
60424
60716
|
const probePath = relayProbeLogPath(process.env, { envFile: probeEnvFile });
|
|
@@ -25,6 +25,12 @@
|
|
|
25
25
|
*/
|
|
26
26
|
/** The row package whose presence marks a harness that takes presets from a row. */
|
|
27
27
|
export declare const PRESET_REGISTRY_PACKAGE = "@deepseek-ai/dsh-agent-preset";
|
|
28
|
+
/**
|
|
29
|
+
* The package whose presence marks a harness (>= 0.2.1) that injects the
|
|
30
|
+
* session working directory via `WORKING_DIRECTORY` user context and no longer
|
|
31
|
+
* registers `{{cwd}}` as a `systemPrompt` variable.
|
|
32
|
+
*/
|
|
33
|
+
export declare const WORKING_DIRECTORY_PACKAGE = "@deepseek-ai/dsh-working-directory";
|
|
28
34
|
/** The id the `dispatch` preset is selectable under. */
|
|
29
35
|
export declare const DISPATCH_PRESET_ID = "dispatch";
|
|
30
36
|
/**
|
|
@@ -92,6 +98,20 @@ export type PresetInstall = 'registered' | 'legacy';
|
|
|
92
98
|
* for text the Loader evaluates, and nothing evaluates this.
|
|
93
99
|
*/
|
|
94
100
|
export declare const DISPATCH_PRESET: PresetDefinition;
|
|
101
|
+
/**
|
|
102
|
+
* Reconcile {@link DISPATCH_PRESET} with the running harness generation.
|
|
103
|
+
*
|
|
104
|
+
* Harnesses shipping `@deepseek-ai/dsh-working-directory` (>= 0.2.1) provide the
|
|
105
|
+
* session working directory through the `WORKING_DIRECTORY` dynamic context and
|
|
106
|
+
* no longer register `{{cwd}}` on `ctx.systemPrompt`, so keeping `persona.config.suffix`
|
|
107
|
+
* (`Your working directory is {{cwd}}.`) makes `SystemPrompt` throw
|
|
108
|
+
* `unknown prompt variable "{{cwd}}"` at render time. On 0.1.7–0.2.0 that package
|
|
109
|
+
* is absent and `{{cwd}}` is still the only way the persona states the workspace,
|
|
110
|
+
* so the unmodified {@link DISPATCH_PRESET} is returned unchanged.
|
|
111
|
+
* @param resolves - whether a bare specifier resolves in this installation.
|
|
112
|
+
* @returns the preset definition for the running harness generation.
|
|
113
|
+
*/
|
|
114
|
+
export declare function resolveDispatchPreset(resolves?: SpecifierResolver): PresetDefinition;
|
|
95
115
|
/**
|
|
96
116
|
* Declare `dispatch` to the running harness, when the harness has the mechanism.
|
|
97
117
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-preset.d.ts","sourceRoot":"","sources":["../../../src/host/agent-preset.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAIH,oFAAoF;AACpF,eAAO,MAAM,uBAAuB,kCAAkC,CAAA;AAEtE,wDAAwD;AACxD,eAAO,MAAM,kBAAkB,aAAa,CAAA;AAE5C;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,6CAA6C;IAC7C,EAAE,EAAE,MAAM,CAAA;IACV,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAA;IACZ,qEAAqE;IACrE,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,gDAAgD;IAChD,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,yCAAyC;IACzC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,GAAG,MAAM,CAAC,CAAA;CACxC;AAED,sDAAsD;AACtD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,SAAS,SAAS,EAAE,CAAA;CACvC;AAED,uEAAuE;AACvE,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,QAAQ,CAAC,UAAU,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;CACrE;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,2EAA2E;IAC3E,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;IAC1B,8DAA8D;IAC9D,MAAM,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IAC5E,yBAAyB;IACzB,MAAM,EAAE;QACN,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;QAC3B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;KAC5B,CAAA;CACF;AAED,qEAAqE;AACrE,MAAM,MAAM,iBAAiB,GAAG,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAA;AAE9D,mDAAmD;AACnD,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,QAAQ,CAAA;AAEnD;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,EAAE,gBAoR7B,CAAA;AAUD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,UAAU,EAChB,QAAQ,GAAE,iBAAoC,GAC7C,aAAa,CAuBf"}
|
|
1
|
+
{"version":3,"file":"agent-preset.d.ts","sourceRoot":"","sources":["../../../src/host/agent-preset.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAIH,oFAAoF;AACpF,eAAO,MAAM,uBAAuB,kCAAkC,CAAA;AAEtE;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,uCAAuC,CAAA;AAE7E,wDAAwD;AACxD,eAAO,MAAM,kBAAkB,aAAa,CAAA;AAE5C;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,6CAA6C;IAC7C,EAAE,EAAE,MAAM,CAAA;IACV,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAA;IACZ,qEAAqE;IACrE,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,gDAAgD;IAChD,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,yCAAyC;IACzC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,GAAG,MAAM,CAAC,CAAA;CACxC;AAED,sDAAsD;AACtD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,SAAS,SAAS,EAAE,CAAA;CACvC;AAED,uEAAuE;AACvE,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,QAAQ,CAAC,UAAU,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;CACrE;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,2EAA2E;IAC3E,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;IAC1B,8DAA8D;IAC9D,MAAM,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IAC5E,yBAAyB;IACzB,MAAM,EAAE;QACN,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;QAC3B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;KAC5B,CAAA;CACF;AAED,qEAAqE;AACrE,MAAM,MAAM,iBAAiB,GAAG,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAA;AAE9D,mDAAmD;AACnD,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,QAAQ,CAAA;AAEnD;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,EAAE,gBAoR7B,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,GAAE,iBAAoC,GAAG,gBAAgB,CAUtG;AAUD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,UAAU,EAChB,QAAQ,GAAE,iBAAoC,GAC7C,aAAa,CAuBf"}
|
|
@@ -269,6 +269,15 @@ export interface MinimaxStreamStateOptions {
|
|
|
269
269
|
provider?: string;
|
|
270
270
|
}
|
|
271
271
|
export declare function createStreamState(options?: MinimaxStreamStateOptions): MinimaxStreamState;
|
|
272
|
+
/**
|
|
273
|
+
* The phrase this line stamps on the failure it reports for a turn that ended
|
|
274
|
+
* without an answer or a tool call.
|
|
275
|
+
*
|
|
276
|
+
* Exported so a host-side hook can recognise that failure by construction,
|
|
277
|
+
* instead of copying the sentence. Only the phrase is matched, never the whole
|
|
278
|
+
* message: the rest of it carries diagnostics that may change.
|
|
279
|
+
*/
|
|
280
|
+
export declare const NO_ANSWER_PHRASE = "ended the turn without an answer or a tool call";
|
|
272
281
|
/** Flush every open block, then emit usage and the terminal finish. */
|
|
273
282
|
export declare function closeMinimaxStream(state: MinimaxStreamState): StreamChunk[];
|
|
274
283
|
/** Raise when a stream ended without the terminal event the protocol promises. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapper.d.ts","sourceRoot":"","sources":["../../../../src/host/minimax-code/mapper.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"mapper.d.ts","sourceRoot":"","sources":["../../../../src/host/minimax-code/mapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resume a turn that ended without an answer.
|
|
3
|
+
*
|
|
4
|
+
* One line's forced thinking can spend a whole response reasoning and then end
|
|
5
|
+
* the turn with `end_turn`, leaving no text and no tool call. That line reports
|
|
6
|
+
* it as a failure, which is honest but leaves the turn unfinished: the harness
|
|
7
|
+
* has no representation for "the model stopped before it did anything", so the
|
|
8
|
+
* caller sees a failed turn and nothing else.
|
|
9
|
+
*
|
|
10
|
+
* This hook closes that gap. It watches the `llm/stream` waterfall, recognises
|
|
11
|
+
* that specific failure, and steers one continuation so the turn finishes.
|
|
12
|
+
*
|
|
13
|
+
* The budget counts `consecutive` answerless turns, so it only ever grows on
|
|
14
|
+
* a turn that ran to its end and reported the failure. A stream that was
|
|
15
|
+
* abandoned — the caller pressed Stop mid-answer, or the collapse guard returned
|
|
16
|
+
* upstream of this hook — never delivered its finish chunk and therefore says
|
|
17
|
+
* nothing at all: it neither spends the budget nor clears the streak.
|
|
18
|
+
*
|
|
19
|
+
* The steer has to land while the Agent is **idle**. `Agent.steer` splices into
|
|
20
|
+
* the inbox and calls `wakeDriver`, and `wakeDriver` only opens a new turn from
|
|
21
|
+
* `idle`: sent while a turn is still running it latches nothing and the message
|
|
22
|
+
* sits unread. So the resume waits on `whenIdle()` rather than racing the turn
|
|
23
|
+
* boundary — the collapse guard reaches the same place by cancelling first and
|
|
24
|
+
* steering on a microtask, which is not available here because nothing is being
|
|
25
|
+
* cancelled.
|
|
26
|
+
*
|
|
27
|
+
* @module
|
|
28
|
+
*/
|
|
29
|
+
/** The subset of `llm/stream` options this hook reads. */
|
|
30
|
+
export interface ResumeStreamOptions {
|
|
31
|
+
/** Stamped by the agent loop on every request it builds. */
|
|
32
|
+
readonly sessionId?: string | undefined;
|
|
33
|
+
/** Absent on an ordinary conversation request; set on an auxiliary call. */
|
|
34
|
+
readonly purpose?: string | undefined;
|
|
35
|
+
}
|
|
36
|
+
/** A chunk as it crosses the stream boundary; only the shape is read. */
|
|
37
|
+
export interface ResumeChunk {
|
|
38
|
+
readonly type: string;
|
|
39
|
+
readonly text?: string | undefined;
|
|
40
|
+
readonly blockType?: string | undefined;
|
|
41
|
+
readonly reason?: {
|
|
42
|
+
readonly kind?: string | undefined;
|
|
43
|
+
readonly failure?: {
|
|
44
|
+
readonly code?: string | undefined;
|
|
45
|
+
readonly message?: string | undefined;
|
|
46
|
+
} | undefined;
|
|
47
|
+
} | undefined;
|
|
48
|
+
}
|
|
49
|
+
/** Live Agent methods the hook calls. Optional so an older shape stays loadable. */
|
|
50
|
+
export interface ResumeAgentLike {
|
|
51
|
+
/** The Agent's session identity — the same value the loop stamps on requests. */
|
|
52
|
+
readonly id?: unknown;
|
|
53
|
+
steer?(message: unknown): void;
|
|
54
|
+
/** Resolves once the Agent has no work in flight. */
|
|
55
|
+
whenIdle?(): Promise<unknown>;
|
|
56
|
+
}
|
|
57
|
+
/** The `llm/stream` waterfall listener this hook registers. */
|
|
58
|
+
export type ResumeStreamListener = (options: ResumeStreamOptions, next: () => AsyncIterable<ResumeChunk>) => AsyncIterable<ResumeChunk>;
|
|
59
|
+
/**
|
|
60
|
+
* The `agent/disposed` listener this hook registers.
|
|
61
|
+
*
|
|
62
|
+
* The payload carries the Agent whose `id` keys this hook's per-session state,
|
|
63
|
+
* so a session that closes takes its entry with it instead of leaving the streak
|
|
64
|
+
* — and the memory behind it — behind for the life of the process.
|
|
65
|
+
*/
|
|
66
|
+
export type ResumeAgentEventListener = (payload: {
|
|
67
|
+
agent: unknown;
|
|
68
|
+
}) => void;
|
|
69
|
+
/** Either listener {@link NoAnswerResumeContext.on} accepts. */
|
|
70
|
+
export type ResumeListener = ResumeStreamListener | ResumeAgentEventListener;
|
|
71
|
+
/** Listener options accepted by the harness event bus. */
|
|
72
|
+
export interface ResumeListenerOptions {
|
|
73
|
+
/** Receive the event regardless of context filter checks. */
|
|
74
|
+
readonly global?: boolean;
|
|
75
|
+
}
|
|
76
|
+
/** Configuration for {@link installNoAnswerResume}. */
|
|
77
|
+
export interface NoAnswerResumeOptions {
|
|
78
|
+
/** Consecutive answerless turns resumed before giving up (default 2). */
|
|
79
|
+
maxResumes?: number;
|
|
80
|
+
/** The continuation injected on each resume. */
|
|
81
|
+
text?: string;
|
|
82
|
+
}
|
|
83
|
+
/** {@link NoAnswerResumeOptions} with every default filled in. */
|
|
84
|
+
export interface ResolvedNoAnswerResumeOptions {
|
|
85
|
+
maxResumes: number;
|
|
86
|
+
text: string;
|
|
87
|
+
}
|
|
88
|
+
/** The continuation this hook injects, unless the deployment states its own. */
|
|
89
|
+
export declare const NO_ANSWER_RESUME: string;
|
|
90
|
+
export declare const DEFAULT_NO_ANSWER_RESUME_OPTIONS: ResolvedNoAnswerResumeOptions;
|
|
91
|
+
/**
|
|
92
|
+
* The Context surface the hook needs, declared structurally so it loads on every
|
|
93
|
+
* supported harness generation without importing generation-bound types.
|
|
94
|
+
*
|
|
95
|
+
* `get` is the read that reaches the Agent registry in a real host: the registry
|
|
96
|
+
* is provided by a sibling fiber, and Cordis throws for a property this plugin did
|
|
97
|
+
* not declare in its `inject` list.
|
|
98
|
+
*/
|
|
99
|
+
export interface NoAnswerResumeContext {
|
|
100
|
+
on?: (event: 'llm/stream' | 'agent/disposed', listener: ResumeListener, options?: ResumeListenerOptions) => unknown;
|
|
101
|
+
logger?: {
|
|
102
|
+
info?(message: string): void;
|
|
103
|
+
warn(message: string): void;
|
|
104
|
+
} | undefined;
|
|
105
|
+
get?(name: string): unknown;
|
|
106
|
+
readonly agents?: {
|
|
107
|
+
get(id: unknown): unknown;
|
|
108
|
+
} | undefined;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Validate caller options fail-loud and fill in defaults.
|
|
112
|
+
*
|
|
113
|
+
* A resume budget below one would disable the hook while looking enabled, and an
|
|
114
|
+
* empty continuation would wake the Agent with nothing to act on — both are
|
|
115
|
+
* configuration mistakes worth failing on rather than silently ignoring.
|
|
116
|
+
*/
|
|
117
|
+
export declare function resolveNoAnswerResumeOptions(options?: NoAnswerResumeOptions): ResolvedNoAnswerResumeOptions;
|
|
118
|
+
/**
|
|
119
|
+
* Install the answerless-turn resume hook on a Context.
|
|
120
|
+
*
|
|
121
|
+
* Inert unless the host exposes the event bus, so a harness without it keeps the
|
|
122
|
+
* built-in behaviour instead of failing this plugin's load.
|
|
123
|
+
*
|
|
124
|
+
* @param ctx - plugin context.
|
|
125
|
+
* @param options - see {@link NoAnswerResumeOptions}; validated fail-loud.
|
|
126
|
+
* @returns a disposer removing every listener, or undefined when the host
|
|
127
|
+
* exposes no event bus.
|
|
128
|
+
*/
|
|
129
|
+
export declare function installNoAnswerResume(ctx: NoAnswerResumeContext, options?: NoAnswerResumeOptions): (() => void) | undefined;
|
|
130
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/host/no-answer-resume/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-provider-switcher.d.ts","sourceRoot":"","sources":["../../../src/host/search-provider-switcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAA;AAG9D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAA;AAEtE,UAAU,UAAU;IAClB,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAA;CAC3B;AA2BD,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,8EAA8E;IAC9E,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAA;CACnD;AAED,qFAAqF;AACrF,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAA;IACtE,QAAQ,CAAC,wBAAwB,EAAE,MAAM,GAAG,IAAI,CAAA;IAChD,QAAQ,CAAC,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAA;CAChD;AAED,qBAAa,sBAAsB;IAUrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IATnC,OAAO,CAAC,sBAAsB,CAAoB;IAClD,OAAO,CAAC,qBAAqB,CAAoB;IACjD,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,OAAO,CAAmC;IAClD,OAAO,CAAC,QAAQ,CAAQ;IAExB,OAAO,IAAI,IAAI;IACf,OAAO,CAAC,KAAK,CAAgD;gBAEhC,MAAM,EAAE,UAAU;IAE/C,MAAM,IAAI,4BAA4B;IAUtC,MAAM,CAAC,UAAU,EAAE,wBAAwB,EAAE,OAAO,GAAE,2BAAgC,GAAG,OAAO,CAAC,IAAI,CAAC;YAOxF,cAAc;
|
|
1
|
+
{"version":3,"file":"search-provider-switcher.d.ts","sourceRoot":"","sources":["../../../src/host/search-provider-switcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAA;AAG9D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAA;AAEtE,UAAU,UAAU;IAClB,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAA;CAC3B;AA2BD,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,8EAA8E;IAC9E,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAA;CACnD;AAED,qFAAqF;AACrF,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAA;IACtE,QAAQ,CAAC,wBAAwB,EAAE,MAAM,GAAG,IAAI,CAAA;IAChD,QAAQ,CAAC,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAA;CAChD;AAED,qBAAa,sBAAsB;IAUrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IATnC,OAAO,CAAC,sBAAsB,CAAoB;IAClD,OAAO,CAAC,qBAAqB,CAAoB;IACjD,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,OAAO,CAAmC;IAClD,OAAO,CAAC,QAAQ,CAAQ;IAExB,OAAO,IAAI,IAAI;IACf,OAAO,CAAC,KAAK,CAAgD;gBAEhC,MAAM,EAAE,UAAU;IAE/C,MAAM,IAAI,4BAA4B;IAUtC,MAAM,CAAC,UAAU,EAAE,wBAAwB,EAAE,OAAO,GAAE,2BAAgC,GAAG,OAAO,CAAC,IAAI,CAAC;YAOxF,cAAc;IAoE5B;;;;;;;;;;OAUG;YACW,YAAY;IAiB1B,OAAO,CAAC,YAAY;CAMrB"}
|
package/lib/types/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Context } from '@deepseek-ai/cordis';
|
|
2
2
|
import z from '@deepseek-ai/schemastery';
|
|
3
3
|
import { type GuardOptions } from './host/reasoning-collapse-guard/index.ts';
|
|
4
|
+
import { type NoAnswerResumeOptions } from './host/no-answer-resume/index.ts';
|
|
4
5
|
/** Optional deployment configuration for this plugin. */
|
|
5
6
|
export interface Config {
|
|
6
7
|
/** Independent web fetch selection; auto preserves proxy/search-driven selection.
|
|
@@ -45,6 +46,12 @@ export interface Config {
|
|
|
45
46
|
* leave the built-in behaviour alone; the shipped defaults apply otherwise.
|
|
46
47
|
*/
|
|
47
48
|
reasoningCollapseGuard?: GuardOptions | false;
|
|
49
|
+
/**
|
|
50
|
+
* Resume a turn that ended without an answer or a tool call. Omit the key
|
|
51
|
+
* (or set it to `false`) to leave the turn failed; the shipped defaults
|
|
52
|
+
* apply otherwise.
|
|
53
|
+
*/
|
|
54
|
+
noAnswerResume?: NoAnswerResumeOptions | false;
|
|
48
55
|
/**
|
|
49
56
|
* Idle budget for one Codex Responses stream, in milliseconds.
|
|
50
57
|
*
|
package/lib/types/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD,OAAO,CAAC,MAAM,0BAA0B,CAAA;AAuJxC,OAAO,EAEL,KAAK,YAAY,EAElB,MAAM,0CAA0C,CAAA;AAEjD,yDAAyD;AACzD,MAAM,WAAW,MAAM;IACrB;oGACgG;IAChG,aAAa,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAA;IACzC,qGAAqG;IACrG,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,gEAAgE;IAChE,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B;;;;OAIG;IACH,0BAA0B,CAAC,EAAE,OAAO,CAAA;IACpC,qFAAqF;IACrF,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC7B;;;;;;OAMG;IACH,yBAAyB,CAAC,EAAE,MAAM,EAAE,CAAA;IACpC;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,SAAS,GAAG,YAAY,CAAA;IAC7C;;;OAGG;IACH,sBAAsB,CAAC,EAAE,YAAY,GAAG,KAAK,CAAA;IAC7C;;;;;;OAMG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAA;CAClC;AAED,eAAO,MAAM,MAAM,EAAE,CAAC,CAAC,MAAM,CAe3B,CAAA;AAEF,eAAO,MAAM,MAAM,UAAqE,CAAA;AAExF,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,YAAY,GAAE,MAAW,GAAG,IAAI,CAq1BnE;AAED,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,UAAU,EACV,wBAAwB,EACxB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,uBAAuB,CAAA;AAC9B,YAAY,EACV,YAAY,EACZ,UAAU,EACV,UAAU,EACV,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,GACf,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACL,qBAAqB,EACrB,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,6BAA6B,EAC7B,mBAAmB,GACpB,MAAM,0CAA0C,CAAA;AACjD,YAAY,EACV,cAAc,EACd,UAAU,EACV,YAAY,EACZ,kBAAkB,EAClB,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,0CAA0C,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AACzE,OAAO,EACL,8BAA8B,EAC9B,kCAAkC,EAClC,qBAAqB,EACrB,mBAAmB,EACnB,2BAA2B,EAC3B,sBAAsB,EACtB,gBAAgB,EAChB,qBAAqB,EACrB,wBAAwB,EACxB,gBAAgB,EAChB,iCAAiC,EACjC,4BAA4B,EAC5B,yBAAyB,EACzB,kBAAkB,EAClB,cAAc,EACd,gCAAgC,EAChC,uBAAuB,EACvB,0BAA0B,EAC1B,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,wCAAwC,CAAA;AAC/C,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,GACd,MAAM,gCAAgC,CAAA;AACvC,YAAY,EACV,YAAY,EACZ,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,cAAc,GACf,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AACtD,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,GACzB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AAC1F,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAA;AAC7E,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAA;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AAChE,OAAO,EAAE,sBAAsB,EAAE,KAAK,4BAA4B,EAAE,MAAM,oCAAoC,CAAA;AAC9G,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AAClF,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACtF,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAA;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AACtE,YAAY,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAE/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAClE,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,4BAA4B,GAClC,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,EACL,mBAAmB,IAAI,0BAA0B,EACjD,sBAAsB,IAAI,6BAA6B,EACvD,cAAc,IAAI,yBAAyB,EAC3C,iBAAiB,IAAI,4BAA4B,EACjD,kCAAkC,GACnC,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EACL,aAAa,IAAI,qBAAqB,EACtC,iBAAiB,IAAI,yBAAyB,EAC9C,UAAU,IAAI,qBAAqB,GACpC,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AAClG,OAAO,EACL,iBAAiB,IAAI,qBAAqB,EAC1C,gBAAgB,IAAI,qBAAqB,EACzC,cAAc,IAAI,mBAAmB,EACrC,kBAAkB,IAAI,qBAAqB,GAC5C,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAA;AACjH,OAAO,EACL,mBAAmB,IAAI,uBAAuB,EAC9C,sBAAsB,IAAI,0BAA0B,EACpD,cAAc,IAAI,sBAAsB,EACxC,iBAAiB,IAAI,yBAAyB,EAC9C,+BAA+B,EAC/B,aAAa,IAAI,qBAAqB,GACvC,MAAM,iCAAiC,CAAA;AACxC,OAAO,EACL,aAAa,IAAI,kBAAkB,EACnC,iBAAiB,IAAI,yBAAyB,EAC9C,iBAAiB,IAAI,sBAAsB,EAC3C,kBAAkB,IAAI,oBAAoB,EAC1C,0BAA0B,IAAI,kCAAkC,GACjE,MAAM,2BAA2B,CAAA;AAClC,OAAO,EACL,iBAAiB,IAAI,kBAAkB,EACvC,aAAa,IAAI,qBAAqB,EACtC,kBAAkB,IAAI,kBAAkB,EACxC,gBAAgB,IAAI,kBAAkB,EACtC,cAAc,IAAI,gBAAgB,GACnC,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAA;AACzF,OAAO,EAAE,gBAAgB,EAAE,eAAe,IAAI,wBAAwB,EAAE,MAAM,6BAA6B,CAAA;AAC3G,OAAO,EACL,mBAAmB,IAAI,wBAAwB,EAC/C,sBAAsB,IAAI,2BAA2B,EACrD,gBAAgB,EAChB,iBAAiB,IAAI,0BAA0B,EAC/C,mBAAmB,IAAI,wBAAwB,EAC/C,gCAAgC,EAChC,eAAe,IAAI,wBAAwB,GAC5C,MAAM,iCAAiC,CAAA;AACxC,OAAO,EACL,iBAAiB,IAAI,mBAAmB,EACxC,gBAAgB,IAAI,mBAAmB,EACvC,cAAc,IAAI,iBAAiB,EACnC,kBAAkB,IAAI,qBAAqB,EAC3C,iBAAiB,IAAI,mBAAmB,EACxC,iBAAiB,IAAI,0BAA0B,EAC/C,kBAAkB,IAAI,2BAA2B,EACjD,YAAY,IAAI,qBAAqB,GACtC,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAA;AAC3F,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAA;AACrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAC1E,OAAO,EACL,eAAe,IAAI,gBAAgB,EACnC,mBAAmB,EACnB,qBAAqB,EACrB,eAAe,IAAI,wBAAwB,GAC5C,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EACL,aAAa,EACb,cAAc,IAAI,oBAAoB,EACtC,UAAU,IAAI,gBAAgB,GAC/B,MAAM,0BAA0B,CAAA;AACjC,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EACvB,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,GAC7B,MAAM,+BAA+B,CAAA;AACtC,OAAO,EACL,mBAAmB,IAAI,qBAAqB,EAC5C,sBAAsB,IAAI,wBAAwB,EAClD,cAAc,IAAI,oBAAoB,EACtC,iBAAiB,IAAI,uBAAuB,EAC5C,sBAAsB,EACtB,6BAA6B,EAC7B,6BAA6B,EAC7B,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,GAC3B,MAAM,8BAA8B,CAAA;AACrC,OAAO,EACL,UAAU,IAAI,gBAAgB,EAC9B,WAAW,IAAI,iBAAiB,EAChC,iBAAiB,IAAI,uBAAuB,EAC5C,cAAc,IAAI,oBAAoB,EACtC,kBAAkB,IAAI,kBAAkB,EACxC,iBAAiB,IAAI,uBAAuB,EAC5C,gBAAgB,IAAI,sBAAsB,GAC3C,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EACL,yBAAyB,EACzB,4BAA4B,EAC5B,yBAAyB,EACzB,0BAA0B,EAC1B,yBAAyB,EACzB,+BAA+B,IAAI,sCAAsC,GAC1E,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EACL,kBAAkB,IAAI,kBAAkB,EACxC,gBAAgB,IAAI,gBAAgB,EACpC,eAAe,IAAI,qBAAqB,EACxC,iBAAiB,IAAI,gBAAgB,EACrC,cAAc,IAAI,cAAc,EAChC,WAAW,IAAI,iBAAiB,EAChC,iBAAiB,IAAI,uBAAuB,EAC5C,eAAe,IAAI,qBAAqB,GACzC,MAAM,yBAAyB,CAAA;AAChC,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,IAAI,mBAAmB,EACnC,uBAAuB,IAAI,uBAAuB,EAClD,sBAAsB,IAAI,4BAA4B,GACvD,MAAM,yBAAyB,CAAA;AAChC,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,yBAAyB,IAAI,6BAA6B,EAC1D,eAAe,IAAI,sBAAsB,EACzC,6BAA6B,EAC7B,wBAAwB,EACxB,8BAA8B,EAC9B,sBAAsB,EACtB,kBAAkB,EAClB,uBAAuB,IAAI,0BAA0B,EACrD,kBAAkB,IAAI,qBAAqB,EAC3C,kBAAkB,EAClB,KAAK,gBAAgB,GACtB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EACL,QAAQ,IAAI,eAAe,EAC3B,aAAa,IAAI,oBAAoB,EACrC,WAAW,IAAI,kBAAkB,EACjC,aAAa,IAAI,oBAAoB,EACrC,kBAAkB,IAAI,yBAAyB,EAC/C,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC5B,KAAK,eAAe,GACrB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,EACrB,KAAK,mBAAmB,GACzB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EACL,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,cAAc,EACd,iBAAiB,GAClB,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AAErE,OAAO,EACL,oBAAoB,EACpB,mCAAmC,EACnC,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,KAAK,cAAc,GACpB,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EACL,gCAAgC,EAChC,wBAAwB,EACxB,yBAAyB,EACzB,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,0BAA0B,EAC1B,KAAK,2BAA2B,EAChC,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,GAC7B,MAAM,wCAAwC,CAAA;AAC/C,OAAO,EACL,qCAAqC,EACrC,4BAA4B,EAC5B,+BAA+B,EAC/B,cAAc,IAAI,2BAA2B,EAC7C,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,IAAI,gCAAgC,EACvD,0BAA0B,EAC1B,iBAAiB,IAAI,8BAA8B,EACnD,6BAA6B,EAC7B,oCAAoC,EACpC,KAAK,6BAA6B,EAClC,KAAK,wBAAwB,EAC7B,KAAK,0BAA0B,EAC/B,KAAK,4BAA4B,EACjC,KAAK,0BAA0B,GAChC,MAAM,uCAAuC,CAAA;AAC9C,OAAO,EACL,sBAAsB,EACtB,cAAc,EACd,2BAA2B,EAC3B,YAAY,EACZ,2BAA2B,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,2BAA2B,GACjC,MAAM,kCAAkC,CAAA;AACzC,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,mBAAmB,EACnB,WAAW,IAAI,yBAAyB,EACxC,eAAe,IAAI,4BAA4B,EAC/C,eAAe,EACf,KAAK,aAAa,IAAI,uBAAuB,GAC9C,MAAM,yCAAyC,CAAA;AAChD,OAAO,EACL,WAAW,IAAI,iCAAiC,EAChD,aAAa,IAAI,mCAAmC,EACpD,oBAAoB,IAAI,oCAAoC,EAC5D,YAAY,IAAI,yBAAyB,EACzC,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,IAAI,4BAA4B,GAChD,MAAM,iCAAiC,CAAA;AACxC,OAAO,EACL,gBAAgB,IAAI,mBAAmB,EACvC,wBAAwB,IAAI,2BAA2B,EACvD,oBAAoB,GACrB,MAAM,iCAAiC,CAAA;AACxC,OAAO,EACL,aAAa,EACb,cAAc,IAAI,2BAA2B,EAC7C,WAAW,IAAI,wBAAwB,EACvC,mBAAmB,IAAI,sBAAsB,GAC9C,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAA;AAClG,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAGlG,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,gCAAgC,EAAE,MAAM,gCAAgC,CAAA;AAC7H,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,EACrB,wBAAwB,EACxB,gCAAgC,EAChC,KAAK,sBAAsB,EAC3B,KAAK,4BAA4B,GAClC,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,EAC7B,YAAY,IAAI,uBAAuB,EACvC,iBAAiB,IAAI,4BAA4B,EACjD,iBAAiB,IAAI,4BAA4B,EACjD,cAAc,IAAI,kBAAkB,EACpC,iBAAiB,IAAI,4BAA4B,EACjD,2BAA2B,EAC3B,oBAAoB,IAAI,+BAA+B,EACvD,kCAAkC,EAClC,KAAK,2BAA2B,EAChC,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,0BAA0B,GAChC,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EACL,sBAAsB,IAAI,iCAAiC,EAC3D,aAAa,IAAI,qBAAqB,EACtC,cAAc,IAAI,sBAAsB,EACxC,iBAAiB,IAAI,4BAA4B,EACjD,WAAW,IAAI,mBAAmB,EAClC,sBAAsB,IAAI,iCAAiC,EAC3D,YAAY,IAAI,oBAAoB,EACpC,kBAAkB,IAAI,uBAAuB,EAC7C,0BAA0B,IAAI,qCAAqC,EACnE,cAAc,IAAI,sBAAsB,EACxC,WAAW,IAAI,sBAAsB,EACrC,cAAc,IAAI,yBAAyB,EAC3C,KAAK,mBAAmB,IAAI,8BAA8B,EAC1D,KAAK,YAAY,GAClB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EACL,WAAW,IAAI,wBAAwB,EACvC,WAAW,IAAI,sBAAsB,EACrC,aAAa,IAAI,wBAAwB,EACzC,mBAAmB,IAAI,8BAA8B,EACrD,YAAY,IAAI,uBAAuB,EACvC,mBAAmB,IAAI,8BAA8B,EACrD,mBAAmB,IAAI,qBAAqB,EAC5C,cAAc,IAAI,yBAAyB,EAC3C,oBAAoB,IAAI,+BAA+B,EACvD,gBAAgB,IAAI,qBAAqB,EACzC,mBAAmB,IAAI,qBAAqB,EAC5C,cAAc,IAAI,mBAAmB,EACrC,mBAAmB,IAAI,qBAAqB,EAC5C,mBAAmB,IAAI,8BAA8B,EACrD,kBAAkB,IAAI,6BAA6B,EACnD,KAAK,kBAAkB,EACvB,KAAK,YAAY,GAClB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EACL,mBAAmB,EACnB,4BAA4B,EAC5B,qBAAqB,EACrB,cAAc,IAAI,yBAAyB,EAC3C,wBAAwB,EACxB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,iCAAiC,EACjC,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,GAC7B,MAAM,sCAAsC,CAAA;AAC7C,OAAO,EACL,qBAAqB,IAAI,yBAAyB,EAClD,oBAAoB,IAAI,+BAA+B,EACvD,mBAAmB,EACnB,oBAAoB,IAAI,+BAA+B,EACvD,kBAAkB,EAClB,iBAAiB,IAAI,4BAA4B,EACjD,8BAA8B,IAAI,mCAAmC,EACrE,mBAAmB,IAAI,8BAA8B,EACrD,kBAAkB,IAAI,0BAA0B,EAChD,wBAAwB,EACxB,eAAe,IAAI,uBAAuB,EAC1C,KAAK,kBAAkB,GACxB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,SAAS,IAAI,oBAAoB,GAClC,MAAM,+BAA+B,CAAA;AACtC,OAAO,EACL,gBAAgB,IAAI,6BAA6B,EACjD,aAAa,IAAI,0BAA0B,EAC3C,YAAY,IAAI,yBAAyB,EACzC,WAAW,IAAI,sBAAsB,EACrC,YAAY,IAAI,uBAAuB,EACvC,4BAA4B,EAC5B,mBAAmB,IAAI,8BAA8B,EACrD,mBAAmB,IAAI,8BAA8B,EACrD,WAAW,IAAI,sBAAsB,EACrC,WAAW,IAAI,sBAAsB,GACtC,MAAM,8BAA8B,CAAA;AACrC,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,8BAA8B,EAC9B,yBAAyB,EACzB,KAAK,kBAAkB,EACvB,KAAK,4BAA4B,EACjC,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,0BAA0B,EAC/B,KAAK,iBAAiB,EACtB,KAAK,0BAA0B,EAC/B,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,GAC1B,MAAM,oCAAoC,CAAA;AAG3C,OAAO,EACL,eAAe,EACf,0BAA0B,EAC1B,6BAA6B,EAC7B,0BAA0B,EAC1B,sBAAsB,EACtB,0BAA0B,EAC1B,mBAAmB,EACnB,wBAAwB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,GAC9B,MAAM,6BAA6B,CAAA;AACpC,OAAO,EACL,mBAAmB,EACnB,8BAA8B,EAC9B,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,GACxB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,EACtB,iBAAiB,EACjB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,GAC3B,MAAM,4BAA4B,CAAA;AACnC,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,4BAA4B,EAC5B,cAAc,IAAI,sBAAsB,EACxC,iBAAiB,IAAI,yBAAyB,EAC9C,mBAAmB,IAAI,2BAA2B,EAClD,+BAA+B,EAC/B,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,GAC3B,MAAM,iCAAiC,CAAA;AACxC,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,EACtB,kBAAkB,EAClB,KAAK,yBAAyB,EAC9B,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,GACvB,MAAM,iCAAiC,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eddyskywalker/dsh-chatgpt-subscription",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.26.0",
|
|
4
4
|
"description": "DSH provider plugin for Codex access through a ChatGPT subscription.",
|
|
5
5
|
"icon": "./icon.svg",
|
|
6
6
|
"author": {
|
|
@@ -61,42 +61,42 @@
|
|
|
61
61
|
"peerDependencies": {
|
|
62
62
|
"@deepseek-ai/cordis": "^4.0.2 || 4.0.5",
|
|
63
63
|
"@deepseek-ai/cordis-plugin-loader": "^1.0.3 || 1.0.6",
|
|
64
|
-
"@deepseek-ai/dsh-attachment": "^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1 || ^0.1.7-rc.1 || ^0.1.7-rc.2 || ^0.2.0-rc.1 || ^0.2.0-rc.2 || 0.2.1-alpha.5",
|
|
65
|
-
"@deepseek-ai/dsh-client-connection": "^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1 || ^0.1.7-rc.1 || ^0.1.7-rc.2 || ^0.2.0-rc.1 || ^0.2.0-rc.2 || 0.2.1-alpha.5",
|
|
66
|
-
"@deepseek-ai/dsh-client-locale": "^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1 || ^0.1.7-rc.1 || ^0.1.7-rc.2 || ^0.2.0-rc.1 || ^0.2.0-rc.2 || 0.2.1-alpha.5",
|
|
67
|
-
"@deepseek-ai/dsh-client-ui-conversation": "^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1 || ^0.1.7-rc.1 || ^0.1.7-rc.2 || ^0.2.0-rc.1 || ^0.2.0-rc.2 || 0.2.1-alpha.5",
|
|
68
|
-
"@deepseek-ai/dsh-client-ui-model-selection": "^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1 || ^0.1.7-rc.1 || ^0.1.7-rc.2 || ^0.2.0-rc.1 || ^0.2.0-rc.2 || 0.2.1-alpha.5",
|
|
69
|
-
"@deepseek-ai/dsh-client-ui-renderer": "^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1 || ^0.1.7-rc.1 || ^0.1.7-rc.2 || ^0.2.0-rc.1 || ^0.2.0-rc.2 || 0.2.1-alpha.5",
|
|
70
|
-
"@deepseek-ai/dsh-client-ui-settings": "^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1 || ^0.1.7-rc.1 || ^0.1.7-rc.2 || ^0.2.0-rc.1 || ^0.2.0-rc.2 || 0.2.1-alpha.5",
|
|
71
|
-
"@deepseek-ai/dsh-client-ui-slots": "^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1 || ^0.1.7-rc.1 || ^0.1.7-rc.2 || ^0.2.0-rc.1 || ^0.2.0-rc.2 || 0.2.1-alpha.5",
|
|
72
|
-
"@deepseek-ai/dsh-client-ui-tool": "^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1 || ^0.1.7-rc.1 || ^0.1.7-rc.2 || ^0.2.0-rc.1 || ^0.2.0-rc.2 || 0.2.1-alpha.5",
|
|
73
|
-
"@deepseek-ai/dsh-host-webserver": "^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1 || ^0.1.7-rc.1 || ^0.1.7-rc.2 || ^0.2.0-rc.1 || ^0.2.0-rc.2 || 0.2.1-alpha.5",
|
|
74
|
-
"@deepseek-ai/dsh-llm": "^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1 || ^0.1.7-rc.1 || ^0.1.7-rc.2 || ^0.2.0-rc.1 || ^0.2.0-rc.2 || 0.2.1-alpha.5",
|
|
75
|
-
"@deepseek-ai/dsh-settings": "^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1 || ^0.1.7-rc.1 || ^0.1.7-rc.2 || ^0.2.0-rc.1 || ^0.2.0-rc.2 || 0.2.1-alpha.5",
|
|
76
|
-
"@deepseek-ai/dsh-timeout": "^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1 || ^0.1.7-rc.1 || ^0.1.7-rc.2 || ^0.2.0-rc.1 || ^0.2.0-rc.2 || 0.2.1-alpha.5",
|
|
77
|
-
"@deepseek-ai/dsh-tools": "^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1 || ^0.1.7-rc.1 || ^0.1.7-rc.2 || ^0.2.0-rc.1 || ^0.2.0-rc.2 || 0.2.1-alpha.5",
|
|
78
|
-
"@deepseek-ai/dsh-web": "^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1 || ^0.1.7-rc.1 || ^0.1.7-rc.2 || ^0.2.0-rc.1 || ^0.2.0-rc.2 || 0.2.1-alpha.5",
|
|
64
|
+
"@deepseek-ai/dsh-attachment": "^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1 || ^0.1.7-rc.1 || ^0.1.7-rc.2 || ^0.2.0-rc.1 || ^0.2.0-rc.2 || 0.2.1-alpha.5 || ^0.2.1-rc.1",
|
|
65
|
+
"@deepseek-ai/dsh-client-connection": "^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1 || ^0.1.7-rc.1 || ^0.1.7-rc.2 || ^0.2.0-rc.1 || ^0.2.0-rc.2 || 0.2.1-alpha.5 || ^0.2.1-rc.1",
|
|
66
|
+
"@deepseek-ai/dsh-client-locale": "^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1 || ^0.1.7-rc.1 || ^0.1.7-rc.2 || ^0.2.0-rc.1 || ^0.2.0-rc.2 || 0.2.1-alpha.5 || ^0.2.1-rc.1",
|
|
67
|
+
"@deepseek-ai/dsh-client-ui-conversation": "^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1 || ^0.1.7-rc.1 || ^0.1.7-rc.2 || ^0.2.0-rc.1 || ^0.2.0-rc.2 || 0.2.1-alpha.5 || ^0.2.1-rc.1",
|
|
68
|
+
"@deepseek-ai/dsh-client-ui-model-selection": "^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1 || ^0.1.7-rc.1 || ^0.1.7-rc.2 || ^0.2.0-rc.1 || ^0.2.0-rc.2 || 0.2.1-alpha.5 || ^0.2.1-rc.1",
|
|
69
|
+
"@deepseek-ai/dsh-client-ui-renderer": "^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1 || ^0.1.7-rc.1 || ^0.1.7-rc.2 || ^0.2.0-rc.1 || ^0.2.0-rc.2 || 0.2.1-alpha.5 || ^0.2.1-rc.1",
|
|
70
|
+
"@deepseek-ai/dsh-client-ui-settings": "^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1 || ^0.1.7-rc.1 || ^0.1.7-rc.2 || ^0.2.0-rc.1 || ^0.2.0-rc.2 || 0.2.1-alpha.5 || ^0.2.1-rc.1",
|
|
71
|
+
"@deepseek-ai/dsh-client-ui-slots": "^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1 || ^0.1.7-rc.1 || ^0.1.7-rc.2 || ^0.2.0-rc.1 || ^0.2.0-rc.2 || 0.2.1-alpha.5 || ^0.2.1-rc.1",
|
|
72
|
+
"@deepseek-ai/dsh-client-ui-tool": "^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1 || ^0.1.7-rc.1 || ^0.1.7-rc.2 || ^0.2.0-rc.1 || ^0.2.0-rc.2 || 0.2.1-alpha.5 || ^0.2.1-rc.1",
|
|
73
|
+
"@deepseek-ai/dsh-host-webserver": "^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1 || ^0.1.7-rc.1 || ^0.1.7-rc.2 || ^0.2.0-rc.1 || ^0.2.0-rc.2 || 0.2.1-alpha.5 || ^0.2.1-rc.1",
|
|
74
|
+
"@deepseek-ai/dsh-llm": "^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1 || ^0.1.7-rc.1 || ^0.1.7-rc.2 || ^0.2.0-rc.1 || ^0.2.0-rc.2 || 0.2.1-alpha.5 || ^0.2.1-rc.1",
|
|
75
|
+
"@deepseek-ai/dsh-settings": "^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1 || ^0.1.7-rc.1 || ^0.1.7-rc.2 || ^0.2.0-rc.1 || ^0.2.0-rc.2 || 0.2.1-alpha.5 || ^0.2.1-rc.1",
|
|
76
|
+
"@deepseek-ai/dsh-timeout": "^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1 || ^0.1.7-rc.1 || ^0.1.7-rc.2 || ^0.2.0-rc.1 || ^0.2.0-rc.2 || 0.2.1-alpha.5 || ^0.2.1-rc.1",
|
|
77
|
+
"@deepseek-ai/dsh-tools": "^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1 || ^0.1.7-rc.1 || ^0.1.7-rc.2 || ^0.2.0-rc.1 || ^0.2.0-rc.2 || 0.2.1-alpha.5 || ^0.2.1-rc.1",
|
|
78
|
+
"@deepseek-ai/dsh-web": "^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1 || ^0.1.7-rc.1 || ^0.1.7-rc.2 || ^0.2.0-rc.1 || ^0.2.0-rc.2 || 0.2.1-alpha.5 || ^0.2.1-rc.1",
|
|
79
79
|
"@deepseek-ai/schemastery": "^3.18.2 || 3.18.5",
|
|
80
80
|
"react": "^18.2.0"
|
|
81
81
|
},
|
|
82
82
|
"devDependencies": {
|
|
83
83
|
"@deepseek-ai/cordis": "4.0.5",
|
|
84
84
|
"@deepseek-ai/cordis-plugin-loader": "1.0.6",
|
|
85
|
-
"@deepseek-ai/dsh-attachment": "0.2.1-
|
|
86
|
-
"@deepseek-ai/dsh-client-connection": "0.2.1-
|
|
87
|
-
"@deepseek-ai/dsh-client-locale": "0.2.1-
|
|
88
|
-
"@deepseek-ai/dsh-client-ui-conversation": "0.2.1-
|
|
89
|
-
"@deepseek-ai/dsh-client-ui-model-selection": "0.2.1-
|
|
90
|
-
"@deepseek-ai/dsh-client-ui-renderer": "0.2.1-
|
|
91
|
-
"@deepseek-ai/dsh-client-ui-settings": "0.2.1-
|
|
92
|
-
"@deepseek-ai/dsh-client-ui-slots": "0.2.1-
|
|
93
|
-
"@deepseek-ai/dsh-client-ui-tool": "0.2.1-
|
|
94
|
-
"@deepseek-ai/dsh-host-webserver": "0.2.1-
|
|
95
|
-
"@deepseek-ai/dsh-llm": "0.2.1-
|
|
96
|
-
"@deepseek-ai/dsh-settings": "0.2.1-
|
|
97
|
-
"@deepseek-ai/dsh-timeout": "0.2.1-
|
|
98
|
-
"@deepseek-ai/dsh-tools": "0.2.1-
|
|
99
|
-
"@deepseek-ai/dsh-web": "0.2.1-
|
|
85
|
+
"@deepseek-ai/dsh-attachment": "^0.2.1-rc.1",
|
|
86
|
+
"@deepseek-ai/dsh-client-connection": "^0.2.1-rc.1",
|
|
87
|
+
"@deepseek-ai/dsh-client-locale": "^0.2.1-rc.1",
|
|
88
|
+
"@deepseek-ai/dsh-client-ui-conversation": "^0.2.1-rc.1",
|
|
89
|
+
"@deepseek-ai/dsh-client-ui-model-selection": "^0.2.1-rc.1",
|
|
90
|
+
"@deepseek-ai/dsh-client-ui-renderer": "^0.2.1-rc.1",
|
|
91
|
+
"@deepseek-ai/dsh-client-ui-settings": "^0.2.1-rc.1",
|
|
92
|
+
"@deepseek-ai/dsh-client-ui-slots": "^0.2.1-rc.1",
|
|
93
|
+
"@deepseek-ai/dsh-client-ui-tool": "^0.2.1-rc.1",
|
|
94
|
+
"@deepseek-ai/dsh-host-webserver": "^0.2.1-rc.1",
|
|
95
|
+
"@deepseek-ai/dsh-llm": "^0.2.1-rc.1",
|
|
96
|
+
"@deepseek-ai/dsh-settings": "^0.2.1-rc.1",
|
|
97
|
+
"@deepseek-ai/dsh-timeout": "^0.2.1-rc.1",
|
|
98
|
+
"@deepseek-ai/dsh-tools": "^0.2.1-rc.1",
|
|
99
|
+
"@deepseek-ai/dsh-web": "^0.2.1-rc.1",
|
|
100
100
|
"@deepseek-ai/schemastery": "3.18.5",
|
|
101
101
|
"@types/node": "^22.20.0",
|
|
102
102
|
"@types/react": "~18.3.1",
|
|
@@ -35,13 +35,14 @@
|
|
|
35
35
|
# ── identity ────────────────────────────────────────────────────────────────
|
|
36
36
|
|
|
37
37
|
# The preset's own persona, shadowing the deployment default for this agent.
|
|
38
|
-
# `{{model}}`
|
|
38
|
+
# `{{model}}` resolves from the agent's route; `{{cwd}}` in `suffix` is kept for
|
|
39
|
+
# harnesses before 0.2.1 and stripped when `@deepseek-ai/dsh-working-directory` is present.
|
|
39
40
|
- id: persona
|
|
40
41
|
name: '@deepseek-ai/dsh-persona'
|
|
41
42
|
config:
|
|
42
43
|
suffix: Your working directory is {{cwd}}.
|
|
43
44
|
prefix: |
|
|
44
|
-
You are powered by {{model}}.
|
|
45
|
+
You are powered by {{model}}.
|
|
45
46
|
|
|
46
47
|
[Role Identification] If your first user message is a task brief (rather than a direct request from the human user), you are a subagent: the coordinator-facing rules in R0, R0.5, R-G, R1, R2, R4, R5, and R-W do not apply to you. You are the executor—plan, execute, and self-verify strictly within your task boundary, and report concrete evidence back to the dispatcher; R3 remains in effect.
|
|
47
48
|
|