@eddyskywalker/dsh-chatgpt-subscription 0.1.18 → 0.1.19
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 +2 -0
- package/README.md +3 -2
- package/lib/client.js +357 -157
- package/lib/client.js.map +1 -1
- package/lib/index.js +100 -7
- package/lib/types/client/CodexSubscriptionSection.d.ts.map +1 -1
- package/lib/types/client/SubagentSettingsSection.d.ts +9 -0
- package/lib/types/client/SubagentSettingsSection.d.ts.map +1 -0
- package/lib/types/client/index.d.ts.map +1 -1
- package/lib/types/client/locales.d.ts +27 -3
- package/lib/types/client/locales.d.ts.map +1 -1
- package/lib/types/client/styles.d.ts.map +1 -1
- package/lib/types/host/preferences.d.ts.map +1 -1
- package/lib/types/host/routes.d.ts.map +1 -1
- package/lib/types/host/subagent-model-preference.d.ts +1 -4
- package/lib/types/host/subagent-model-preference.d.ts.map +1 -1
- package/lib/types/host/subagent-policy.d.ts +17 -0
- package/lib/types/host/subagent-policy.d.ts.map +1 -0
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/shared/contracts.d.ts +4 -0
- package/lib/types/shared/contracts.d.ts.map +1 -1
- package/lib/types/shared/preferences.d.ts +1 -0
- package/lib/types/shared/preferences.d.ts.map +1 -1
- package/package.json +3 -1
package/lib/index.js
CHANGED
|
@@ -11,6 +11,7 @@ import { constants } from "node:fs";
|
|
|
11
11
|
import { chmod, lstat, mkdir, open, rename, stat, unlink } from "node:fs/promises";
|
|
12
12
|
import { homedir } from "node:os";
|
|
13
13
|
import { dirname, join } from "node:path";
|
|
14
|
+
import { delegationDepthOf } from "@deepseek-ai/dsh-subagent";
|
|
14
15
|
//#region src/compat.ts
|
|
15
16
|
/**
|
|
16
17
|
* Compatibility constants for the ChatGPT-backed Codex flow. The backend and
|
|
@@ -1066,6 +1067,8 @@ const DEFAULT_PREFERENCES = {
|
|
|
1066
1067
|
subagentModel: "gpt-5.6-sol",
|
|
1067
1068
|
subagentReasoningEffort: "medium",
|
|
1068
1069
|
subagentContextWindow: 272e3,
|
|
1070
|
+
subagentMaxDepth: 3,
|
|
1071
|
+
subagentMaxAgents: 8,
|
|
1069
1072
|
contextWindowOverrides: {
|
|
1070
1073
|
"gpt-5.6-sol": 272e3,
|
|
1071
1074
|
"gpt-5.6-terra": 272e3,
|
|
@@ -1086,6 +1089,8 @@ function registerPreferenceStore(settings) {
|
|
|
1086
1089
|
subagentModel: z.string().default(DEFAULT_PREFERENCES.subagentModel),
|
|
1087
1090
|
subagentReasoningEffort: z.union([z.string(), z.const(null)]).default(DEFAULT_PREFERENCES.subagentReasoningEffort),
|
|
1088
1091
|
subagentContextWindow: z.number().step(1).min(1).default(DEFAULT_PREFERENCES.subagentContextWindow),
|
|
1092
|
+
subagentMaxDepth: z.number().step(1).min(0).max(3).default(DEFAULT_PREFERENCES.subagentMaxDepth),
|
|
1093
|
+
subagentMaxAgents: z.number().step(1).min(1).max(Number.MAX_SAFE_INTEGER).default(DEFAULT_PREFERENCES.subagentMaxAgents),
|
|
1089
1094
|
contextWindowOverrides: z.object({
|
|
1090
1095
|
"gpt-5.6-sol": z.number().step(1).min(1).max(GPT_56_MAX_CONTEXT_WINDOW).default(DEFAULT_PREFERENCES.contextWindowOverrides["gpt-5.6-sol"]),
|
|
1091
1096
|
"gpt-5.6-terra": z.number().step(1).min(1).max(GPT_56_MAX_CONTEXT_WINDOW).default(DEFAULT_PREFERENCES.contextWindowOverrides["gpt-5.6-terra"]),
|
|
@@ -1112,6 +1117,8 @@ var SettingsPreferenceStore = class {
|
|
|
1112
1117
|
if (patch.subagentModel !== void 0) normalized.subagentModel = patch.subagentModel;
|
|
1113
1118
|
if (patch.subagentReasoningEffort !== void 0) normalized.subagentReasoningEffort = patch.subagentReasoningEffort;
|
|
1114
1119
|
if (patch.subagentContextWindow !== void 0) normalized.subagentContextWindow = patch.subagentContextWindow;
|
|
1120
|
+
if (patch.subagentMaxDepth !== void 0) normalized.subagentMaxDepth = patch.subagentMaxDepth;
|
|
1121
|
+
if (patch.subagentMaxAgents !== void 0) normalized.subagentMaxAgents = patch.subagentMaxAgents;
|
|
1115
1122
|
if (patch.contextWindowOverrides !== void 0) normalized.contextWindowOverrides = {
|
|
1116
1123
|
...this.scope.get().contextWindowOverrides,
|
|
1117
1124
|
...patch.contextWindowOverrides
|
|
@@ -2464,6 +2471,14 @@ function readPreferencesUpdate(value, current) {
|
|
|
2464
2471
|
if (!Number.isSafeInteger(value.subagentContextWindow) || value.subagentContextWindow < 1) throw new PreferenceError("subagentContextWindow must be a positive integer.");
|
|
2465
2472
|
patch.subagentContextWindow = value.subagentContextWindow;
|
|
2466
2473
|
}
|
|
2474
|
+
if ("subagentMaxDepth" in value) {
|
|
2475
|
+
if (!Number.isSafeInteger(value.subagentMaxDepth) || value.subagentMaxDepth < 0 || value.subagentMaxDepth > 3) throw new PreferenceError(`subagentMaxDepth must be an integer from 0 to 3.`);
|
|
2476
|
+
patch.subagentMaxDepth = value.subagentMaxDepth;
|
|
2477
|
+
}
|
|
2478
|
+
if ("subagentMaxAgents" in value) {
|
|
2479
|
+
if (!Number.isSafeInteger(value.subagentMaxAgents) || value.subagentMaxAgents < 1) throw new PreferenceError("subagentMaxAgents must be a positive integer.");
|
|
2480
|
+
patch.subagentMaxAgents = value.subagentMaxAgents;
|
|
2481
|
+
}
|
|
2467
2482
|
if ("contextWindowOverrides" in value) {
|
|
2468
2483
|
if (!isRecord(value.contextWindowOverrides)) throw new PreferenceError("contextWindowOverrides must be an object.");
|
|
2469
2484
|
const overrides = {};
|
|
@@ -2918,24 +2933,99 @@ function currentConfig(entry) {
|
|
|
2918
2933
|
}
|
|
2919
2934
|
//#endregion
|
|
2920
2935
|
//#region src/host/subagent-model-preference.ts
|
|
2921
|
-
/**
|
|
2922
|
-
* Apply the configured provider/model/reasoning route to in-process delegated agents
|
|
2923
|
-
* only when their inherited parent route uses the ChatGPT subscription provider.
|
|
2924
|
-
*/
|
|
2936
|
+
/** Apply the configured provider/model/reasoning route to every delegated Agent. */
|
|
2925
2937
|
function installSubagentModelPreference(ctx, preferences) {
|
|
2926
2938
|
return ctx.on("agent/request", async (payload, next) => {
|
|
2927
2939
|
const resolved = await next();
|
|
2928
|
-
if (payload.agent.session.header.origin !== "subagent"
|
|
2940
|
+
if (payload.agent.session.header.origin !== "subagent") return resolved;
|
|
2929
2941
|
const selection = preferences.status();
|
|
2930
2942
|
return {
|
|
2931
2943
|
...resolved,
|
|
2932
2944
|
provider: SubagentContextAdapter.provider,
|
|
2933
2945
|
model: selection.subagentModel,
|
|
2934
|
-
...selection.subagentReasoningEffort === null ? {} : { reasoningEffort: ReasoningEffortId(selection.subagentReasoningEffort) }
|
|
2946
|
+
...selection.subagentReasoningEffort === null ? { reasoningEffort: void 0 } : { reasoningEffort: ReasoningEffortId(selection.subagentReasoningEffort) }
|
|
2935
2947
|
};
|
|
2936
2948
|
});
|
|
2937
2949
|
}
|
|
2938
2950
|
//#endregion
|
|
2951
|
+
//#region src/host/subagent-policy.ts
|
|
2952
|
+
const MANAGED_DELEGATION_TOOLS = /* @__PURE__ */ new Set(["subagent", "subagent_fork"]);
|
|
2953
|
+
/**
|
|
2954
|
+
* Enforce global limits with a user-facing preflight on built-in delegation
|
|
2955
|
+
* tools and an authoritative synchronous Agent-publication gate. The latter
|
|
2956
|
+
* also covers workflows, Ralph, and nested subagents without depending on the
|
|
2957
|
+
* parent's provider or model. Throwing from `agent/created` vetoes and rolls
|
|
2958
|
+
* back the new child before its loop starts; already-running children remain.
|
|
2959
|
+
*/
|
|
2960
|
+
function installSubagentPolicy(ctx, preferences) {
|
|
2961
|
+
const disposePreflight = ctx.on("tools/pre-execute", async (exec, next) => {
|
|
2962
|
+
const parent = exec.agent;
|
|
2963
|
+
if (parent === void 0 || !MANAGED_DELEGATION_TOOLS.has(exec.name)) return next();
|
|
2964
|
+
const { subagentMaxDepth, subagentMaxAgents } = preferences.status();
|
|
2965
|
+
const attemptedDepth = delegationDepthOf(parent) + 1;
|
|
2966
|
+
if (attemptedDepth > subagentMaxDepth) return {
|
|
2967
|
+
kind: "deny",
|
|
2968
|
+
reason: `Subagent nesting depth limit reached: attempted depth ${attemptedDepth}, configured maximum ${subagentMaxDepth}.`
|
|
2969
|
+
};
|
|
2970
|
+
const activeAgents = activeDescendantCount(ctx, subagentTreeRoot(ctx, parent).id);
|
|
2971
|
+
if (activeAgents >= subagentMaxAgents) return {
|
|
2972
|
+
kind: "deny",
|
|
2973
|
+
reason: `Subagent limit reached: ${activeAgents} active descendants in the Agent tree, configured maximum ${subagentMaxAgents}. Wait for one to finish or raise the global limit in Subagents settings.`
|
|
2974
|
+
};
|
|
2975
|
+
return next();
|
|
2976
|
+
});
|
|
2977
|
+
const disposePublicationGate = ctx.on("agent/created", ({ agent }) => {
|
|
2978
|
+
if (agent.session.header.origin !== "subagent") return;
|
|
2979
|
+
const { subagentMaxDepth, subagentMaxAgents } = preferences.status();
|
|
2980
|
+
const depth = delegationDepthOf(agent);
|
|
2981
|
+
if (depth > subagentMaxDepth) throw new Error(`Subagent nesting depth limit reached: attempted depth ${depth}, configured maximum ${subagentMaxDepth}.`);
|
|
2982
|
+
const activeAgents = activeDescendantCount(ctx, subagentTreeRoot(ctx, agent).id);
|
|
2983
|
+
if (activeAgents > subagentMaxAgents) throw new Error(`Subagent limit reached: attempted ${activeAgents} active descendants in the Agent tree, configured maximum ${subagentMaxAgents}. Wait for one to finish or raise the global limit in Subagents settings.`);
|
|
2984
|
+
});
|
|
2985
|
+
return () => {
|
|
2986
|
+
disposePublicationGate();
|
|
2987
|
+
disposePreflight();
|
|
2988
|
+
};
|
|
2989
|
+
}
|
|
2990
|
+
/** Return the highest currently live ancestor that owns this subagent tree. */
|
|
2991
|
+
function subagentTreeRoot(ctx, agent) {
|
|
2992
|
+
let current = agent;
|
|
2993
|
+
const visited = /* @__PURE__ */ new Set([agent.id]);
|
|
2994
|
+
while (current.session.header.origin === "subagent") {
|
|
2995
|
+
const parentId = current.session.header.parentSession;
|
|
2996
|
+
if (parentId === void 0 || visited.has(parentId)) break;
|
|
2997
|
+
const parent = ctx.agents.get(parentId);
|
|
2998
|
+
if (parent === void 0) break;
|
|
2999
|
+
visited.add(parent.id);
|
|
3000
|
+
current = parent;
|
|
3001
|
+
}
|
|
3002
|
+
return current;
|
|
3003
|
+
}
|
|
3004
|
+
/** Return currently live descendants in one caller's subagent tree. */
|
|
3005
|
+
function activeDescendantIds(ctx, parentId) {
|
|
3006
|
+
const childrenByParent = /* @__PURE__ */ new Map();
|
|
3007
|
+
for (const agent of ctx.agents.list()) {
|
|
3008
|
+
if (agent.session.header.origin !== "subagent") continue;
|
|
3009
|
+
const directParent = agent.session.header.parentSession;
|
|
3010
|
+
if (directParent === void 0) continue;
|
|
3011
|
+
const children = childrenByParent.get(directParent) ?? [];
|
|
3012
|
+
children.push(agent.id);
|
|
3013
|
+
childrenByParent.set(directParent, children);
|
|
3014
|
+
}
|
|
3015
|
+
const descendants = /* @__PURE__ */ new Set();
|
|
3016
|
+
const pending = [...childrenByParent.get(parentId) ?? []];
|
|
3017
|
+
while (pending.length > 0) {
|
|
3018
|
+
const id = pending.pop();
|
|
3019
|
+
if (descendants.has(id)) continue;
|
|
3020
|
+
descendants.add(id);
|
|
3021
|
+
pending.push(...childrenByParent.get(id) ?? []);
|
|
3022
|
+
}
|
|
3023
|
+
return descendants;
|
|
3024
|
+
}
|
|
3025
|
+
function activeDescendantCount(ctx, parentId) {
|
|
3026
|
+
return activeDescendantIds(ctx, parentId).size;
|
|
3027
|
+
}
|
|
3028
|
+
//#endregion
|
|
2939
3029
|
//#region src/index.ts
|
|
2940
3030
|
const inject = [
|
|
2941
3031
|
"webServer",
|
|
@@ -2944,7 +3034,8 @@ const inject = [
|
|
|
2944
3034
|
"tools",
|
|
2945
3035
|
"web",
|
|
2946
3036
|
"settings",
|
|
2947
|
-
"loader"
|
|
3037
|
+
"loader",
|
|
3038
|
+
"agents"
|
|
2948
3039
|
];
|
|
2949
3040
|
function apply(ctx) {
|
|
2950
3041
|
const oauth = new OAuthService(createPlatformTokenStore(), { logger: ctx.logger });
|
|
@@ -2973,12 +3064,14 @@ function apply(ctx) {
|
|
|
2973
3064
|
});
|
|
2974
3065
|
const disposeSubagentContextAdapter = ctx.llm.registerAdapter([SubagentContextAdapter.provider], subagentContextAdapter);
|
|
2975
3066
|
const disposeSubagentModelPreference = installSubagentModelPreference(ctx, preferences);
|
|
3067
|
+
const disposeSubagentPolicy = installSubagentPolicy(ctx, preferences);
|
|
2976
3068
|
const disposeImageTool = ctx.tools.register(createCodexImageTool(oauth, ctx.attachments));
|
|
2977
3069
|
const disposeSearchProvider = ctx.web.registerSearchProvider(createCodexSearchProvider(oauth));
|
|
2978
3070
|
const disposePreferenceWatch = preferences.watch((next) => applySearchPreference(next.searchProvider));
|
|
2979
3071
|
applySearchPreference();
|
|
2980
3072
|
return () => {
|
|
2981
3073
|
disposePreferenceWatch();
|
|
3074
|
+
disposeSubagentPolicy();
|
|
2982
3075
|
disposeSubagentModelPreference();
|
|
2983
3076
|
disposeSearchProvider();
|
|
2984
3077
|
disposeImageTool();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodexSubscriptionSection.d.ts","sourceRoot":"","sources":["../../../src/client/CodexSubscriptionSection.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AACjF,OAAO,KAAK,EAAE,oBAAoB,EAAmC,cAAc,
|
|
1
|
+
{"version":3,"file":"CodexSubscriptionSection.d.ts","sourceRoot":"","sources":["../../../src/client/CodexSubscriptionSection.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AACjF,OAAO,KAAK,EAAE,oBAAoB,EAAmC,cAAc,EAAoC,MAAM,wBAAwB,CAAA;AAGrJ,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAA;AAGjC,KAAK,KAAK,GAAG,YAAY,CAAC,kBAAkB,CAAC,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC,CAAA;AAEtE,KAAK,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAA;AAE3B,wBAAgB,wBAAwB,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAgRxE;AAiBD,wBAAgB,YAAY,CAAC,OAAO,EAAE,oBAAoB,GAAG,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,MAAM,CAO5F;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,MAAM,CAO7F;AAcD,wBAAgB,QAAQ,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,cAAc,CAAC;IAAC,CAAC,EAAE,SAAS,CAAA;CAAE,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAczH;AAMD,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,EAAE,CAAC,EAAE,SAAS,GAAG,MAAM,CAQxE;AAcD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAOlE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAG1D;AA0BD,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAUnD"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { PropsLocale, PropsRuntime } from '@deepseek-ai/dsh-client-ui-slots';
|
|
2
|
+
import { NS } from './locales.ts';
|
|
3
|
+
type Props = PropsRuntime<'settings.section'> & PropsLocale<typeof NS>;
|
|
4
|
+
export declare function SubagentSettingsSection({ t }: Props): React.JSX.Element;
|
|
5
|
+
export declare function parseNonNegativeInteger(value: string): number | null;
|
|
6
|
+
export declare function parsePositiveInteger(value: string): number | null;
|
|
7
|
+
export declare function parseCapacity(value: string): number | null;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=SubagentSettingsSection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SubagentSettingsSection.d.ts","sourceRoot":"","sources":["../../../src/client/SubagentSettingsSection.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAIjF,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAA;AAEjC,KAAK,KAAK,GAAG,YAAY,CAAC,kBAAkB,CAAC,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC,CAAA;AAEtE,wBAAgB,uBAAuB,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAmJvE;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAIpE;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGjE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAM1D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAA;AAc3E,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAA;AAG/D,OAAO,QAAQ,kCAAkC,CAAC;IAChD,UAAU,kBAAkB;QAC1B,0BAA0B,EAAE,SAAS,CAAA;KACtC;CACF;AAED,eAAO,MAAM,MAAM,UAA0D,CAAA;AAE7E,wBAAgB,KAAK,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CA0C9C"}
|
|
@@ -38,6 +38,18 @@ export declare const zh: {
|
|
|
38
38
|
readonly latency: "最近延迟";
|
|
39
39
|
readonly models: "可用模型";
|
|
40
40
|
readonly enhancements: "增强功能";
|
|
41
|
+
readonly subagentSettingsNav: "子代理";
|
|
42
|
+
readonly subagentSettingsTitle: "子代理设置";
|
|
43
|
+
readonly subagentSettingsIntro: "全局配置 DSH 内置子代理。模型、思考深度、上下文预算和运行限制适用于所有父 Agent,不受父 Agent 当前 Provider 或模型影响。";
|
|
44
|
+
readonly subagentModelGroup: "模型与上下文";
|
|
45
|
+
readonly subagentLimitsGroup: "运行限制";
|
|
46
|
+
readonly subagentMaxDepth: "最大嵌套深度";
|
|
47
|
+
readonly subagentMaxDepthHint: "限制从顶层 Agent 开始的子代理层级(0–3);0 禁止创建子代理,1 仅允许直接子代理。";
|
|
48
|
+
readonly subagentMaxAgents: "子代理数量上限";
|
|
49
|
+
readonly subagentMaxAgentsHint: "限制每个父 Agent 子树中同时处于活动或启动中的子代理总数。";
|
|
50
|
+
readonly subagentLimitsNotice: "限制会立即应用于新的委派,不会中断已经运行的子代理。数量上限统计当前父 Agent 的全部活动后代。";
|
|
51
|
+
readonly levels: "层";
|
|
52
|
+
readonly agents: "个";
|
|
41
53
|
readonly searchProvider: "搜索来源";
|
|
42
54
|
readonly searchProviderHint: "选择 DSH Web 搜索工具使用默认来源,或改用当前 ChatGPT 订阅的 Codex 搜索来源。";
|
|
43
55
|
readonly searchProviderDsh: "DSH 默认";
|
|
@@ -45,7 +57,7 @@ export declare const zh: {
|
|
|
45
57
|
readonly subagentProvider: "子代理 Provider";
|
|
46
58
|
readonly subagentProviderHint: "选择 DSH 当前已接入且可用的模型提供方。";
|
|
47
59
|
readonly subagentModel: "子代理模型";
|
|
48
|
-
readonly subagentModelHint: "
|
|
60
|
+
readonly subagentModelHint: "全局应用于所有 DSH 内置子代理;模型可来自任意已接入 Provider。";
|
|
49
61
|
readonly subagentReasoningEffort: "子代理思考深度";
|
|
50
62
|
readonly subagentReasoningEffortHint: "选项来自所选模型实际公开的 reasoning effort 能力。";
|
|
51
63
|
readonly providerDefault: "使用 Provider 默认值";
|
|
@@ -146,6 +158,18 @@ export declare const dictionaries: {
|
|
|
146
158
|
readonly latency: "最近延迟";
|
|
147
159
|
readonly models: "可用模型";
|
|
148
160
|
readonly enhancements: "增强功能";
|
|
161
|
+
readonly subagentSettingsNav: "子代理";
|
|
162
|
+
readonly subagentSettingsTitle: "子代理设置";
|
|
163
|
+
readonly subagentSettingsIntro: "全局配置 DSH 内置子代理。模型、思考深度、上下文预算和运行限制适用于所有父 Agent,不受父 Agent 当前 Provider 或模型影响。";
|
|
164
|
+
readonly subagentModelGroup: "模型与上下文";
|
|
165
|
+
readonly subagentLimitsGroup: "运行限制";
|
|
166
|
+
readonly subagentMaxDepth: "最大嵌套深度";
|
|
167
|
+
readonly subagentMaxDepthHint: "限制从顶层 Agent 开始的子代理层级(0–3);0 禁止创建子代理,1 仅允许直接子代理。";
|
|
168
|
+
readonly subagentMaxAgents: "子代理数量上限";
|
|
169
|
+
readonly subagentMaxAgentsHint: "限制每个父 Agent 子树中同时处于活动或启动中的子代理总数。";
|
|
170
|
+
readonly subagentLimitsNotice: "限制会立即应用于新的委派,不会中断已经运行的子代理。数量上限统计当前父 Agent 的全部活动后代。";
|
|
171
|
+
readonly levels: "层";
|
|
172
|
+
readonly agents: "个";
|
|
149
173
|
readonly searchProvider: "搜索来源";
|
|
150
174
|
readonly searchProviderHint: "选择 DSH Web 搜索工具使用默认来源,或改用当前 ChatGPT 订阅的 Codex 搜索来源。";
|
|
151
175
|
readonly searchProviderDsh: "DSH 默认";
|
|
@@ -153,7 +177,7 @@ export declare const dictionaries: {
|
|
|
153
177
|
readonly subagentProvider: "子代理 Provider";
|
|
154
178
|
readonly subagentProviderHint: "选择 DSH 当前已接入且可用的模型提供方。";
|
|
155
179
|
readonly subagentModel: "子代理模型";
|
|
156
|
-
readonly subagentModelHint: "
|
|
180
|
+
readonly subagentModelHint: "全局应用于所有 DSH 内置子代理;模型可来自任意已接入 Provider。";
|
|
157
181
|
readonly subagentReasoningEffort: "子代理思考深度";
|
|
158
182
|
readonly subagentReasoningEffortHint: "选项来自所选模型实际公开的 reasoning effort 能力。";
|
|
159
183
|
readonly providerDefault: "使用 Provider 默认值";
|
|
@@ -212,6 +236,6 @@ export declare const dictionaries: {
|
|
|
212
236
|
readonly retry: "重试";
|
|
213
237
|
readonly unknown: "未知";
|
|
214
238
|
};
|
|
215
|
-
en: Record<"
|
|
239
|
+
en: Record<"tokens" | "title" | "intro" | "account" | "signedOut" | "signedIn" | "plan" | "accountId" | "expires" | "storage" | "storageWindows" | "storageMacKeychain" | "storageLinuxFile" | "storageMemory" | "storageUnavailable" | "securityWindows" | "securityMacKeychain" | "securityLinuxFile" | "securityMemory" | "securityUnavailable" | "signIn" | "signInAgain" | "cancel" | "signOut" | "refreshToken" | "pending" | "popupBlocked" | "continueLogin" | "loading" | "connection" | "provider" | "connectionState" | "connected" | "untested" | "testConnection" | "testing" | "latency" | "models" | "enhancements" | "subagentSettingsNav" | "subagentSettingsTitle" | "subagentSettingsIntro" | "subagentModelGroup" | "subagentLimitsGroup" | "subagentMaxDepth" | "subagentMaxDepthHint" | "subagentMaxAgents" | "subagentMaxAgentsHint" | "subagentLimitsNotice" | "levels" | "agents" | "searchProvider" | "searchProviderHint" | "searchProviderDsh" | "searchProviderCodex" | "subagentProvider" | "subagentProviderHint" | "subagentModel" | "subagentModelHint" | "subagentReasoningEffort" | "subagentReasoningEffortHint" | "providerDefault" | "effectiveContextWindow" | "selectedModelContextHint" | "reasoningNone" | "reasoningLow" | "reasoningMedium" | "reasoningHigh" | "reasoningXhigh" | "reasoningMax" | "contextWindows" | "contextWindowsHint" | "contextWindow" | "contextWindowInvalid" | "saveContextWindow" | "save" | "quickQuota" | "quickQuotaHint" | "quota" | "quotaIntro" | "refreshQuota" | "refreshing" | "noQuota" | "quotaSignedOut" | "stale" | "updated" | "primary" | "secondary" | "limitWindow" | "used" | "remaining" | "available" | "unavailable" | "unlimited" | "credits" | "monthlySpend" | "resetCredits" | "spendControlReached" | "limit" | "exhausted" | "resets" | "quickQuotaLabel" | "quickQuotaLoading" | "imageToolRunning" | "imageToolDone" | "imageToolFailed" | "image" | "openImage" | "openNamedImage" | "imageLoading" | "imageLoadFailed" | "imagePreviewClose" | "imagePreviewOpenOriginal" | "retry" | "unknown", string>;
|
|
216
240
|
};
|
|
217
241
|
//# sourceMappingURL=locales.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"locales.d.ts","sourceRoot":"","sources":["../../../src/client/locales.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,EAAE,EAAG,0BAAmC,CAAA;AAErD,eAAO,MAAM,EAAE
|
|
1
|
+
{"version":3,"file":"locales.d.ts","sourceRoot":"","sources":["../../../src/client/locales.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,EAAE,EAAG,0BAAmC,CAAA;AAErD,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoHL,CAAA;AAEV,eAAO,MAAM,EAAE,EAAE,MAAM,CAAC,MAAM,OAAO,EAAE,EAAE,MAAM,CAoH9C,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,EAAE,CAAA;AACvC,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAa,CAAA"}
|
|
@@ -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":"AA2FA,wBAAgB,aAAa,IAAI,MAAM,IAAI,CAQ1C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preferences.d.ts","sourceRoot":"","sources":["../../../src/host/preferences.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,gBAAgB,EAAsB,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"preferences.d.ts","sourceRoot":"","sources":["../../../src/host/preferences.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,gBAAgB,EAAsB,MAAM,2BAA2B,CAAA;AAWxG,OAAO,KAAK,EACV,0BAA0B,EAC1B,gCAAgC,EACjC,MAAM,wBAAwB,CAAA;AAE/B,MAAM,WAAW,2BAA2B;IAC1C,MAAM,IAAI,0BAA0B,CAAA;IACpC,MAAM,CAAC,KAAK,EAAE,gCAAgC,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAA;IACpF,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,CAAA;CAC1H;AAID,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,2BAA2B,CAoB/F;AAqCD,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,OAAO,EAAE,MAAM;CAG5B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../src/host/routes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../src/host/routes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAMlD,OAAO,EAAE,YAAY,EAAe,MAAM,oBAAoB,CAAA;AAC9D,OAAO,EAAmB,KAAK,2BAA2B,EAAE,MAAM,kBAAkB,CAAA;AACpF,OAAO,EAAE,YAAY,EAAqB,MAAM,oBAAoB,CAAA;AAKpE,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,2BAA2B,GAAG,MAAM,IAAI,CAmJ3I"}
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
import type { Context } from '@deepseek-ai/cordis';
|
|
2
2
|
import type { SubscriptionPreferenceStore } from './preferences.ts';
|
|
3
|
-
/**
|
|
4
|
-
* Apply the configured provider/model/reasoning route to in-process delegated agents
|
|
5
|
-
* only when their inherited parent route uses the ChatGPT subscription provider.
|
|
6
|
-
*/
|
|
3
|
+
/** Apply the configured provider/model/reasoning route to every delegated Agent. */
|
|
7
4
|
export declare function installSubagentModelPreference(ctx: Context, preferences: SubscriptionPreferenceStore): () => void;
|
|
8
5
|
//# sourceMappingURL=subagent-model-preference.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subagent-model-preference.d.ts","sourceRoot":"","sources":["../../../src/host/subagent-model-preference.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAGlD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAA;AAGnE
|
|
1
|
+
{"version":3,"file":"subagent-model-preference.d.ts","sourceRoot":"","sources":["../../../src/host/subagent-model-preference.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAGlD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAA;AAGnE,oFAAoF;AACpF,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,2BAA2B,GAAG,MAAM,IAAI,CAYjH"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { Context } from '@deepseek-ai/cordis';
|
|
2
|
+
import type { Agent } from '@deepseek-ai/dsh-agent';
|
|
3
|
+
import type { SubscriptionPreferenceStore } from './preferences.ts';
|
|
4
|
+
/**
|
|
5
|
+
* Enforce global limits with a user-facing preflight on built-in delegation
|
|
6
|
+
* tools and an authoritative synchronous Agent-publication gate. The latter
|
|
7
|
+
* also covers workflows, Ralph, and nested subagents without depending on the
|
|
8
|
+
* parent's provider or model. Throwing from `agent/created` vetoes and rolls
|
|
9
|
+
* back the new child before its loop starts; already-running children remain.
|
|
10
|
+
*/
|
|
11
|
+
export declare function installSubagentPolicy(ctx: Context, preferences: SubscriptionPreferenceStore): () => void;
|
|
12
|
+
/** Return the highest currently live ancestor that owns this subagent tree. */
|
|
13
|
+
export declare function subagentTreeRoot(ctx: Pick<Context, 'agents'>, agent: Agent): Agent;
|
|
14
|
+
/** Return currently live descendants in one caller's subagent tree. */
|
|
15
|
+
export declare function activeDescendantIds(ctx: Pick<Context, 'agents'>, parentId: string): Set<string>;
|
|
16
|
+
export declare function activeDescendantCount(ctx: Pick<Context, 'agents'>, parentId: string): number;
|
|
17
|
+
//# sourceMappingURL=subagent-policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subagent-policy.d.ts","sourceRoot":"","sources":["../../../src/host/subagent-policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AACnD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAA;AAInE;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,2BAA2B,GAAG,MAAM,IAAI,CAqCxG;AAED,+EAA+E;AAC/E,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,CAYlF;AAED,uEAAuE;AACvE,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAoB/F;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE5F"}
|
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;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAuBlD,eAAO,MAAM,MAAM,UAAsF,CAAA;AAEzG,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CA0CxC;AAED,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAA;AAClE,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"}
|
|
@@ -63,6 +63,8 @@ export interface SubscriptionPreferencesDto {
|
|
|
63
63
|
subagentModel: string;
|
|
64
64
|
subagentReasoningEffort: string | null;
|
|
65
65
|
subagentContextWindow: number;
|
|
66
|
+
subagentMaxDepth: number;
|
|
67
|
+
subagentMaxAgents: number;
|
|
66
68
|
contextWindowOverrides: CodexContextWindowOverridesDto;
|
|
67
69
|
writable: boolean;
|
|
68
70
|
}
|
|
@@ -73,6 +75,8 @@ export interface SubscriptionPreferencesUpdateDto {
|
|
|
73
75
|
subagentModel?: string;
|
|
74
76
|
subagentReasoningEffort?: string | null;
|
|
75
77
|
subagentContextWindow?: number;
|
|
78
|
+
subagentMaxDepth?: number;
|
|
79
|
+
subagentMaxAgents?: number;
|
|
76
80
|
contextWindowOverrides?: Partial<CodexContextWindowOverridesDto>;
|
|
77
81
|
}
|
|
78
82
|
export interface QuotaWindowDto {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../../src/shared/contracts.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../../src/shared/contracts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { SearchProviderPreference, SubscriptionPreferencesDto } from './contracts.ts';
|
|
2
2
|
export declare const PREFERENCES_NAMESPACE = "dsh-chatgpt-subscription";
|
|
3
|
+
export declare const SUBAGENT_MAX_DEPTH_LIMIT = 3;
|
|
3
4
|
export declare const DEFAULT_PREFERENCES: Omit<SubscriptionPreferencesDto, 'writable'>;
|
|
4
5
|
export declare const SEARCH_PROVIDER_DSH: SearchProviderPreference;
|
|
5
6
|
export declare const SEARCH_PROVIDER_CODEX: SearchProviderPreference;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preferences.d.ts","sourceRoot":"","sources":["../../../src/shared/preferences.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAA;AAE1F,eAAO,MAAM,qBAAqB,6BAA6B,CAAA;
|
|
1
|
+
{"version":3,"file":"preferences.d.ts","sourceRoot":"","sources":["../../../src/shared/preferences.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAA;AAE1F,eAAO,MAAM,qBAAqB,6BAA6B,CAAA;AAC/D,eAAO,MAAM,wBAAwB,IAAI,CAAA;AAEzC,eAAO,MAAM,mBAAmB,EAAE,IAAI,CAAC,0BAA0B,EAAE,UAAU,CAc5E,CAAA;AAED,eAAO,MAAM,mBAAmB,EAAE,wBAAgC,CAAA;AAClE,eAAO,MAAM,qBAAqB,EAAE,wBAAkC,CAAA;AAEtE,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,wBAAwB,CAE5F"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eddyskywalker/dsh-chatgpt-subscription",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.19",
|
|
4
4
|
"description": "DSH provider plugin for Codex access through a ChatGPT subscription.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "eddyskywalker",
|
|
@@ -74,6 +74,7 @@
|
|
|
74
74
|
"@deepseek-ai/dsh-host-webserver": "^0.1.0-rc.8",
|
|
75
75
|
"@deepseek-ai/dsh-llm": "^0.1.0-rc.8",
|
|
76
76
|
"@deepseek-ai/dsh-settings": "^0.1.0-rc.8",
|
|
77
|
+
"@deepseek-ai/dsh-subagent": "^0.1.0-rc.8",
|
|
77
78
|
"@deepseek-ai/dsh-tools": "^0.1.0-rc.8",
|
|
78
79
|
"@deepseek-ai/dsh-web": "^0.1.0-rc.8",
|
|
79
80
|
"@deepseek-ai/schemastery": "^3.18.1",
|
|
@@ -95,6 +96,7 @@
|
|
|
95
96
|
"@deepseek-ai/dsh-host-webserver": "^0.1.0-rc.8",
|
|
96
97
|
"@deepseek-ai/dsh-llm": "^0.1.0-rc.8",
|
|
97
98
|
"@deepseek-ai/dsh-settings": "^0.1.0-rc.8",
|
|
99
|
+
"@deepseek-ai/dsh-subagent": "^0.1.0-rc.8",
|
|
98
100
|
"@deepseek-ai/dsh-tools": "^0.1.0-rc.8",
|
|
99
101
|
"@deepseek-ai/dsh-web": "^0.1.0-rc.8",
|
|
100
102
|
"@deepseek-ai/schemastery": "^3.18.1",
|