@eddyskywalker/dsh-chatgpt-subscription 0.9.9 → 0.10.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 +27 -0
- package/README.md +41 -1
- package/lib/client.js +29 -4
- package/lib/client.js.map +1 -1
- package/lib/index.js +76 -6
- package/lib/types/client/claude/locales.d.ts +2 -2
- package/lib/types/client/command-code/locales.d.ts +2 -2
- package/lib/types/client/kimi-code/locales.d.ts +2 -2
- package/lib/types/client/styles.d.ts +19 -0
- package/lib/types/client/styles.d.ts.map +1 -1
- package/lib/types/host/agent-preset.d.ts.map +1 -1
- package/lib/types/host/claude/mapper.d.ts +11 -2
- package/lib/types/host/claude/mapper.d.ts.map +1 -1
- package/lib/types/host/subagent-model-authorization.d.ts +7 -0
- package/lib/types/host/subagent-model-authorization.d.ts.map +1 -1
- package/package.json +1 -1
- package/presets/dispatch/agent.cordis.yml +13 -1
package/lib/index.js
CHANGED
|
@@ -24507,6 +24507,57 @@ function safeJsonParse(text) {
|
|
|
24507
24507
|
return;
|
|
24508
24508
|
}
|
|
24509
24509
|
}
|
|
24510
|
+
/**
|
|
24511
|
+
* Copy a value into the subset of JSON that survives a round trip, or
|
|
24512
|
+
* `undefined` when it has no place there.
|
|
24513
|
+
*
|
|
24514
|
+
* WHY THIS EXISTS. A finish chunk's replayState is persisted through DSH's
|
|
24515
|
+
* session log, which validates every stream chunk as LOSSLESS JSON and rejects
|
|
24516
|
+
* the whole chunk - failing the caller's turn with "Assistant stream chunk must
|
|
24517
|
+
* be losslessly JSON-serializable" - over a single value JSON cannot carry.
|
|
24518
|
+
* `undefined` is the one this file's own idioms produce: a reserved slot, or a
|
|
24519
|
+
* parse miss. But JSON.parse is not a safe source either: it accepts `-0` and
|
|
24520
|
+
* out-of-range literals, so a model that emits `{"n":-0}` or `{"n":1e999}`
|
|
24521
|
+
* hands us a negative zero or an Infinity that the round trip does not preserve.
|
|
24522
|
+
*
|
|
24523
|
+
* The rules mirror the harness's: strings, booleans and null pass; a finite
|
|
24524
|
+
* number passes with -0 normalized to 0; an array becomes a dense array (a hole
|
|
24525
|
+
* or an undefined member is not JSON); a plain object keeps only its enumerable
|
|
24526
|
+
* string keys, dropping any whose value has no JSON form; anything else
|
|
24527
|
+
* (function, symbol, bigint, undefined) has none.
|
|
24528
|
+
*
|
|
24529
|
+
* @param value - candidate value.
|
|
24530
|
+
* @param seen - recursion guard for the current path, so a cycle resolves to
|
|
24531
|
+
* `undefined` rather than overflowing the stack.
|
|
24532
|
+
* @returns the JSON-safe copy, or `undefined` for a value with no JSON form.
|
|
24533
|
+
* The caller decides whether that becomes `null` (an array slot) or a dropped
|
|
24534
|
+
* key (an object field).
|
|
24535
|
+
*/
|
|
24536
|
+
function jsonSafeValue(value, seen = /* @__PURE__ */ new WeakSet()) {
|
|
24537
|
+
if (value === null) return null;
|
|
24538
|
+
switch (typeof value) {
|
|
24539
|
+
case "string":
|
|
24540
|
+
case "boolean": return value;
|
|
24541
|
+
case "number":
|
|
24542
|
+
if (!Number.isFinite(value)) return void 0;
|
|
24543
|
+
return Object.is(value, -0) ? 0 : value;
|
|
24544
|
+
case "object": break;
|
|
24545
|
+
default: return;
|
|
24546
|
+
}
|
|
24547
|
+
if (seen.has(value)) return void 0;
|
|
24548
|
+
seen.add(value);
|
|
24549
|
+
try {
|
|
24550
|
+
if (Array.isArray(value)) return Array.from(value, (item) => jsonSafeValue(item, seen) ?? null);
|
|
24551
|
+
const record = {};
|
|
24552
|
+
for (const key of Object.keys(value)) {
|
|
24553
|
+
const child = jsonSafeValue(value[key], seen);
|
|
24554
|
+
if (child !== void 0) record[key] = child;
|
|
24555
|
+
}
|
|
24556
|
+
return record;
|
|
24557
|
+
} finally {
|
|
24558
|
+
seen.delete(value);
|
|
24559
|
+
}
|
|
24560
|
+
}
|
|
24510
24561
|
/** Strip a NUL that would truncate the string inside a JSON encoder. */
|
|
24511
24562
|
function sanitizeText(text) {
|
|
24512
24563
|
return text.replace(/\0/g, "");
|
|
@@ -25487,7 +25538,7 @@ function closeTextBlock(state, contentIndex) {
|
|
|
25487
25538
|
text: open.text
|
|
25488
25539
|
};
|
|
25489
25540
|
state.blocks[open.index] = block;
|
|
25490
|
-
state.replayBlocks[open.index] =
|
|
25541
|
+
state.replayBlocks[open.index] = null;
|
|
25491
25542
|
state.hasContent = true;
|
|
25492
25543
|
return [{
|
|
25493
25544
|
type: "block-end",
|
|
@@ -25547,7 +25598,7 @@ function closeToolCall(state, contentIndex) {
|
|
|
25547
25598
|
type: "tool_use",
|
|
25548
25599
|
id: pending.id,
|
|
25549
25600
|
name: pending.wireName,
|
|
25550
|
-
input: parsed
|
|
25601
|
+
input: jsonSafeValue(parsed) ?? {}
|
|
25551
25602
|
};
|
|
25552
25603
|
state.hasToolCall = true;
|
|
25553
25604
|
state.hasContent = true;
|
|
@@ -25670,7 +25721,7 @@ function closeStream(state) {
|
|
|
25670
25721
|
reason: finishReasonFor(state),
|
|
25671
25722
|
replayState: {
|
|
25672
25723
|
response: { provider: PROVIDER_ID },
|
|
25673
|
-
blocks: state.replayBlocks
|
|
25724
|
+
blocks: Array.from(state.replayBlocks, (block) => jsonSafeValue(block) ?? null)
|
|
25674
25725
|
}
|
|
25675
25726
|
});
|
|
25676
25727
|
return out;
|
|
@@ -25746,7 +25797,7 @@ function processStreamLine(line, state) {
|
|
|
25746
25797
|
name,
|
|
25747
25798
|
arguments: seedInput
|
|
25748
25799
|
});
|
|
25749
|
-
state.replayBlocks[index] =
|
|
25800
|
+
state.replayBlocks[index] = null;
|
|
25750
25801
|
out.push({
|
|
25751
25802
|
type: "block-start",
|
|
25752
25803
|
index,
|
|
@@ -29947,8 +29998,15 @@ const DEFAULT_DELEGATION_TOOLS = ["subagent"];
|
|
|
29947
29998
|
* and its cache. Inherit mode is what keeps that design honest: the fork still
|
|
29948
29999
|
* cannot choose, but an allowlist-carrying Session now refuses to let it run on
|
|
29949
30000
|
* a route the user did not authorize.
|
|
30001
|
+
*
|
|
30002
|
+
* `spawn_teammate` is the second, for the same reason at one remove. The Agent
|
|
30003
|
+
* Teams runtime registers it in the calling agent's own scope, and it creates
|
|
30004
|
+
* every child through `ctx.subagents.startContinuable` with no `agentOptions`
|
|
30005
|
+
* at all: a teammate inherits the Lead's route and the tool exposes no route
|
|
30006
|
+
* parameters. Policing it as an explicit tool would deny every creation with a
|
|
30007
|
+
* reason the model cannot act on, so it sits here beside the fork.
|
|
29950
30008
|
*/
|
|
29951
|
-
const DEFAULT_SUBAGENT_INHERIT_TOOLS = ["subagent_fork"];
|
|
30009
|
+
const DEFAULT_SUBAGENT_INHERIT_TOOLS = ["subagent_fork", "spawn_teammate"];
|
|
29952
30010
|
/**
|
|
29953
30011
|
* Read one deployment event field as a string.
|
|
29954
30012
|
* @param value - Candidate field value from a durable event.
|
|
@@ -30807,7 +30865,7 @@ const DISPATCH_PRESET = {
|
|
|
30807
30865
|
suffix: "Your working directory is {{cwd}}.",
|
|
30808
30866
|
prefix: `你由 {{model}} 驱动,工作目录是 {{cwd}}。
|
|
30809
30867
|
|
|
30810
|
-
|
|
30868
|
+
【角色识别】若你的第一条用户消息是一份任务书(而不是用户本人的直接请求),说明你是子代理或 teammate:R0、R0.5、R-G、R1、R2、R4、R5 中面向调度者的规则不适用于你。你是执行者,只在任务边界内自行规划、执行、自检,并把证据回报给派发者;R3 仍然有效。
|
|
30811
30869
|
|
|
30812
30870
|
【调度者身份】你是本会话的调度 Agent。你的产出是计划、任务书、审查结论与交付说明——不是替别人写完的代码。
|
|
30813
30871
|
|
|
@@ -30818,6 +30876,10 @@ const DISPATCH_PRESET = {
|
|
|
30818
30876
|
- L2 复杂/多步:跨模块或多交付物;存在歧义或隐含假设;需要探索未知;有可独立并行的子任务。→ 必须走完整流程:澄清访谈 → 完整规划 → 多子代理并行 → 分层验收。
|
|
30819
30877
|
拿不准就先问清楚再升级;发现比预想复杂时,停下重新分诊并告知用户。绝不为 L0/L1 任务开启访谈或多代理编排。
|
|
30820
30878
|
|
|
30879
|
+
## R0.5 · 协作模式侦测(每个任务开始前一次)
|
|
30880
|
+
写出:协作模式:teammate 或 subagent。判据:spawn_teammate 与 wait_agent 是否存在(PTC 下即 tools.spawn_teammate / tools.wait_agent)。
|
|
30881
|
+
分界不是「能不能派」,而是「派完能不能追问」:teammate 下 send_message 只认成员名,传子代理的 session id 必然失败。
|
|
30882
|
+
两种模式下 R0/R1/R3/R6 照常执行,差别只在派发工具与回访方式,见 R-T。
|
|
30821
30883
|
## R-G · 澄清访谈(仅 L2,且必须在规划之前)
|
|
30822
30884
|
- G1 设计树:把需求建模成一棵设计树——每个决策下挂着依赖它的决策,不要平铺罗列。
|
|
30823
30885
|
- G2 前沿与轮次:前沿=所有前置决策已敲定、现在问不需要猜的问题。一轮=一次问完整个前沿;不要一次只问一个,也不要一次问完所有。相互依赖的两个问题不得同轮。
|
|
@@ -30861,6 +30923,11 @@ subagent_fork 刻意与父代理同路由(复用对话与 KV Cache),只用
|
|
|
30861
30923
|
前置条件:访谈未收敛时不得派发实现型子代理。
|
|
30862
30924
|
若当前呈现为 PTC 模式,派发通过 run_code 内的 tools.subagent(...) 完成,独立派发用 Promise.all 并发;参数与调度工具一致。
|
|
30863
30925
|
|
|
30926
|
+
## R-T · teammate 模式(仅侦测为 teammate 时)
|
|
30927
|
+
- 协调走成员词汇:list_agents()、send_message({ target: <成员名> 或 "lead" })、wait_agent()、team_task_*;不要把子代理 session id 交给 send_message / interrupt_agent。
|
|
30928
|
+
- spawn_teammate 没有 provider/model,成员一律继承你的路由:R2 的显式路由只对 subagent 成立,不要为它写 route 行。
|
|
30929
|
+
- 选型:需要中途追问、多轮返工 → spawn_teammate;一次拿到结果即可 → subagent。
|
|
30930
|
+
- 任务清单落在 team_task_*(R7);派发与并行纪律仍按 R5。
|
|
30864
30931
|
## R6 · 审查与验收
|
|
30865
30932
|
两层:子代理自检 → 你复审。验收必须落到证据上(读关键改动、跑测试、对照验收标准)。
|
|
30866
30933
|
不通过就带上具体证据重新派发,不要自己接手改;也不要凭子代理的自我陈述宣布完成。
|
|
@@ -30873,6 +30940,7 @@ subagent_fork 刻意与父代理同路由(复用对话与 KV Cache),只用
|
|
|
30873
30940
|
兜底是任务级、非会话级的例外授权,只覆盖触发它的那一个任务,绝不改变本会话后续任务的默认工作方式。
|
|
30874
30941
|
满足以下任一条才可亲自执行,且必须说明触发的是哪一条、证据是什么:L0/L1 任务;子代理工具不可用;允许清单为空且用户尚未开启;任务不可委派(纯咨询、极小单点改动、必须共享你当前上下文的操作);同一任务书按 R6 重新派发两次仍不通过。
|
|
30875
30942
|
硬拒绝先修条件,不要拿它当兜底理由:提示 active child limit 的 → 等已存在的子代理结算后重新派发;提示 subagent model selection 的 → 按错误里列出的授权路由写明 provider/model;路由继承类拒绝 → 改用显式指定路由的子代理工具,或把本会话切到清单内的模型。条件不修复,同类拒绝会一直复现。
|
|
30943
|
+
teammate 专属:成员名不可重用(failed 后换名重建);inactive 不是失败,先 send_message 唤醒。
|
|
30876
30944
|
解除:兜底只对当次任务生效。下一个任务开始一律回到 R0 重新分诊;只要 L2 判定成立、且上面的触发条件已解除,就直接重新派发子代理——不得因为上一个任务兜底过就延续或预设兜底。
|
|
30877
30945
|
|
|
30878
30946
|
## 反模式(出现即为违规)
|
|
@@ -30886,6 +30954,8 @@ subagent_fork 刻意与父代理同路由(复用对话与 KV Cache),只用
|
|
|
30886
30954
|
8. 让子代理自己决定用哪个模型。
|
|
30887
30955
|
9. 把一次兜底沿用成整个会话的默认——R8 是任务级许可,下一个任务必须重新按 R0 分诊。
|
|
30888
30956
|
10. 拿工具硬拒当当兜底理由而不去修触发条件——拒绝会一直复现。
|
|
30957
|
+
11. teammate 模式下把子代理 session id 当成员名发给 send_message——必然失败。
|
|
30958
|
+
12. 给 spawn_teammate 编造 provider/model(它没有这两个参数)。
|
|
30889
30959
|
`
|
|
30890
30960
|
}
|
|
30891
30961
|
},
|
|
@@ -437,8 +437,8 @@ export declare const dictionaries: {
|
|
|
437
437
|
readonly lastUsed: string;
|
|
438
438
|
readonly accountId: string;
|
|
439
439
|
};
|
|
440
|
-
en: Record<"
|
|
441
|
-
'en-US': Record<"
|
|
440
|
+
en: Record<"account" | "storage" | "quotaRefreshing" | "rotationStrategy" | "accountId" | "relogin" | "tokens" | "title" | "signedOut" | "signedIn" | "plan" | "expires" | "signIn" | "signInAgain" | "loading" | "connection" | "provider" | "connectionState" | "connected" | "untested" | "testConnection" | "enableProvider" | "selectAll" | "unselectAll" | "modelsHint" | "contextWindowInvalid" | "contextWindowReset" | "contextWindowResetAll" | "contextWindowResetAllConfirm" | "save" | "refreshQuota" | "quotaSignedOut" | "accountPool" | "addAccount" | "accountCount" | "primaryAccount" | "activeAccount" | "setPrimary" | "deleteAccount" | "cooling" | "cooldownLeft" | "clearCooldown" | "needsRelogin" | "strategySequential" | "strategyRoundRobin" | "strategySticky" | "noAccounts" | "storageNotice" | "email" | "lastUsed" | "source" | "pageDesc" | "signingIn" | "providerValue" | "enhanced" | "defaultReasoningEffort" | "defaultReasoningEffortHint" | "defaultEffortAuto" | "contextWindowSection" | "contextWindowHint" | "contextWindowNoneEnabled" | "saving" | "quotaSection" | "quotaDesc" | "refreshingQuota" | "quotaEmpty" | "updatedAt" | "loginFailed" | "now" | "planUnknown" | "subscriptionType" | "sourceManaged" | "sourceClaudeCode" | "adoptedBadge" | "snapshotPath" | "signInSection" | "cancelSignIn" | "openAuthorizeUrl" | "authorizeUrl" | "redirectUri" | "loginModeManual" | "loginModeLoopback" | "loginFallbackReason" | "loginWaiting" | "loginExchanging" | "loginComplete" | "manualPasteSection" | "manualPasteHint" | "manualPastePlaceholder" | "manualPasteSubmit" | "manualPasteSubmitting" | "importClaudeCode" | "importing" | "stopImporting" | "importHint" | "importUnavailable" | "importSearched" | "testingConnection" | "testSuccess" | "testLatency" | "testFailed" | "testRetryable" | "testNotRetryable" | "routeOwned" | "routeConflict" | "modelsSection" | "refreshCatalog" | "refreshingCatalog" | "capImage" | "capNoImage" | "capThinkingOff" | "thinkingModeMidConvo" | "thinkingModeAdaptive" | "thinkingModeBudget" | "thinkingModeNone" | "effortLow" | "effortMedium" | "effortHigh" | "effortXHigh" | "effortMax" | "modelLadders" | "modelLadderNone" | "quotaUnknown" | "quotaUnknownHint" | "usedLabel" | "remainingLabel" | "left" | "resetAt" | "resetUnknown" | "observedAt" | "quotaError" | "extraUsage" | "extraUsageEnabled" | "extraUsageDisabled" | "extraUsageLimit" | "sourceUsage" | "sourceHeaders" | "quotaStatus" | "quotaRepresentative" | "copy" | "copied", string>;
|
|
441
|
+
'en-US': Record<"account" | "storage" | "quotaRefreshing" | "rotationStrategy" | "accountId" | "relogin" | "tokens" | "title" | "signedOut" | "signedIn" | "plan" | "expires" | "signIn" | "signInAgain" | "loading" | "connection" | "provider" | "connectionState" | "connected" | "untested" | "testConnection" | "enableProvider" | "selectAll" | "unselectAll" | "modelsHint" | "contextWindowInvalid" | "contextWindowReset" | "contextWindowResetAll" | "contextWindowResetAllConfirm" | "save" | "refreshQuota" | "quotaSignedOut" | "accountPool" | "addAccount" | "accountCount" | "primaryAccount" | "activeAccount" | "setPrimary" | "deleteAccount" | "cooling" | "cooldownLeft" | "clearCooldown" | "needsRelogin" | "strategySequential" | "strategyRoundRobin" | "strategySticky" | "noAccounts" | "storageNotice" | "email" | "lastUsed" | "source" | "pageDesc" | "signingIn" | "providerValue" | "enhanced" | "defaultReasoningEffort" | "defaultReasoningEffortHint" | "defaultEffortAuto" | "contextWindowSection" | "contextWindowHint" | "contextWindowNoneEnabled" | "saving" | "quotaSection" | "quotaDesc" | "refreshingQuota" | "quotaEmpty" | "updatedAt" | "loginFailed" | "now" | "planUnknown" | "subscriptionType" | "sourceManaged" | "sourceClaudeCode" | "adoptedBadge" | "snapshotPath" | "signInSection" | "cancelSignIn" | "openAuthorizeUrl" | "authorizeUrl" | "redirectUri" | "loginModeManual" | "loginModeLoopback" | "loginFallbackReason" | "loginWaiting" | "loginExchanging" | "loginComplete" | "manualPasteSection" | "manualPasteHint" | "manualPastePlaceholder" | "manualPasteSubmit" | "manualPasteSubmitting" | "importClaudeCode" | "importing" | "stopImporting" | "importHint" | "importUnavailable" | "importSearched" | "testingConnection" | "testSuccess" | "testLatency" | "testFailed" | "testRetryable" | "testNotRetryable" | "routeOwned" | "routeConflict" | "modelsSection" | "refreshCatalog" | "refreshingCatalog" | "capImage" | "capNoImage" | "capThinkingOff" | "thinkingModeMidConvo" | "thinkingModeAdaptive" | "thinkingModeBudget" | "thinkingModeNone" | "effortLow" | "effortMedium" | "effortHigh" | "effortXHigh" | "effortMax" | "modelLadders" | "modelLadderNone" | "quotaUnknown" | "quotaUnknownHint" | "usedLabel" | "remainingLabel" | "left" | "resetAt" | "resetUnknown" | "observedAt" | "quotaError" | "extraUsage" | "extraUsageEnabled" | "extraUsageDisabled" | "extraUsageLimit" | "sourceUsage" | "sourceHeaders" | "quotaStatus" | "quotaRepresentative" | "copy" | "copied", string>;
|
|
442
442
|
};
|
|
443
443
|
export type ClaudeLocaleKey = keyof typeof zh;
|
|
444
444
|
//# sourceMappingURL=locales.d.ts.map
|
|
@@ -277,8 +277,8 @@ export declare const dictionaries: {
|
|
|
277
277
|
readonly lastUsed: string;
|
|
278
278
|
readonly accountId: string;
|
|
279
279
|
};
|
|
280
|
-
en: Record<"account" | "storage" | "rotationStrategy" | "accountId" | "relogin" | "tokens" | "title" | "signedOut" | "signedIn" | "plan" | "expires" | "signIn" | "signInAgain" | "signOut" | "loading" | "connection" | "provider" | "connectionState" | "connected" | "untested" | "testConnection" | "enableProvider" | "selectAll" | "unselectAll" | "modelsHint" | "contextWindowReset" | "contextWindowResetAll" | "contextWindowResetAllConfirm" | "save" | "refreshQuota" | "accountPool" | "addAccount" | "accountCount" | "primaryAccount" | "activeAccount" | "setPrimary" | "deleteAccount" | "cooling" | "cooldownLeft" | "clearCooldown" | "needsRelogin" | "strategySequential" | "strategyRoundRobin" | "strategySticky" | "noAccounts" | "storageNotice" | "email" | "lastUsed" | "pageDesc" | "signingIn" | "providerValue" | "enhanced" | "defaultReasoningEffort" | "defaultReasoningEffortHint" | "defaultEffortAuto" | "contextWindowSection" | "contextWindowHint" | "contextWindowNoneEnabled" | "saved" | "saving" | "quotaSection" | "quotaDesc" | "refreshingQuota" | "quotaEmpty" | "updatedAt" | "loginFailed" | "
|
|
281
|
-
'en-US': Record<"account" | "storage" | "rotationStrategy" | "accountId" | "relogin" | "tokens" | "title" | "signedOut" | "signedIn" | "plan" | "expires" | "signIn" | "signInAgain" | "signOut" | "loading" | "connection" | "provider" | "connectionState" | "connected" | "untested" | "testConnection" | "enableProvider" | "selectAll" | "unselectAll" | "modelsHint" | "contextWindowReset" | "contextWindowResetAll" | "contextWindowResetAllConfirm" | "save" | "refreshQuota" | "accountPool" | "addAccount" | "accountCount" | "primaryAccount" | "activeAccount" | "setPrimary" | "deleteAccount" | "cooling" | "cooldownLeft" | "clearCooldown" | "needsRelogin" | "strategySequential" | "strategyRoundRobin" | "strategySticky" | "noAccounts" | "storageNotice" | "email" | "lastUsed" | "pageDesc" | "signingIn" | "providerValue" | "enhanced" | "defaultReasoningEffort" | "defaultReasoningEffortHint" | "defaultEffortAuto" | "contextWindowSection" | "contextWindowHint" | "contextWindowNoneEnabled" | "saved" | "saving" | "quotaSection" | "quotaDesc" | "refreshingQuota" | "quotaEmpty" | "updatedAt" | "loginFailed" | "
|
|
280
|
+
en: Record<"account" | "storage" | "rotationStrategy" | "accountId" | "relogin" | "tokens" | "title" | "signedOut" | "signedIn" | "plan" | "expires" | "signIn" | "signInAgain" | "signOut" | "loading" | "connection" | "provider" | "connectionState" | "connected" | "untested" | "testConnection" | "enableProvider" | "selectAll" | "unselectAll" | "modelsHint" | "contextWindowReset" | "contextWindowResetAll" | "contextWindowResetAllConfirm" | "save" | "refreshQuota" | "accountPool" | "addAccount" | "accountCount" | "primaryAccount" | "activeAccount" | "setPrimary" | "deleteAccount" | "cooling" | "cooldownLeft" | "clearCooldown" | "needsRelogin" | "strategySequential" | "strategyRoundRobin" | "strategySticky" | "noAccounts" | "storageNotice" | "email" | "lastUsed" | "pageDesc" | "signingIn" | "providerValue" | "enhanced" | "defaultReasoningEffort" | "defaultReasoningEffortHint" | "defaultEffortAuto" | "contextWindowSection" | "contextWindowHint" | "contextWindowNoneEnabled" | "saved" | "saving" | "quotaSection" | "quotaDesc" | "refreshingQuota" | "quotaEmpty" | "updatedAt" | "loginFailed" | "planUnknown" | "cancelSignIn" | "testingConnection" | "routeOwned" | "routeConflict" | "modelsSection" | "refreshCatalog" | "refreshingCatalog" | "keyName" | "organization" | "subscription" | "renews" | "authenticatedAt" | "openSignInPage" | "apiKeySection" | "apiKeyHint" | "apiKeyPlaceholder" | "apiKeySave" | "apiKeySaving" | "apiKeySaved" | "wireAnthropic" | "wireOpenai" | "quotaCredits" | "quotaUnlimited", string>;
|
|
281
|
+
'en-US': Record<"account" | "storage" | "rotationStrategy" | "accountId" | "relogin" | "tokens" | "title" | "signedOut" | "signedIn" | "plan" | "expires" | "signIn" | "signInAgain" | "signOut" | "loading" | "connection" | "provider" | "connectionState" | "connected" | "untested" | "testConnection" | "enableProvider" | "selectAll" | "unselectAll" | "modelsHint" | "contextWindowReset" | "contextWindowResetAll" | "contextWindowResetAllConfirm" | "save" | "refreshQuota" | "accountPool" | "addAccount" | "accountCount" | "primaryAccount" | "activeAccount" | "setPrimary" | "deleteAccount" | "cooling" | "cooldownLeft" | "clearCooldown" | "needsRelogin" | "strategySequential" | "strategyRoundRobin" | "strategySticky" | "noAccounts" | "storageNotice" | "email" | "lastUsed" | "pageDesc" | "signingIn" | "providerValue" | "enhanced" | "defaultReasoningEffort" | "defaultReasoningEffortHint" | "defaultEffortAuto" | "contextWindowSection" | "contextWindowHint" | "contextWindowNoneEnabled" | "saved" | "saving" | "quotaSection" | "quotaDesc" | "refreshingQuota" | "quotaEmpty" | "updatedAt" | "loginFailed" | "planUnknown" | "cancelSignIn" | "testingConnection" | "routeOwned" | "routeConflict" | "modelsSection" | "refreshCatalog" | "refreshingCatalog" | "keyName" | "organization" | "subscription" | "renews" | "authenticatedAt" | "openSignInPage" | "apiKeySection" | "apiKeyHint" | "apiKeyPlaceholder" | "apiKeySave" | "apiKeySaving" | "apiKeySaved" | "wireAnthropic" | "wireOpenai" | "quotaCredits" | "quotaUnlimited", string>;
|
|
282
282
|
};
|
|
283
283
|
export type CommandCodeLocaleKey = keyof typeof zh;
|
|
284
284
|
//# sourceMappingURL=locales.d.ts.map
|
|
@@ -430,8 +430,8 @@ export declare const dictionaries: {
|
|
|
430
430
|
readonly lastUsed: string;
|
|
431
431
|
readonly accountId: string;
|
|
432
432
|
};
|
|
433
|
-
en: Record<"account" | "storage" | "rotationStrategy" | "accountId" | "relogin" | "tokens" | "title" | "signedOut" | "signedIn" | "plan" | "expires" | "signIn" | "signInAgain" | "signOut" | "loading" | "connection" | "provider" | "connectionState" | "connected" | "untested" | "testConnection" | "enableProvider" | "selectAll" | "unselectAll" | "modelsHint" | "contextWindowReset" | "contextWindowResetAll" | "contextWindowResetAllConfirm" | "save" | "refreshQuota" | "accountPool" | "addAccount" | "accountCount" | "primaryAccount" | "activeAccount" | "setPrimary" | "deleteAccount" | "cooling" | "cooldownLeft" | "clearCooldown" | "needsRelogin" | "strategySequential" | "strategyRoundRobin" | "strategySticky" | "noAccounts" | "storageNotice" | "email" | "lastUsed" | "pageDesc" | "signingIn" | "providerValue" | "enhanced" | "defaultReasoningEffort" | "defaultReasoningEffortHint" | "defaultEffortAuto" | "contextWindowSection" | "contextWindowHint" | "contextWindowNoneEnabled" | "saved" | "saving" | "quotaSection" | "quotaDesc" | "refreshingQuota" | "quotaEmpty" | "updatedAt" | "loginFailed" | "planUnknown" | "
|
|
434
|
-
'en-US': Record<"account" | "storage" | "rotationStrategy" | "accountId" | "relogin" | "tokens" | "title" | "signedOut" | "signedIn" | "plan" | "expires" | "signIn" | "signInAgain" | "signOut" | "loading" | "connection" | "provider" | "connectionState" | "connected" | "untested" | "testConnection" | "enableProvider" | "selectAll" | "unselectAll" | "modelsHint" | "contextWindowReset" | "contextWindowResetAll" | "contextWindowResetAllConfirm" | "save" | "refreshQuota" | "accountPool" | "addAccount" | "accountCount" | "primaryAccount" | "activeAccount" | "setPrimary" | "deleteAccount" | "cooling" | "cooldownLeft" | "clearCooldown" | "needsRelogin" | "strategySequential" | "strategyRoundRobin" | "strategySticky" | "noAccounts" | "storageNotice" | "email" | "lastUsed" | "pageDesc" | "signingIn" | "providerValue" | "enhanced" | "defaultReasoningEffort" | "defaultReasoningEffortHint" | "defaultEffortAuto" | "contextWindowSection" | "contextWindowHint" | "contextWindowNoneEnabled" | "saved" | "saving" | "quotaSection" | "quotaDesc" | "refreshingQuota" | "quotaEmpty" | "updatedAt" | "loginFailed" | "planUnknown" | "
|
|
433
|
+
en: Record<"account" | "storage" | "rotationStrategy" | "accountId" | "relogin" | "tokens" | "title" | "signedOut" | "signedIn" | "plan" | "expires" | "signIn" | "signInAgain" | "signOut" | "loading" | "connection" | "provider" | "connectionState" | "connected" | "untested" | "testConnection" | "enableProvider" | "selectAll" | "unselectAll" | "modelsHint" | "contextWindowReset" | "contextWindowResetAll" | "contextWindowResetAllConfirm" | "save" | "refreshQuota" | "accountPool" | "addAccount" | "accountCount" | "primaryAccount" | "activeAccount" | "setPrimary" | "deleteAccount" | "cooling" | "cooldownLeft" | "clearCooldown" | "needsRelogin" | "strategySequential" | "strategyRoundRobin" | "strategySticky" | "noAccounts" | "storageNotice" | "email" | "lastUsed" | "pageDesc" | "signingIn" | "providerValue" | "enhanced" | "defaultReasoningEffort" | "defaultReasoningEffortHint" | "defaultEffortAuto" | "contextWindowSection" | "contextWindowHint" | "contextWindowNoneEnabled" | "saved" | "saving" | "quotaSection" | "quotaDesc" | "refreshingQuota" | "quotaEmpty" | "updatedAt" | "loginFailed" | "planUnknown" | "cancelSignIn" | "testingConnection" | "testSuccess" | "testFailed" | "routeOwned" | "routeConflict" | "modelsSection" | "refreshCatalog" | "refreshingCatalog" | "effortLow" | "effortHigh" | "effortMax" | "resetAt" | "copied" | "authenticatedAt" | "openSignInPage" | "wireAnthropic" | "wireOpenai" | "quotaUnlimited" | "nickname" | "region" | "regionMainland" | "regionGlobal" | "refreshRejected" | "deviceCodeSection" | "deviceCodeHint" | "copyCode" | "userCode" | "codeExpires" | "waitingAuthorization" | "requestingCode" | "oauthHost" | "codingEndpoint" | "capVideo" | "capDynamicTools" | "capImageOnly" | "capNone" | "capVideoFootnote" | "capabilitiesTitle" | "capColMedia" | "capColTools" | "capColNotes" | "capPlan" | "speedRegular" | "speedHighspeed" | "quotaCost" | "minimumPlan" | "effortNone" | "contextWindowPlan" | "cacheSection" | "cacheDesc" | "cacheEmpty" | "cacheHitRatio" | "cacheCached" | "cacheFresh" | "cacheOutput" | "cacheRequests" | "cacheHint" | "cacheDrift" | "cacheDriftFirst" | "cacheDriftStable" | "cacheDriftSystemPrompt" | "cacheDriftTools" | "cacheDriftCacheKey" | "cacheDriftColdKey" | "preserveThinking" | "preserveOn" | "preserveOff" | "outputCap" | "quotaPlan" | "quotaWallet" | "quotaWalletLimit" | "quotaWalletUsed" | "requests", string>;
|
|
434
|
+
'en-US': Record<"account" | "storage" | "rotationStrategy" | "accountId" | "relogin" | "tokens" | "title" | "signedOut" | "signedIn" | "plan" | "expires" | "signIn" | "signInAgain" | "signOut" | "loading" | "connection" | "provider" | "connectionState" | "connected" | "untested" | "testConnection" | "enableProvider" | "selectAll" | "unselectAll" | "modelsHint" | "contextWindowReset" | "contextWindowResetAll" | "contextWindowResetAllConfirm" | "save" | "refreshQuota" | "accountPool" | "addAccount" | "accountCount" | "primaryAccount" | "activeAccount" | "setPrimary" | "deleteAccount" | "cooling" | "cooldownLeft" | "clearCooldown" | "needsRelogin" | "strategySequential" | "strategyRoundRobin" | "strategySticky" | "noAccounts" | "storageNotice" | "email" | "lastUsed" | "pageDesc" | "signingIn" | "providerValue" | "enhanced" | "defaultReasoningEffort" | "defaultReasoningEffortHint" | "defaultEffortAuto" | "contextWindowSection" | "contextWindowHint" | "contextWindowNoneEnabled" | "saved" | "saving" | "quotaSection" | "quotaDesc" | "refreshingQuota" | "quotaEmpty" | "updatedAt" | "loginFailed" | "planUnknown" | "cancelSignIn" | "testingConnection" | "testSuccess" | "testFailed" | "routeOwned" | "routeConflict" | "modelsSection" | "refreshCatalog" | "refreshingCatalog" | "effortLow" | "effortHigh" | "effortMax" | "resetAt" | "copied" | "authenticatedAt" | "openSignInPage" | "wireAnthropic" | "wireOpenai" | "quotaUnlimited" | "nickname" | "region" | "regionMainland" | "regionGlobal" | "refreshRejected" | "deviceCodeSection" | "deviceCodeHint" | "copyCode" | "userCode" | "codeExpires" | "waitingAuthorization" | "requestingCode" | "oauthHost" | "codingEndpoint" | "capVideo" | "capDynamicTools" | "capImageOnly" | "capNone" | "capVideoFootnote" | "capabilitiesTitle" | "capColMedia" | "capColTools" | "capColNotes" | "capPlan" | "speedRegular" | "speedHighspeed" | "quotaCost" | "minimumPlan" | "effortNone" | "contextWindowPlan" | "cacheSection" | "cacheDesc" | "cacheEmpty" | "cacheHitRatio" | "cacheCached" | "cacheFresh" | "cacheOutput" | "cacheRequests" | "cacheHint" | "cacheDrift" | "cacheDriftFirst" | "cacheDriftStable" | "cacheDriftSystemPrompt" | "cacheDriftTools" | "cacheDriftCacheKey" | "cacheDriftColdKey" | "preserveThinking" | "preserveOn" | "preserveOff" | "outputCap" | "quotaPlan" | "quotaWallet" | "quotaWalletLimit" | "quotaWalletUsed" | "requests", string>;
|
|
435
435
|
};
|
|
436
436
|
export type KimiCodeLocaleKey = keyof typeof zh;
|
|
437
437
|
//# sourceMappingURL=locales.d.ts.map
|
|
@@ -1,2 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Install the ChatGPT tab's stylesheet as a document-owned, never-removed
|
|
3
|
+
* `<style>` element.
|
|
4
|
+
*
|
|
5
|
+
* The other client stylesheets this plugin installs are additive: their
|
|
6
|
+
* installers no-op when the element already exists and their disposers do
|
|
7
|
+
* nothing, so a restart can never take the styles away. This one used to
|
|
8
|
+
* create *and remove* its element, and the dedupe handoff was racy: on a
|
|
9
|
+
* plugin fiber restart (config change, dependency reload, HMR) the new fiber
|
|
10
|
+
* ran `apply()` before the old fiber's async unload removed the element —
|
|
11
|
+
* dedupe saw the old tag, returned a no-op disposer, and the old unload then
|
|
12
|
+
* deleted the only copy. Every later restart kept returning the no-op, so the
|
|
13
|
+
* stylesheet never came back and the settings page rendered unstyled.
|
|
14
|
+
*
|
|
15
|
+
* Fix: treat the tag as owned by the document rather than by one fiber —
|
|
16
|
+
* create it when missing, refresh `textContent` when a rebuilt bundle ships
|
|
17
|
+
* different CSS (HMR), and return a no-op disposer unconditionally, matching
|
|
18
|
+
* the additive installers.
|
|
19
|
+
*/
|
|
1
20
|
export declare function installStyles(): () => void;
|
|
2
21
|
//# sourceMappingURL=styles.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/client/styles.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/client/styles.ts"],"names":[],"mappings":"AA+GA;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,aAAa,IAAI,MAAM,IAAI,CAa1C"}
|
|
@@ -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,
|
|
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,gBA+P7B,CAAA;AAUD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,UAAU,EAChB,QAAQ,GAAE,iBAAoC,GAC7C,aAAa,CAuBf"}
|
|
@@ -506,8 +506,17 @@ export interface ClaudeStreamState {
|
|
|
506
506
|
toolCalls: Map<number, PendingToolCall>;
|
|
507
507
|
/** Anthropic content index -> a buffered thinking block. */
|
|
508
508
|
pending: Map<number, PendingThinking>;
|
|
509
|
-
/**
|
|
510
|
-
|
|
509
|
+
/**
|
|
510
|
+
* Anthropic content index -> the wire block that produced the emitted block.
|
|
511
|
+
*
|
|
512
|
+
* A slot is `null` - never `undefined` - when a block has no verbatim wire
|
|
513
|
+
* form to replay. That is not cosmetic: this array goes into the finish
|
|
514
|
+
* chunk's replayState, DSH validates every stream chunk as lossless JSON, and
|
|
515
|
+
* `undefined` is not a JSON value, so a hole here costs the caller the WHOLE
|
|
516
|
+
* turn ("Assistant stream chunk must be losslessly JSON-serializable") rather
|
|
517
|
+
* than one replay entry. See {@link jsonSafeValue}.
|
|
518
|
+
*/
|
|
519
|
+
replayBlocks: (Record<string, unknown> | null)[];
|
|
511
520
|
/** Tool-name translation the response side maps back through. */
|
|
512
521
|
toolNames: ClaudeToolNames | undefined;
|
|
513
522
|
sawMessageStart: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapper.d.ts","sourceRoot":"","sources":["../../../../src/host/claude/mapper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgLG;AAEH,OAAO,EAEL,KAAK,YAAY,EAEjB,KAAK,eAAe,EAEpB,KAAK,WAAW,EAEjB,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EAAE,eAAe,EAAsB,MAAM,6BAA6B,CAAA;
|
|
1
|
+
{"version":3,"file":"mapper.d.ts","sourceRoot":"","sources":["../../../../src/host/claude/mapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,6 +32,13 @@ export declare const DEFAULT_DELEGATION_TOOLS: readonly string[];
|
|
|
32
32
|
* and its cache. Inherit mode is what keeps that design honest: the fork still
|
|
33
33
|
* cannot choose, but an allowlist-carrying Session now refuses to let it run on
|
|
34
34
|
* a route the user did not authorize.
|
|
35
|
+
*
|
|
36
|
+
* `spawn_teammate` is the second, for the same reason at one remove. The Agent
|
|
37
|
+
* Teams runtime registers it in the calling agent's own scope, and it creates
|
|
38
|
+
* every child through `ctx.subagents.startContinuable` with no `agentOptions`
|
|
39
|
+
* at all: a teammate inherits the Lead's route and the tool exposes no route
|
|
40
|
+
* parameters. Policing it as an explicit tool would deny every creation with a
|
|
41
|
+
* reason the model cannot act on, so it sits here beside the fork.
|
|
35
42
|
*/
|
|
36
43
|
export declare const DEFAULT_SUBAGENT_INHERIT_TOOLS: readonly string[];
|
|
37
44
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subagent-model-authorization.d.ts","sourceRoot":"","sources":["../../../src/host/subagent-model-authorization.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD,OAAO,EAAe,KAAK,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAE/E,kEAAkE;AAClE,eAAO,MAAM,kCAAkC,6BAA6B,CAAA;AAE5E,4EAA4E;AAC5E,eAAO,MAAM,qBAAqB,oCAAoC,CAAA;AAEtE,iEAAiE;AACjE,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,EAAiB,CAAA;AAEvE
|
|
1
|
+
{"version":3,"file":"subagent-model-authorization.d.ts","sourceRoot":"","sources":["../../../src/host/subagent-model-authorization.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
prefix: |
|
|
44
44
|
你由 {{model}} 驱动,工作目录是 {{cwd}}。
|
|
45
45
|
|
|
46
|
-
|
|
46
|
+
【角色识别】若你的第一条用户消息是一份任务书(而不是用户本人的直接请求),说明你是子代理或 teammate:R0、R0.5、R-G、R1、R2、R4、R5 中面向调度者的规则不适用于你。你是执行者,只在任务边界内自行规划、执行、自检,并把证据回报给派发者;R3 仍然有效。
|
|
47
47
|
|
|
48
48
|
【调度者身份】你是本会话的调度 Agent。你的产出是计划、任务书、审查结论与交付说明——不是替别人写完的代码。
|
|
49
49
|
|
|
@@ -54,6 +54,10 @@
|
|
|
54
54
|
- L2 复杂/多步:跨模块或多交付物;存在歧义或隐含假设;需要探索未知;有可独立并行的子任务。→ 必须走完整流程:澄清访谈 → 完整规划 → 多子代理并行 → 分层验收。
|
|
55
55
|
拿不准就先问清楚再升级;发现比预想复杂时,停下重新分诊并告知用户。绝不为 L0/L1 任务开启访谈或多代理编排。
|
|
56
56
|
|
|
57
|
+
## R0.5 · 协作模式侦测(每个任务开始前一次)
|
|
58
|
+
写出:协作模式:teammate 或 subagent。判据:spawn_teammate 与 wait_agent 是否存在(PTC 下即 tools.spawn_teammate / tools.wait_agent)。
|
|
59
|
+
分界不是「能不能派」,而是「派完能不能追问」:teammate 下 send_message 只认成员名,传子代理的 session id 必然失败。
|
|
60
|
+
两种模式下 R0/R1/R3/R6 照常执行,差别只在派发工具与回访方式,见 R-T。
|
|
57
61
|
## R-G · 澄清访谈(仅 L2,且必须在规划之前)
|
|
58
62
|
- G1 设计树:把需求建模成一棵设计树——每个决策下挂着依赖它的决策,不要平铺罗列。
|
|
59
63
|
- G2 前沿与轮次:前沿=所有前置决策已敲定、现在问不需要猜的问题。一轮=一次问完整个前沿;不要一次只问一个,也不要一次问完所有。相互依赖的两个问题不得同轮。
|
|
@@ -97,6 +101,11 @@
|
|
|
97
101
|
前置条件:访谈未收敛时不得派发实现型子代理。
|
|
98
102
|
若当前呈现为 PTC 模式,派发通过 run_code 内的 tools.subagent(...) 完成,独立派发用 Promise.all 并发;参数与调度工具一致。
|
|
99
103
|
|
|
104
|
+
## R-T · teammate 模式(仅侦测为 teammate 时)
|
|
105
|
+
- 协调走成员词汇:list_agents()、send_message({ target: <成员名> 或 "lead" })、wait_agent()、team_task_*;不要把子代理 session id 交给 send_message / interrupt_agent。
|
|
106
|
+
- spawn_teammate 没有 provider/model,成员一律继承你的路由:R2 的显式路由只对 subagent 成立,不要为它写 route 行。
|
|
107
|
+
- 选型:需要中途追问、多轮返工 → spawn_teammate;一次拿到结果即可 → subagent。
|
|
108
|
+
- 任务清单落在 team_task_*(R7);派发与并行纪律仍按 R5。
|
|
100
109
|
## R6 · 审查与验收
|
|
101
110
|
两层:子代理自检 → 你复审。验收必须落到证据上(读关键改动、跑测试、对照验收标准)。
|
|
102
111
|
不通过就带上具体证据重新派发,不要自己接手改;也不要凭子代理的自我陈述宣布完成。
|
|
@@ -109,6 +118,7 @@
|
|
|
109
118
|
兜底是任务级、非会话级的例外授权,只覆盖触发它的那一个任务,绝不改变本会话后续任务的默认工作方式。
|
|
110
119
|
满足以下任一条才可亲自执行,且必须说明触发的是哪一条、证据是什么:L0/L1 任务;子代理工具不可用;允许清单为空且用户尚未开启;任务不可委派(纯咨询、极小单点改动、必须共享你当前上下文的操作);同一任务书按 R6 重新派发两次仍不通过。
|
|
111
120
|
硬拒绝先修条件,不要拿它当兜底理由:提示 active child limit 的 → 等已存在的子代理结算后重新派发;提示 subagent model selection 的 → 按错误里列出的授权路由写明 provider/model;路由继承类拒绝 → 改用显式指定路由的子代理工具,或把本会话切到清单内的模型。条件不修复,同类拒绝会一直复现。
|
|
121
|
+
teammate 专属:成员名不可重用(failed 后换名重建);inactive 不是失败,先 send_message 唤醒。
|
|
112
122
|
解除:兜底只对当次任务生效。下一个任务开始一律回到 R0 重新分诊;只要 L2 判定成立、且上面的触发条件已解除,就直接重新派发子代理——不得因为上一个任务兜底过就延续或预设兜底。
|
|
113
123
|
|
|
114
124
|
## 反模式(出现即为违规)
|
|
@@ -122,6 +132,8 @@
|
|
|
122
132
|
8. 让子代理自己决定用哪个模型。
|
|
123
133
|
9. 把一次兜底沿用成整个会话的默认——R8 是任务级许可,下一个任务必须重新按 R0 分诊。
|
|
124
134
|
10. 拿工具硬拒当当兜底理由而不去修触发条件——拒绝会一直复现。
|
|
135
|
+
11. teammate 模式下把子代理 session id 当成员名发给 send_message——必然失败。
|
|
136
|
+
12. 给 spawn_teammate 编造 provider/model(它没有这两个参数)。
|
|
125
137
|
|
|
126
138
|
- id: agent-instructions
|
|
127
139
|
name: '@deepseek-ai/dsh-agent-instructions'
|