@bubblebrain-ai/bubble 0.0.34 → 0.0.35
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/dist/agent/abort-errors.d.ts +2 -2
- package/dist/agent/budget-ledger.d.ts +4 -45
- package/dist/agent/budget-ledger.js +5 -75
- package/dist/agent/child-runner.d.ts +1 -3
- package/dist/agent/child-runner.js +6 -37
- package/dist/agent/profiles.d.ts +0 -2
- package/dist/agent/profiles.js +0 -3
- package/dist/agent/subagent-control.d.ts +5 -12
- package/dist/agent/subagent-control.js +0 -2
- package/dist/agent/subagent-store.d.ts +1 -1
- package/dist/agent/subagent-store.js +1 -3
- package/dist/agent/workflow/control.d.ts +7 -0
- package/dist/agent/workflow/control.js +22 -1
- package/dist/agent/workflow/runtime.d.ts +15 -2
- package/dist/agent/workflow/runtime.js +112 -30
- package/dist/agent.d.ts +7 -43
- package/dist/agent.js +47 -171
- package/dist/config.d.ts +1 -3
- package/dist/config.js +6 -5
- package/dist/main.js +9 -1
- package/dist/model-catalog.js +8 -14
- package/dist/orchestrator/default-hooks.js +7 -1
- package/dist/prompt/delegation.d.ts +1 -1
- package/dist/prompt/delegation.js +21 -7
- package/dist/prompt/task-reminders.d.ts +1 -0
- package/dist/prompt/task-reminders.js +24 -1
- package/dist/provider-transform.d.ts +1 -1
- package/dist/provider-transform.js +8 -13
- package/dist/tools/agent-lifecycle.d.ts +1 -9
- package/dist/tools/agent-lifecycle.js +35 -263
- package/dist/tui-ink/app.js +25 -12
- package/dist/tui-ink/approval/approval-dialog.js +1 -1
- package/dist/tui-ink/approval/diff-view.js +4 -4
- package/dist/tui-ink/approval/select.js +2 -2
- package/dist/tui-ink/feedback-dialog.js +2 -2
- package/dist/tui-ink/feishu-setup-picker.js +3 -3
- package/dist/tui-ink/input-box.d.ts +1 -6
- package/dist/tui-ink/input-box.js +14 -35
- package/dist/tui-ink/markdown.js +11 -9
- package/dist/tui-ink/message-list.d.ts +5 -1
- package/dist/tui-ink/message-list.js +15 -2
- package/dist/tui-ink/model-picker.js +19 -13
- package/dist/tui-ink/plan-confirm.js +1 -1
- package/dist/tui-ink/subagent-view.d.ts +3 -1
- package/dist/tui-ink/theme.d.ts +19 -2
- package/dist/tui-ink/theme.js +25 -8
- package/dist/tui-ink/welcome.d.ts +3 -2
- package/dist/tui-ink/welcome.js +10 -6
- package/dist/types.d.ts +3 -26
- package/dist/variant/variant-resolver.d.ts +13 -0
- package/dist/variant/variant-resolver.js +26 -0
- package/package.json +5 -2
package/dist/main.js
CHANGED
|
@@ -235,12 +235,20 @@ async function main() {
|
|
|
235
235
|
const pickerThemeMode = effectiveThemeModeForTerminal(themeConfig, preResolvedTheme);
|
|
236
236
|
const pickerResolvedTheme = pickerThemeMode === "auto" ? preResolvedTheme : pickerThemeMode;
|
|
237
237
|
const { runSessionPicker } = await import("./tui-ink/run-session-picker.js");
|
|
238
|
+
const { canvasBackgroundFor } = await import("./tui-ink/theme.js");
|
|
239
|
+
// Same rule as the main TUI: a forced theme mismatching the terminal
|
|
240
|
+
// paints its canvas so its foregrounds stay readable.
|
|
241
|
+
const pickerCanvas = themeConfig.overrides?.background
|
|
242
|
+
? undefined
|
|
243
|
+
: canvasBackgroundFor(pickerThemeMode, pickerResolvedTheme, preResolvedTheme);
|
|
238
244
|
const picked = await runSessionPicker({
|
|
239
245
|
currentCwd: args.cwd,
|
|
240
246
|
currentSessions,
|
|
241
247
|
allSessions,
|
|
242
248
|
resolvedTheme: pickerResolvedTheme,
|
|
243
|
-
themeOverrides:
|
|
249
|
+
themeOverrides: pickerCanvas
|
|
250
|
+
? { ...themeConfig.overrides, background: pickerCanvas }
|
|
251
|
+
: themeConfig.overrides,
|
|
244
252
|
});
|
|
245
253
|
if (picked) {
|
|
246
254
|
sessionManager = new SessionManager(picked);
|
package/dist/model-catalog.js
CHANGED
|
@@ -30,6 +30,8 @@ const GPT51_LEVELS = ["off", "low", "medium", "high"];
|
|
|
30
30
|
const GPT51_CODEX_MAX_LEVELS = ["off", "low", "medium", "high", "xhigh"];
|
|
31
31
|
const GPT51_CODEX_MINI_LEVELS = ["off", "medium", "high"];
|
|
32
32
|
const OPENAI_CHAT_LEVELS = ["off"];
|
|
33
|
+
// Internal representation for APIs that expose thinking as enabled/disabled.
|
|
34
|
+
// UI code must render supported toggle models as on/off, not as "medium" effort.
|
|
33
35
|
const TOGGLE_THINKING_LEVELS = ["off", "medium"];
|
|
34
36
|
// GLM-5.2 is the first GLM to accept OpenAI-style `reasoning_effort`. The API
|
|
35
37
|
// enum is none/minimal/low/medium/high/xhigh/max; we expose high and max (the
|
|
@@ -38,8 +40,8 @@ const TOGGLE_THINKING_LEVELS = ["off", "medium"];
|
|
|
38
40
|
// is first so it is the default (getDefaultThinkingLevel falls back to levels[0]
|
|
39
41
|
// when "medium" is absent), since GLM-5.2 is a thinking-on-by-default model.
|
|
40
42
|
const GLM_5_2_LEVELS = ["high", "max", "off"];
|
|
41
|
-
//
|
|
42
|
-
// not offered — the model is always in its thinking variant.
|
|
43
|
+
// Kimi K2.7 Code variants only support thinking mode (disabling it errors), so
|
|
44
|
+
// "off" is not offered — the model is always in its thinking variant.
|
|
43
45
|
const KIMI_THINKING_ONLY_LEVELS = ["medium"];
|
|
44
46
|
const DEEPSEEK_V4_LEVELS = ["high", "max"];
|
|
45
47
|
const STEPFUN_REASONING_LEVELS = ["off", "low", "medium", "high"];
|
|
@@ -119,25 +121,17 @@ export const BUILTIN_MODELS = [
|
|
|
119
121
|
{ id: "step-3.5-flash", name: "Step 3.5 Flash", providerId: "stepfun", reasoningLevels: STEPFUN_REASONING_LEVELS },
|
|
120
122
|
{ id: "step-router-v1", name: "Step Router V1", providerId: "stepfun", reasoningLevels: STEPFUN_REASONING_LEVELS },
|
|
121
123
|
{ id: "kimi-k2.7-code", name: "Kimi K2.7 Code", providerId: "moonshot-cn", reasoningLevels: KIMI_THINKING_ONLY_LEVELS, contextWindow: 262144 },
|
|
124
|
+
{ id: "kimi-k2.7-code-highspeed", name: "Kimi K2.7 Code Highspeed", providerId: "moonshot-cn", reasoningLevels: KIMI_THINKING_ONLY_LEVELS, contextWindow: 262144 },
|
|
122
125
|
{ id: "kimi-k2.6", name: "Kimi K2.6", providerId: "moonshot-cn", reasoningLevels: TOGGLE_THINKING_LEVELS, contextWindow: 256000 },
|
|
123
|
-
{ id: "k2.6-code-preview", name: "Kimi K2.6 Code Preview", providerId: "moonshot-cn", reasoningLevels: TOGGLE_THINKING_LEVELS, contextWindow: 256000 },
|
|
124
126
|
{ id: "kimi-k2.5", name: "Kimi K2.5", providerId: "moonshot-cn", reasoningLevels: TOGGLE_THINKING_LEVELS, contextWindow: 256000 },
|
|
125
|
-
{ id: "kimi-k2-turbo-preview", name: "Kimi K2 Turbo", providerId: "moonshot-cn", reasoningLevels: ["off"], contextWindow: 256000 },
|
|
126
|
-
{ id: "kimi-k2-0905-preview", name: "Kimi K2 0905", providerId: "moonshot-cn", reasoningLevels: ["off"], contextWindow: 256000 },
|
|
127
|
-
{ id: "kimi-k2-thinking", name: "Kimi K2 Thinking", providerId: "moonshot-cn", reasoningLevels: TOGGLE_THINKING_LEVELS, contextWindow: 256000 },
|
|
128
127
|
{ id: "kimi-k2.7-code", name: "Kimi K2.7 Code", providerId: "moonshot-intl", reasoningLevels: KIMI_THINKING_ONLY_LEVELS, contextWindow: 262144 },
|
|
128
|
+
{ id: "kimi-k2.7-code-highspeed", name: "Kimi K2.7 Code Highspeed", providerId: "moonshot-intl", reasoningLevels: KIMI_THINKING_ONLY_LEVELS, contextWindow: 262144 },
|
|
129
129
|
{ id: "kimi-k2.6", name: "Kimi K2.6", providerId: "moonshot-intl", reasoningLevels: TOGGLE_THINKING_LEVELS, contextWindow: 256000 },
|
|
130
|
-
{ id: "k2.6-code-preview", name: "Kimi K2.6 Code Preview", providerId: "moonshot-intl", reasoningLevels: TOGGLE_THINKING_LEVELS, contextWindow: 256000 },
|
|
131
130
|
{ id: "kimi-k2.5", name: "Kimi K2.5", providerId: "moonshot-intl", reasoningLevels: TOGGLE_THINKING_LEVELS, contextWindow: 256000 },
|
|
132
|
-
{ id: "kimi-k2-turbo-preview", name: "Kimi K2 Turbo", providerId: "moonshot-intl", reasoningLevels: ["off"], contextWindow: 256000 },
|
|
133
|
-
{ id: "kimi-k2-0905-preview", name: "Kimi K2 0905", providerId: "moonshot-intl", reasoningLevels: ["off"], contextWindow: 256000 },
|
|
134
|
-
{ id: "kimi-k2-thinking", name: "Kimi K2 Thinking", providerId: "moonshot-intl", reasoningLevels: TOGGLE_THINKING_LEVELS, contextWindow: 256000 },
|
|
135
131
|
{ id: "kimi-k2.7-code", name: "Kimi K2.7 Code", providerId: "kimi-for-coding", reasoningLevels: KIMI_THINKING_ONLY_LEVELS, contextWindow: 262144 },
|
|
132
|
+
{ id: "kimi-k2.7-code-highspeed", name: "Kimi K2.7 Code Highspeed", providerId: "kimi-for-coding", reasoningLevels: KIMI_THINKING_ONLY_LEVELS, contextWindow: 262144 },
|
|
136
133
|
{ id: "kimi-k2.6", name: "Kimi K2.6", providerId: "kimi-for-coding", reasoningLevels: TOGGLE_THINKING_LEVELS, contextWindow: 256000 },
|
|
137
|
-
{ id: "k2.
|
|
138
|
-
{ id: "kimi-k2-turbo-preview", name: "Kimi K2 Turbo", providerId: "kimi-for-coding", reasoningLevels: ["off"], contextWindow: 256000 },
|
|
139
|
-
{ id: "kimi-k2-0905-preview", name: "Kimi K2 0905", providerId: "kimi-for-coding", reasoningLevels: ["off"], contextWindow: 256000 },
|
|
140
|
-
{ id: "kimi-k2-thinking", name: "Kimi K2 Thinking", providerId: "kimi-for-coding", reasoningLevels: TOGGLE_THINKING_LEVELS, contextWindow: 256000 },
|
|
134
|
+
{ id: "kimi-k2.5", name: "Kimi K2.5", providerId: "kimi-for-coding", reasoningLevels: TOGGLE_THINKING_LEVELS, contextWindow: 256000 },
|
|
141
135
|
{ id: "llama-3.3-70b-versatile", name: "llama-3.3-70b-versatile", providerId: "groq", reasoningLevels: ["off"], contextWindow: 32768 },
|
|
142
136
|
{ id: "mixtral-8x7b-32768", name: "mixtral-8x7b-32768", providerId: "groq", reasoningLevels: ["off"], contextWindow: 32768 },
|
|
143
137
|
{ id: "gemma-2-9b-it", name: "gemma-2-9b-it", providerId: "groq", reasoningLevels: ["off"], contextWindow: 32768 },
|
|
@@ -5,7 +5,7 @@ import { ExecutionGovernor } from "../agent/execution-governor.js";
|
|
|
5
5
|
import { DiscoveryBarrier } from "../agent/discovery-barrier.js";
|
|
6
6
|
import { arbitrateToolCall } from "../agent/tool-arbiter.js";
|
|
7
7
|
import { buildEditRetryEscalationReminder, buildSmallTaskHint, buildTaskSummaryReminder, buildWorkflowPhaseReminder, } from "../prompt/reminders.js";
|
|
8
|
-
import { reminderForTaskType } from "../prompt/task-reminders.js";
|
|
8
|
+
import { orchestrationRequestReminder, reminderForTaskType } from "../prompt/task-reminders.js";
|
|
9
9
|
import { formatCoverageSummary, resolveWorkflowPhase } from "./workflow.js";
|
|
10
10
|
import { buildSubagentLifecycleReminder } from "../agent/subagent-lifecycle-reminder.js";
|
|
11
11
|
export function createDefaultHooks() {
|
|
@@ -28,6 +28,12 @@ export function createDefaultHooks() {
|
|
|
28
28
|
if (taskReminder) {
|
|
29
29
|
ctx.queueReminder(taskReminder);
|
|
30
30
|
}
|
|
31
|
+
// User named the mechanism ("agent team" / workflow / 编排): remind at
|
|
32
|
+
// the decision turn, where it outweighs the parallel-spawns prior.
|
|
33
|
+
const orchestrationReminder = orchestrationRequestReminder(ctx.input, ctx.agent.hasToolAvailable("run_workflow"));
|
|
34
|
+
if (orchestrationReminder) {
|
|
35
|
+
ctx.queueReminder(orchestrationReminder);
|
|
36
|
+
}
|
|
31
37
|
// Small-task hint: counterweight to the default protocol's exploration
|
|
32
38
|
// bias, only fires once per run on focused one-shot requests like
|
|
33
39
|
// "写个 HTML 介绍元旦". Don't issue for the same input twice.
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* and read-only-scoped, negative clauses get equal weight — the user's hard
|
|
6
6
|
* constraint is "proactive, but never delegate-everything". Gated on the
|
|
7
7
|
* delegation tools being present, so child agents (whose tool sets never
|
|
8
|
-
* include spawn_agent/
|
|
8
|
+
* include spawn_agent/run_workflow) never see it.
|
|
9
9
|
*/
|
|
10
10
|
/**
|
|
11
11
|
* Returns the delegation policy section when the agent actually has the
|
|
@@ -5,12 +5,19 @@
|
|
|
5
5
|
* and read-only-scoped, negative clauses get equal weight — the user's hard
|
|
6
6
|
* constraint is "proactive, but never delegate-everything". Gated on the
|
|
7
7
|
* delegation tools being present, so child agents (whose tool sets never
|
|
8
|
-
* include spawn_agent/
|
|
8
|
+
* include spawn_agent/run_workflow) never see it.
|
|
9
9
|
*/
|
|
10
10
|
const DELEGATION_POLICY = `## Delegation policy (subagents)
|
|
11
11
|
|
|
12
|
-
You can delegate work
|
|
13
|
-
|
|
12
|
+
You can delegate work two ways: a single background subagent (spawn_agent),
|
|
13
|
+
or an orchestration script coordinating many subagents (run_workflow).
|
|
14
|
+
Delegate deliberately, not by default.
|
|
15
|
+
|
|
16
|
+
Explicit requests win, before any other rule: when the user names a
|
|
17
|
+
coordinated multi-agent run in any phrasing — a workflow, an orchestration,
|
|
18
|
+
an agent team, "fan out agents" — that means run_workflow, NOT a row of
|
|
19
|
+
spawn_agent calls. When they ask for a subagent, spawn one. Only when the
|
|
20
|
+
user has not named a mechanism do you choose by shape (below).
|
|
14
21
|
|
|
15
22
|
Delegate when:
|
|
16
23
|
- An investigation will clearly require more than four search or read
|
|
@@ -18,9 +25,16 @@ Delegate when:
|
|
|
18
25
|
needs the conclusion — delegate to a subagent so the intermediate noise
|
|
19
26
|
stays out of the main context. Launch multiple subagents concurrently for
|
|
20
27
|
independent questions.
|
|
21
|
-
- The task
|
|
22
|
-
|
|
23
|
-
|
|
28
|
+
- The task fans out over many independent items (review, audit, summarize
|
|
29
|
+
across files, modules, endpoints) or needs staged orchestration — consider
|
|
30
|
+
run_workflow. Choose by shape, not by rule: a handful of subagents whose
|
|
31
|
+
results you want to read and react to individually favor spawn_agent; a
|
|
32
|
+
uniform sweep over many items, results that should be aggregated or
|
|
33
|
+
filtered before they reach this conversation, or control flow between
|
|
34
|
+
stages (pipelines, loops, retry rounds) favor a run_workflow script — each
|
|
35
|
+
member's full handoff stays out of your context and the script returns one
|
|
36
|
+
digested result. Failed agent() calls resolve to null, so report which
|
|
37
|
+
items came back null instead of silently dropping them.
|
|
24
38
|
- A side-investigation is independent of your current main-line work and can
|
|
25
39
|
run in the background while you continue.
|
|
26
40
|
|
|
@@ -51,7 +65,7 @@ Do NOT delegate when:
|
|
|
51
65
|
When in doubt about a one-off task, do it yourself. When a task is clearly
|
|
52
66
|
the same read-only operation over three or more independent items — where
|
|
53
67
|
each item alone would take more than a couple of tool calls — prefer
|
|
54
|
-
|
|
68
|
+
run_workflow over doing them sequentially yourself. For just two small items,
|
|
55
69
|
do them yourself with parallel tool calls.`;
|
|
56
70
|
/**
|
|
57
71
|
* Returns the delegation policy section when the agent actually has the
|
|
@@ -4,3 +4,4 @@ export interface TaskReminderOptions {
|
|
|
4
4
|
canDelegate?: boolean;
|
|
5
5
|
}
|
|
6
6
|
export declare function reminderForTaskType(taskType: TaskType, options?: TaskReminderOptions): string | undefined;
|
|
7
|
+
export declare function orchestrationRequestReminder(input: string | import("../types.js").ContentPart[], canRunWorkflow: boolean): string | undefined;
|
|
@@ -6,7 +6,7 @@ import { wrapInSystemReminder } from "./reminders.js";
|
|
|
6
6
|
* keeps it away from ordinary implementation/debugging turns, so it cannot
|
|
7
7
|
* amplify over-delegation.
|
|
8
8
|
*/
|
|
9
|
-
const DELEGATION_NUDGE = "- If answering needs scanning many files and only the conclusion matters, delegate to a background subagent (spawn_agent); when it is the same read-only question over several independent items, fan out with
|
|
9
|
+
const DELEGATION_NUDGE = "- If answering needs scanning many files and only the conclusion matters, delegate to a background subagent (spawn_agent); when it is the same read-only question over several independent items, fan out with a run_workflow script.";
|
|
10
10
|
export function reminderForTaskType(taskType, options = {}) {
|
|
11
11
|
switch (taskType) {
|
|
12
12
|
case "debugging":
|
|
@@ -62,3 +62,26 @@ Product discussion workflow:
|
|
|
62
62
|
return undefined;
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
|
+
/**
|
|
66
|
+
* Deterministic detector for an explicit user request for a coordinated
|
|
67
|
+
* multi-agent run. Three rounds of prompt wording lost to the model's
|
|
68
|
+
* "agent team = parallel spawns" prior in live tests (opus-4.8, 2026-07-06);
|
|
69
|
+
* per the task-reminder principle above, a reminder injected at the decision
|
|
70
|
+
* turn is the lever that actually works — the harness remembers so the model
|
|
71
|
+
* does not have to.
|
|
72
|
+
*/
|
|
73
|
+
const ORCHESTRATION_REQUEST = /\b(?:workflows?|orchestrat\w*|agent[ -]?teams?|fan[ -]?out)\b|工作流|编排|(?:智能体|代理|agent)\s*(?:团队|小队)/i;
|
|
74
|
+
export function orchestrationRequestReminder(input, canRunWorkflow) {
|
|
75
|
+
if (!canRunWorkflow)
|
|
76
|
+
return undefined;
|
|
77
|
+
const text = typeof input === "string"
|
|
78
|
+
? input
|
|
79
|
+
: input.map((part) => ("text" in part ? String(part.text ?? "") : "")).join(" ");
|
|
80
|
+
if (!ORCHESTRATION_REQUEST.test(text))
|
|
81
|
+
return undefined;
|
|
82
|
+
return [
|
|
83
|
+
"- This message explicitly asks for a coordinated multi-agent run (a workflow / orchestration / agent team).",
|
|
84
|
+
"Honor it with ONE run_workflow call whose script covers the whole fan-out.",
|
|
85
|
+
"Do not substitute parallel spawn_agent calls this turn — the user named the mechanism.",
|
|
86
|
+
].join(" ");
|
|
87
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ThinkingLevel } from "./types.js";
|
|
2
|
-
export { getAvailableThinkingLevels, getDefaultThinkingLevel, normalizeThinkingLevel } from "./variant/variant-resolver.js";
|
|
2
|
+
export { getAvailableThinkingLevels, getDefaultThinkingLevel, isThinkingOnlyLevels, isThinkingOnlyModel, isThinkingToggleModel, normalizeThinkingLevel } from "./variant/variant-resolver.js";
|
|
3
3
|
export interface ProviderRequestConfig {
|
|
4
4
|
effectiveThinkingLevel: ThinkingLevel;
|
|
5
5
|
reasoningEffort?: ThinkingLevel;
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { getAvailableThinkingLevels, normalizeThinkingLevel } from "./variant/variant-resolver.js";
|
|
2
|
-
export { getAvailableThinkingLevels, getDefaultThinkingLevel, normalizeThinkingLevel } from "./variant/variant-resolver.js";
|
|
2
|
+
export { getAvailableThinkingLevels, getDefaultThinkingLevel, isThinkingOnlyLevels, isThinkingOnlyModel, isThinkingToggleModel, normalizeThinkingLevel } from "./variant/variant-resolver.js";
|
|
3
3
|
const MOONSHOT_PROVIDER_IDS = new Set(["moonshot-cn", "moonshot-intl", "kimi-for-coding"]);
|
|
4
|
-
const KIMI_K27_FAMILY = new Set(["kimi-k2.7-code"]);
|
|
5
|
-
const
|
|
6
|
-
const KIMI_THINKING_FAMILY = new Set(["kimi-k2-thinking", "kimi-k2-thinking-turbo"]);
|
|
4
|
+
const KIMI_K27_FAMILY = new Set(["kimi-k2.7-code", "kimi-k2.7-code-highspeed"]);
|
|
5
|
+
const KIMI_TOGGLE_THINKING_FAMILY = new Set(["kimi-k2.5", "kimi-k2.6"]);
|
|
7
6
|
const KIMI_K26_DEFAULT_MAX_TOKENS = 32768;
|
|
8
7
|
const MINIMAX_M3_FAMILY = new Set(["MiniMax-M3"]);
|
|
9
8
|
function isFireworksKimi(providerId, modelId) {
|
|
@@ -99,12 +98,11 @@ export function resolveProviderRequestConfig(providerId, modelId, requestedLevel
|
|
|
99
98
|
},
|
|
100
99
|
};
|
|
101
100
|
}
|
|
102
|
-
// Moonshot / Kimi:
|
|
103
|
-
//
|
|
104
|
-
// kimi-k2-thinking family locks temperature=1.
|
|
101
|
+
// Moonshot / Kimi: K2.5/K2.6 lock temperature/top_p/n/penalties and expose
|
|
102
|
+
// thinking via extra_body.thinking.
|
|
105
103
|
if (MOONSHOT_PROVIDER_IDS.has(providerId)) {
|
|
106
|
-
//
|
|
107
|
-
// (any explicit value errors), thinking can never be disabled, and
|
|
104
|
+
// Kimi K2.7 Code variants are thinking-only: temperature is locked to 1.0
|
|
105
|
+
// server-side (any explicit value errors), thinking can never be disabled, and
|
|
108
106
|
// reasoning_content must be echoed back on tool-call turns.
|
|
109
107
|
if (KIMI_K27_FAMILY.has(modelId)) {
|
|
110
108
|
return {
|
|
@@ -116,7 +114,7 @@ export function resolveProviderRequestConfig(providerId, modelId, requestedLevel
|
|
|
116
114
|
},
|
|
117
115
|
};
|
|
118
116
|
}
|
|
119
|
-
if (
|
|
117
|
+
if (KIMI_TOGGLE_THINKING_FAMILY.has(modelId)) {
|
|
120
118
|
return {
|
|
121
119
|
effectiveThinkingLevel,
|
|
122
120
|
omitTemperature: true,
|
|
@@ -126,9 +124,6 @@ export function resolveProviderRequestConfig(providerId, modelId, requestedLevel
|
|
|
126
124
|
},
|
|
127
125
|
};
|
|
128
126
|
}
|
|
129
|
-
if (KIMI_THINKING_FAMILY.has(modelId)) {
|
|
130
|
-
return { effectiveThinkingLevel, omitTemperature: true };
|
|
131
|
-
}
|
|
132
127
|
return { effectiveThinkingLevel };
|
|
133
128
|
}
|
|
134
129
|
if (providerId === "openai"
|
|
@@ -24,15 +24,7 @@ export declare function createWaitAgentTool(): ToolRegistryEntry;
|
|
|
24
24
|
export declare function createSendInputTool(): ToolRegistryEntry;
|
|
25
25
|
export declare function createCloseAgentTool(): ToolRegistryEntry;
|
|
26
26
|
export declare function createListAgentsTool(): ToolRegistryEntry;
|
|
27
|
-
|
|
28
|
-
export declare const AGENT_TEAM_MIN_ITEMS = 2;
|
|
29
|
-
export declare const AGENT_TEAM_MAX_ITEMS = 32;
|
|
30
|
-
export declare function createAgentTeamTool(options?: AgentLifecycleToolOptions, sharedTrust?: ProjectProfileTrust): ToolRegistryEntry;
|
|
31
|
-
/** Specs bound for one agent_batch call (design v2 §1.3). */
|
|
32
|
-
export declare const AGENT_BATCH_MIN_SPECS = 2;
|
|
33
|
-
export declare const AGENT_BATCH_MAX_SPECS = 32;
|
|
34
|
-
export declare function createAgentBatchTool(options?: AgentLifecycleToolOptions, sharedTrust?: ProjectProfileTrust): ToolRegistryEntry;
|
|
35
|
-
export declare function createRunWorkflowTool(options?: AgentLifecycleToolOptions): ToolRegistryEntry;
|
|
27
|
+
export declare function createRunWorkflowTool(options?: AgentLifecycleToolOptions, sharedTrust?: ProjectProfileTrust): ToolRegistryEntry;
|
|
36
28
|
export declare function createWaitWorkflowTool(): ToolRegistryEntry;
|
|
37
29
|
export declare function createAgentLifecycleTools(options?: AgentLifecycleToolOptions): ToolRegistryEntry[];
|
|
38
30
|
export {};
|