@qwen-code/qwen-code 0.18.1-nightly.20260616.a68b2e1e7 → 0.18.1-preview.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -1
- package/bundled/qc-helper/docs/features/channels/feishu.md +16 -0
- package/bundled/qc-helper/docs/features/mcp.md +1 -1
- package/bundled/qc-helper/docs/features/sub-agents.md +3 -3
- package/bundled/qc-helper/docs/qwen-serve.md +18 -7
- package/bundled/review/SKILL.md +10 -4
- package/bundled/simplify/SKILL.md +1 -1
- package/chunks/{agent-PXMT2XR5.js → agent-ZLVQLNIP.js} +5 -5
- package/chunks/{agent-headless-SY7VJUHV.js → agent-headless-H4ZT46GX.js} +5 -5
- package/chunks/{anthropicContentGenerator-DCI26OQF.js → anthropicContentGenerator-KLBHYGH6.js} +1 -1
- package/chunks/{askUserQuestion-NDNFGC35.js → askUserQuestion-QPZXR3UO.js} +1 -1
- package/chunks/{chunk-ABRZC6FA.js → chunk-BRU4Z5BG.js} +10 -5
- package/chunks/{chunk-JZFEL3RB.js → chunk-C64WAJOC.js} +1 -1
- package/chunks/{chunk-TSBXGR73.js → chunk-HISY5FYZ.js} +4 -4
- package/chunks/{chunk-A3OEZT2F.js → chunk-L6F7VZPZ.js} +6 -6
- package/chunks/{chunk-3NRO6NHX.js → chunk-MN5RAXVB.js} +3 -3
- package/chunks/{chunk-M5PJ5QAF.js → chunk-Q6WOQSR4.js} +2 -2
- package/chunks/{chunk-UOB6KPGG.js → chunk-R53CLQY7.js} +1 -1
- package/chunks/{chunk-26QELEL2.js → chunk-RTTAC5VW.js} +1 -1
- package/chunks/{chunk-H4ZDM3N6.js → chunk-UKLVRIWE.js} +1332 -1027
- package/chunks/{chunk-VXHYMZXW.js → chunk-VIEIRAK3.js} +1 -1
- package/chunks/{chunk-OT6JA3KQ.js → chunk-YJDVHAGL.js} +1 -1
- package/chunks/{chunk-6WPY6ES3.js → chunk-ZNUMXPNK.js} +565 -48
- package/chunks/{computer-use-7SEQDSHB.js → computer-use-SWC45S44.js} +5 -5
- package/chunks/{contextCommand-KM5OWV65.js → contextCommand-O5DLQUIZ.js} +7 -7
- package/chunks/{cron-create-7CXEAJ2K.js → cron-create-DQKRQMCP.js} +1 -1
- package/chunks/{cron-delete-2FQYYNQ6.js → cron-delete-DOFPHFTI.js} +1 -1
- package/chunks/{cron-list-QCAJ73XE.js → cron-list-RCVOO3CB.js} +1 -1
- package/chunks/{dist-PF2IYSMD.js → dist-UH7CYT7F.js} +1 -1
- package/chunks/{edit-BMUKPLA7.js → edit-J7M33W4D.js} +6 -6
- package/chunks/{enter-worktree-LXJ5WJ5A.js → enter-worktree-RCCPIOG6.js} +5 -5
- package/chunks/{enterPlanMode-QWRZ54ZF.js → enterPlanMode-EC7HWVXV.js} +5 -5
- package/chunks/{exit-worktree-5HTQPNZO.js → exit-worktree-V3OVN22U.js} +5 -5
- package/chunks/{exitPlanMode-5WQAXNDA.js → exitPlanMode-P3F5VTWX.js} +7 -6
- package/chunks/{geminiContentGenerator-CAKHT5YE.js → geminiContentGenerator-E2LZQIFZ.js} +1 -1
- package/chunks/{glob-5DN6NSCD.js → glob-ENPPHN24.js} +5 -5
- package/chunks/{grep-BJILOLCD.js → grep-RXZMZKHV.js} +5 -5
- package/chunks/{ls-XVGXRYWD.js → ls-TRD77UTS.js} +1 -1
- package/chunks/{lsp-S6SHPULC.js → lsp-2VFWQPZS.js} +1 -1
- package/chunks/{monitor-SUEMSRN3.js → monitor-YYWM7RUX.js} +5 -5
- package/chunks/{notebook-edit-6F6Z5P6U.js → notebook-edit-L6OODJTK.js} +6 -6
- package/chunks/{openaiContentGenerator-DO27LL6O.js → openaiContentGenerator-BPRGR5FJ.js} +5 -5
- package/chunks/{qwenContentGenerator-DQLGLQSH.js → qwenContentGenerator-ENMXX47B.js} +7 -7
- package/chunks/{read-file-3TBLYTOQ.js → read-file-3VASWJKO.js} +3 -3
- package/chunks/{ripGrep-3INYT3QV.js → ripGrep-67IQWCR7.js} +5 -5
- package/chunks/{scheduler-23KQW6CX.js → scheduler-TAPJOQHX.js} +5 -5
- package/chunks/{send-message-SMNR5DBG.js → send-message-QZOC5GA2.js} +1 -1
- package/chunks/{serve-Y5E4LKUI.js → serve-CQF2R7SG.js} +709 -26
- package/chunks/{shell-4H6XQXVY.js → shell-ZLBFZ75G.js} +5 -5
- package/chunks/{skill-SE6FECZR.js → skill-BZ2NCCJN.js} +3 -3
- package/chunks/{src-76DUBH3A.js → src-ASRB3EO3.js} +11 -5
- package/chunks/{syntheticOutput-KMNF7YG6.js → syntheticOutput-WJSUK4SZ.js} +2 -2
- package/chunks/{task-create-LIJHK75G.js → task-create-GGSC27HO.js} +2 -2
- package/chunks/{task-list-S4GNSILM.js → task-list-EDHHHSK4.js} +1 -1
- package/chunks/{task-stop-3GBRYJHM.js → task-stop-WR5PDVZY.js} +1 -1
- package/chunks/{task-update-F3UTVJMS.js → task-update-UR7NUHBV.js} +2 -2
- package/chunks/{team-create-Q5DTDDH4.js → team-create-NXTYUYLE.js} +5 -5
- package/chunks/{team-delete-54434EB7.js → team-delete-FC33URJK.js} +1 -1
- package/chunks/{todoWrite-4ENGSBUX.js → todoWrite-GO2ME7ZV.js} +1 -1
- package/chunks/{tool-search-ABZMSDTU.js → tool-search-GYO3ZDMH.js} +3 -3
- package/chunks/{web-fetch-RHZMF3MP.js → web-fetch-NLLATYIL.js} +2 -2
- package/chunks/{workflow-NEMDQB75.js → workflow-KZLZUDHE.js} +249 -24
- package/chunks/{write-file-VAEHZPSL.js → write-file-AUXVL5D2.js} +6 -6
- package/cli.js +545 -184
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -256,7 +256,7 @@ Use the `/model` command at any time to switch between all configured models.
|
|
|
256
256
|
}
|
|
257
257
|
```
|
|
258
258
|
|
|
259
|
-
> Subscribe to the Coding Plan and get your API key at [Alibaba Cloud ModelStudio(Beijing)](https://bailian.console.aliyun.com/cn-beijing?tab=coding-plan#/efm/coding-plan-index) or [Alibaba Cloud ModelStudio(intl)](https://modelstudio.console.alibabacloud.com/?tab=coding-plan#/efm/coding-plan-index).
|
|
259
|
+
> Subscribe to the Coding Plan and get your API key at [Alibaba Cloud ModelStudio (Beijing)](https://bailian.console.aliyun.com/cn-beijing?tab=coding-plan#/efm/coding-plan-index) or [Alibaba Cloud ModelStudio (intl)](https://modelstudio.console.alibabacloud.com/?tab=coding-plan#/efm/coding-plan-index).
|
|
260
260
|
|
|
261
261
|
</details>
|
|
262
262
|
|
|
@@ -561,6 +561,7 @@ The most commonly used top-level fields in `settings.json`:
|
|
|
561
561
|
|
|
562
562
|
Looking for a graphical interface?
|
|
563
563
|
|
|
564
|
+
- [**Qwen Code Desktop**](https://github.com/QwenLM/qwen-code/releases/tag/desktop-latest) Official desktop app for macOS, Windows, and Linux
|
|
564
565
|
- [**AionUi**](https://github.com/iOfficeAI/AionUi) A modern GUI for command-line AI tools including Qwen Code
|
|
565
566
|
- [**Gemini CLI Desktop**](https://github.com/Piebald-AI/gemini-cli-desktop) A cross-platform desktop/web/mobile UI for Qwen Code
|
|
566
567
|
|
|
@@ -11,11 +11,25 @@ This guide covers setting up a Qwen Code channel on Feishu (飞书) / Lark.
|
|
|
11
11
|
|
|
12
12
|
1. Go to the [Feishu Open Platform](https://open.feishu.cn)
|
|
13
13
|
2. Create a new application (or use an existing one)
|
|
14
|
+
|
|
15
|
+

|
|
16
|
+
|
|
14
17
|
3. Under the application, enable the **Bot** capability (添加应用能力 → 机器人)
|
|
18
|
+
|
|
19
|
+

|
|
20
|
+
|
|
15
21
|
4. In **Event Subscriptions** (事件与回调), select **Long Connection** (使用长连接接收事件)
|
|
22
|
+
|
|
23
|
+

|
|
24
|
+
|
|
16
25
|
5. Add the event `im.message.receive_v1` (接收消息)
|
|
26
|
+
|
|
27
|
+

|
|
28
|
+
|
|
17
29
|
6. Note the **App ID** (Client ID) and **App Secret** (Client Secret) from the application credentials page
|
|
18
30
|
|
|
31
|
+

|
|
32
|
+
|
|
19
33
|
### Required Permissions
|
|
20
34
|
|
|
21
35
|
Enable the following permissions under **Permissions & Scopes** (权限管理):
|
|
@@ -28,6 +42,8 @@ Enable the following permissions under **Permissions & Scopes** (权限管理):
|
|
|
28
42
|
|
|
29
43
|
After configuring permissions and events, create a version and publish it. The bot won't work until the application is published and approved.
|
|
30
44
|
|
|
45
|
+

|
|
46
|
+
|
|
31
47
|
## Configuration
|
|
32
48
|
|
|
33
49
|
Add the channel to `~/.qwen/settings.json`:
|
|
@@ -281,7 +281,7 @@ OAuth configuration properties:
|
|
|
281
281
|
|
|
282
282
|
OAuth tokens are automatically:
|
|
283
283
|
|
|
284
|
-
- **Stored securely** in `~/.qwen/mcp-oauth-tokens.json`
|
|
284
|
+
- **Stored securely** in `~/.qwen/mcp-oauth-tokens-v2.json` (AES-256-GCM encrypted), with keychain storage preferred when available
|
|
285
285
|
- **Refreshed** when expired (if refresh tokens are available)
|
|
286
286
|
- **Validated** before each connection attempt
|
|
287
287
|
|
|
@@ -12,9 +12,9 @@ Subagents are independent AI assistants that:
|
|
|
12
12
|
- **Work autonomously** - Once given a task, they work independently until completion or failure
|
|
13
13
|
- **Provide detailed feedback** - You can see their progress, tool usage, and execution statistics in real-time
|
|
14
14
|
|
|
15
|
-
## Fork Subagent
|
|
15
|
+
## Fork Subagent
|
|
16
16
|
|
|
17
|
-
In addition to named subagents, Qwen Code supports **
|
|
17
|
+
In addition to named subagents, Qwen Code supports **forking** — selected explicitly with `subagent_type: "fork"` (available in interactive sessions). A fork inherits the parent's full conversation context and runs detached in the background. Omitting `subagent_type` does **not** fork; it launches the general-purpose subagent, which runs to completion and returns its result inline.
|
|
18
18
|
|
|
19
19
|
### How Fork Differs from Named Subagents
|
|
20
20
|
|
|
@@ -59,7 +59,7 @@ Fork children cannot create further forks. This is enforced at runtime — if a
|
|
|
59
59
|
## How Subagents Work
|
|
60
60
|
|
|
61
61
|
1. **Configuration**: You create Subagents configurations that define their behavior, tools, and system prompts
|
|
62
|
-
2. **Delegation**: The main AI can automatically delegate tasks to appropriate Subagents — or
|
|
62
|
+
2. **Delegation**: The main AI can automatically delegate tasks to appropriate Subagents — or fork itself (`subagent_type: "fork"`) when it wants to inherit the full conversation context and discard the intermediate output
|
|
63
63
|
3. **Execution**: Subagents work independently, using their configured tools to complete tasks
|
|
64
64
|
4. **Results**: They return results and execution summaries back to the main conversation
|
|
65
65
|
|
|
@@ -70,18 +70,29 @@ curl http://127.0.0.1:4170/health
|
|
|
70
70
|
# → {"status":"ok"}
|
|
71
71
|
|
|
72
72
|
curl http://127.0.0.1:4170/capabilities
|
|
73
|
-
# → {"v":1,"mode":"http-bridge","features":["health","capabilities","session_create",...],"workspaceCwd":"/path/to/your-project"}
|
|
73
|
+
# → {"v":1,"mode":"http-bridge","features":["health","daemon_status","capabilities","session_create",...],"workspaceCwd":"/path/to/your-project"}
|
|
74
|
+
|
|
75
|
+
curl http://127.0.0.1:4170/daemon/status
|
|
76
|
+
# → {"v":1,"detail":"summary","status":"ok","runtime":{...}}
|
|
74
77
|
```
|
|
75
78
|
|
|
76
79
|
The `workspaceCwd` field surfaces the bound workspace so clients can pre-flight check + omit `cwd` on `POST /session`.
|
|
77
80
|
The `limits.maxPendingPromptsPerSession` field advertises the active per-session prompt admission cap; `null` means the cap is disabled.
|
|
78
81
|
|
|
79
|
-
The daemon also exposes read-only runtime snapshots for client UIs
|
|
80
|
-
|
|
81
|
-
`GET /workspace/
|
|
82
|
+
The daemon also exposes read-only runtime snapshots for client UIs and
|
|
83
|
+
operators: `GET /daemon/status`, `GET /workspace/mcp`,
|
|
84
|
+
`GET /workspace/skills`, `GET /workspace/providers`, `GET /workspace/env`,
|
|
85
|
+
`GET /workspace/preflight`,
|
|
82
86
|
`GET /session/:id/context`, `GET /session/:id/supported-commands`, and
|
|
83
87
|
`GET /session/:id/tasks`.
|
|
84
88
|
|
|
89
|
+
`GET /daemon/status` is the consolidated troubleshooting snapshot. The default
|
|
90
|
+
`detail=summary` reads only in-memory daemon state (sessions, permissions,
|
|
91
|
+
SSE/ACP transport counts, rate limit rejects, process memory, resolved limits)
|
|
92
|
+
and does not start the ACP child. Use `GET /daemon/status?detail=full` for
|
|
93
|
+
per-session diagnostics, ACP connection details, auth device-flow counts, and
|
|
94
|
+
workspace status sections when you are actively investigating a problem.
|
|
95
|
+
|
|
85
96
|
`GET /workspace/mcp`, `GET /workspace/skills`, and `GET /workspace/providers`
|
|
86
97
|
report the live ACP runtime and do not start the ACP child when idle; an
|
|
87
98
|
idle daemon returns `initialized: false` with an empty snapshot. Once a
|
|
@@ -320,9 +331,9 @@ To handle multiple **users** (each with their own quota, audit log, sandbox) or
|
|
|
320
331
|
|
|
321
332
|
The daemon exposes ACP's `session/load` and resume flow over HTTP via two routes:
|
|
322
333
|
|
|
323
|
-
| Route | Use when
|
|
324
|
-
| -------------------------- |
|
|
325
|
-
| `POST /session/:id/load` | The client has **no** history rendered (cold reconnect, picker-then-open). The daemon replays every persisted turn through SSE so subscribers see the full transcript. Capability tag: `session_load`.
|
|
334
|
+
| Route | Use when |
|
|
335
|
+
| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
336
|
+
| `POST /session/:id/load` | The client has **no** history rendered (cold reconnect, picker-then-open). The daemon replays every persisted turn through SSE so subscribers see the full transcript. Capability tag: `session_load`. |
|
|
326
337
|
| `POST /session/:id/resume` | The client already has the turns on screen and only needs the daemon-side handle back. Model context is restored on the agent side without UI replay — the SSE stream stays clean. Capability tag: `session_resume` (`unstable_session_resume` remains a deprecated alias for older clients). |
|
|
327
338
|
|
|
328
339
|
The TypeScript SDK exposes both as static factories on `DaemonSessionClient`:
|
package/bundled/review/SKILL.md
CHANGED
|
@@ -159,7 +159,9 @@ Assign severity based on the tool's own categorization:
|
|
|
159
159
|
|
|
160
160
|
## Step 4: Parallel multi-dimensional review
|
|
161
161
|
|
|
162
|
-
Launch review agents by invoking all `
|
|
162
|
+
Launch review agents by invoking all `agent` tools in a **single response**. The runtime executes agent tools concurrently — they will run in parallel. You MUST include all tool calls in one response; do NOT send them one at a time. Launch **9 agents** for same-repo reviews (Agent 6 has three persona variants 6a/6b/6c that each count as a separate parallel agent), or **8 agents** (skip Agent 7: Build & Test) for cross-repo lightweight mode since there is no local codebase to build/test. Each agent should focus exclusively on its dimension.
|
|
163
|
+
|
|
164
|
+
**Every agent MUST be an awaitable subagent: set `subagent_type: "general-purpose"` on every `agent` call.** Do NOT fork them — do not omit `subagent_type`, and never set `subagent_type: "fork"`. A fork runs fire-and-forget and its findings never come back to you, so the review would stall in Step 5 with nothing to aggregate. You need every agent's findings returned to you inline.
|
|
163
165
|
|
|
164
166
|
**IMPORTANT**: Keep each agent's prompt **short** (under 200 words) to fit all tool calls in one response. Do NOT paste the full diff — give each agent:
|
|
165
167
|
|
|
@@ -571,20 +573,24 @@ gh api repos/{owner}/{repo}/pulls/{pr_number}/reviews \
|
|
|
571
573
|
--input .qwen/tmp/qwen-review-{target}-review.json
|
|
572
574
|
```
|
|
573
575
|
|
|
574
|
-
If there are **no confirmed findings**, submit a
|
|
576
|
+
If there are **no confirmed findings**, submit a short summary review. Use `event=APPROVE` by default; if the presubmit JSON has `downgradeApprove=true`, use `event=COMMENT` and prepend the downgrade reasons to the body. Separate the footer from the body with a blank line so it renders on its own line — `-f body` does not interpret `\n`, so use a real line break inside the quotes:
|
|
575
577
|
|
|
576
578
|
```bash
|
|
577
579
|
# downgradeApprove=false (non-self PR, green CI):
|
|
578
580
|
gh api repos/{owner}/{repo}/pulls/{pr_number}/reviews \
|
|
579
581
|
-f commit_id="{commit_sha}" \
|
|
580
582
|
-f event="APPROVE" \
|
|
581
|
-
-f body="No issues found. LGTM! ✅
|
|
583
|
+
-f body="No issues found. LGTM! ✅
|
|
584
|
+
|
|
585
|
+
_— YOUR_MODEL_ID via Qwen Code /review_"
|
|
582
586
|
|
|
583
587
|
# downgradeApprove=true (self-PR, CI failing, or CI still running):
|
|
584
588
|
gh api repos/{owner}/{repo}/pulls/{pr_number}/reviews \
|
|
585
589
|
-f commit_id="{commit_sha}" \
|
|
586
590
|
-f event="COMMENT" \
|
|
587
|
-
-f body="No review findings. Downgraded from Approve to Comment: <downgradeReasons joined with '; '>.
|
|
591
|
+
-f body="No review findings. Downgraded from Approve to Comment: <downgradeReasons joined with '; '>.
|
|
592
|
+
|
|
593
|
+
_— YOUR_MODEL_ID via Qwen Code /review_"
|
|
588
594
|
```
|
|
589
595
|
|
|
590
596
|
Clean up the JSON file in Step 11.
|
|
@@ -39,7 +39,7 @@ Use `git diff HEAD` whenever staged changes exist. Otherwise use `git diff`.
|
|
|
39
39
|
|
|
40
40
|
## Step 2: Launch three review passes in parallel
|
|
41
41
|
|
|
42
|
-
Use the `agent` tool and launch all review passes in a single response so they run concurrently. Each pass must receive the same review scope and diff command. These passes are read-only: each one inspects and reports findings only and must not modify files — all edits happen later in Step 4.
|
|
42
|
+
Use the `agent` tool and launch all review passes in a single response so they run concurrently. **Set `subagent_type: "general-purpose"` on every call — each pass must be an awaitable subagent whose findings return to you inline. Do NOT fork them: do not omit `subagent_type`, and never set `subagent_type: "fork"`. A fork runs fire-and-forget and never returns its findings, so there would be nothing to aggregate in Step 3.** Each pass must receive the same review scope and diff command. These passes are read-only: each one inspects and reports findings only and must not modify files — all edits happen later in Step 4.
|
|
43
43
|
|
|
44
44
|
Keep each review prompt short and focused. Do not paste the full diff into the prompt. Tell each pass to read the diff itself and inspect only files relevant to its findings.
|
|
45
45
|
|
|
@@ -7,9 +7,9 @@ import {
|
|
|
7
7
|
hasRebuiltToolRegistry,
|
|
8
8
|
rebuildToolRegistryOnOverride,
|
|
9
9
|
resolveSubagentApprovalMode
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-UKLVRIWE.js";
|
|
11
11
|
import "./chunk-K5PGHDBN.js";
|
|
12
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-VIEIRAK3.js";
|
|
13
13
|
import "./chunk-O4PICXES.js";
|
|
14
14
|
import "./chunk-TW522KN6.js";
|
|
15
15
|
import "./chunk-BJ5HQ23U.js";
|
|
@@ -23,14 +23,14 @@ import "./chunk-CPVI5J2L.js";
|
|
|
23
23
|
import "./chunk-ZMIBJS45.js";
|
|
24
24
|
import "./chunk-77WXWU44.js";
|
|
25
25
|
import "./chunk-B4ZF2KSI.js";
|
|
26
|
-
import "./chunk-
|
|
26
|
+
import "./chunk-L6F7VZPZ.js";
|
|
27
27
|
import "./chunk-3PJXIDKI.js";
|
|
28
28
|
import "./chunk-UWCTAVOD.js";
|
|
29
29
|
import "./chunk-OFEVLU4C.js";
|
|
30
30
|
import "./chunk-IQHSD7K5.js";
|
|
31
31
|
import "./chunk-LYRSMKLS.js";
|
|
32
|
-
import "./chunk-
|
|
33
|
-
import "./chunk-
|
|
32
|
+
import "./chunk-RTTAC5VW.js";
|
|
33
|
+
import "./chunk-ZNUMXPNK.js";
|
|
34
34
|
import "./chunk-IDYDPBBN.js";
|
|
35
35
|
import "./chunk-FIQECJTQ.js";
|
|
36
36
|
import "./chunk-64WXLC72.js";
|
|
@@ -4,9 +4,9 @@ import {
|
|
|
4
4
|
AgentHeadless,
|
|
5
5
|
ContextState,
|
|
6
6
|
templateString
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-UKLVRIWE.js";
|
|
8
8
|
import "./chunk-K5PGHDBN.js";
|
|
9
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-VIEIRAK3.js";
|
|
10
10
|
import "./chunk-O4PICXES.js";
|
|
11
11
|
import "./chunk-TW522KN6.js";
|
|
12
12
|
import "./chunk-BJ5HQ23U.js";
|
|
@@ -20,14 +20,14 @@ import "./chunk-CPVI5J2L.js";
|
|
|
20
20
|
import "./chunk-ZMIBJS45.js";
|
|
21
21
|
import "./chunk-77WXWU44.js";
|
|
22
22
|
import "./chunk-B4ZF2KSI.js";
|
|
23
|
-
import "./chunk-
|
|
23
|
+
import "./chunk-L6F7VZPZ.js";
|
|
24
24
|
import "./chunk-3PJXIDKI.js";
|
|
25
25
|
import "./chunk-UWCTAVOD.js";
|
|
26
26
|
import "./chunk-OFEVLU4C.js";
|
|
27
27
|
import "./chunk-IQHSD7K5.js";
|
|
28
28
|
import "./chunk-LYRSMKLS.js";
|
|
29
|
-
import "./chunk-
|
|
30
|
-
import "./chunk-
|
|
29
|
+
import "./chunk-RTTAC5VW.js";
|
|
30
|
+
import "./chunk-ZNUMXPNK.js";
|
|
31
31
|
import "./chunk-IDYDPBBN.js";
|
|
32
32
|
import "./chunk-FIQECJTQ.js";
|
|
33
33
|
import "./chunk-64WXLC72.js";
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
getLanguageSettingsOptions,
|
|
7
7
|
t,
|
|
8
8
|
writeStderrLine
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-R53CLQY7.js";
|
|
10
10
|
import {
|
|
11
11
|
DEFAULT_STOP_HOOK_BLOCK_CAP,
|
|
12
12
|
DEFAULT_TOOL_OUTPUT_BATCH_BUDGET,
|
|
@@ -17,11 +17,11 @@ import {
|
|
|
17
17
|
SkillError,
|
|
18
18
|
ideContextStore,
|
|
19
19
|
require_main
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-UKLVRIWE.js";
|
|
21
21
|
import {
|
|
22
22
|
isWithinRoot,
|
|
23
23
|
stripRuntimeSnapshotPrefix
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-L6F7VZPZ.js";
|
|
25
25
|
import {
|
|
26
26
|
atomicWriteFileSync
|
|
27
27
|
} from "./chunk-LXYWINWF.js";
|
|
@@ -19966,7 +19966,7 @@ __name(getPackageJson, "getPackageJson");
|
|
|
19966
19966
|
// packages/cli/src/utils/version.ts
|
|
19967
19967
|
async function getCliVersion() {
|
|
19968
19968
|
const pkgJson = await getPackageJson();
|
|
19969
|
-
return "0.18.1-
|
|
19969
|
+
return "0.18.1-preview.1";
|
|
19970
19970
|
}
|
|
19971
19971
|
__name(getCliVersion, "getCliVersion");
|
|
19972
19972
|
|
|
@@ -20108,6 +20108,10 @@ function createLoadedSettingsAdapter(settings, scope) {
|
|
|
20108
20108
|
}
|
|
20109
20109
|
__name(createLoadedSettingsAdapter, "createLoadedSettingsAdapter");
|
|
20110
20110
|
|
|
20111
|
+
// packages/acp-bridge/src/bridgeTypes.ts
|
|
20112
|
+
init_esbuild_shims();
|
|
20113
|
+
var MID_TURN_QUEUE_DRAIN_METHOD = "craft/drainMidTurnQueue";
|
|
20114
|
+
|
|
20111
20115
|
// packages/cli/src/utils/systemInfo.ts
|
|
20112
20116
|
init_esbuild_shims();
|
|
20113
20117
|
import process4 from "node:process";
|
|
@@ -20116,7 +20120,7 @@ import { execFile } from "node:child_process";
|
|
|
20116
20120
|
|
|
20117
20121
|
// packages/cli/src/generated/git-commit.ts
|
|
20118
20122
|
init_esbuild_shims();
|
|
20119
|
-
var GIT_COMMIT_INFO = "
|
|
20123
|
+
var GIT_COMMIT_INFO = "4d9e554b7";
|
|
20120
20124
|
|
|
20121
20125
|
// packages/cli/src/utils/systemInfo.ts
|
|
20122
20126
|
var debugLogger4 = createDebugLogger("STATUS");
|
|
@@ -20379,6 +20383,7 @@ export {
|
|
|
20379
20383
|
ACP_PREFLIGHT_KINDS,
|
|
20380
20384
|
createIdleAcpPreflightCells,
|
|
20381
20385
|
mapDomainErrorToErrorKind,
|
|
20386
|
+
MID_TURN_QUEUE_DRAIN_METHOD,
|
|
20382
20387
|
formatMemoryUsage,
|
|
20383
20388
|
formatRelativeTime,
|
|
20384
20389
|
formatTokenCount,
|
|
@@ -2,21 +2,21 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
t
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-R53CLQY7.js";
|
|
6
6
|
import {
|
|
7
7
|
computeThresholds,
|
|
8
8
|
getCoreSystemPrompt
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-UKLVRIWE.js";
|
|
10
10
|
import {
|
|
11
11
|
buildSkillLlmContent
|
|
12
12
|
} from "./chunk-CPVI5J2L.js";
|
|
13
13
|
import {
|
|
14
14
|
DiscoveredMCPTool,
|
|
15
15
|
uiTelemetryService
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-L6F7VZPZ.js";
|
|
17
17
|
import {
|
|
18
18
|
ToolNames
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-ZNUMXPNK.js";
|
|
20
20
|
import {
|
|
21
21
|
DEFAULT_TOKEN_LIMIT
|
|
22
22
|
} from "./chunk-LYSND7KR.js";
|
|
@@ -26,13 +26,13 @@ import {
|
|
|
26
26
|
} from "./chunk-LYRSMKLS.js";
|
|
27
27
|
import {
|
|
28
28
|
STRUCTURED_OUTPUT_REDACTED_ARGS
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-RTTAC5VW.js";
|
|
30
30
|
import {
|
|
31
31
|
BaseDeclarativeTool,
|
|
32
32
|
BaseToolInvocation,
|
|
33
33
|
ToolDisplayNames,
|
|
34
34
|
ToolNames
|
|
35
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-ZNUMXPNK.js";
|
|
36
36
|
import {
|
|
37
37
|
atomicWriteFile
|
|
38
38
|
} from "./chunk-LXYWINWF.js";
|
|
@@ -72004,11 +72004,11 @@ async function createContentGenerator(generatorConfig, config, isInitialAuth) {
|
|
|
72004
72004
|
let baseGenerator;
|
|
72005
72005
|
try {
|
|
72006
72006
|
if (authType === "openai" /* USE_OPENAI */) {
|
|
72007
|
-
const { createOpenAIContentGenerator } = await import("./openaiContentGenerator-
|
|
72007
|
+
const { createOpenAIContentGenerator } = await import("./openaiContentGenerator-BPRGR5FJ.js");
|
|
72008
72008
|
baseGenerator = createOpenAIContentGenerator(generatorConfig, config);
|
|
72009
72009
|
} else if (authType === "qwen-oauth" /* QWEN_OAUTH */) {
|
|
72010
72010
|
const { getQwenOAuthClient: getQwenOauthClient } = await import("./qwenOAuth2-KK433U33.js");
|
|
72011
|
-
const { QwenContentGenerator } = await import("./qwenContentGenerator-
|
|
72011
|
+
const { QwenContentGenerator } = await import("./qwenContentGenerator-ENMXX47B.js");
|
|
72012
72012
|
try {
|
|
72013
72013
|
const qwenClient = await getQwenOauthClient(
|
|
72014
72014
|
config,
|
|
@@ -72026,10 +72026,10 @@ async function createContentGenerator(generatorConfig, config, isInitialAuth) {
|
|
|
72026
72026
|
throw new Error(error instanceof Error ? error.message : String(error));
|
|
72027
72027
|
}
|
|
72028
72028
|
} else if (authType === "anthropic" /* USE_ANTHROPIC */) {
|
|
72029
|
-
const { createAnthropicContentGenerator } = await import("./anthropicContentGenerator-
|
|
72029
|
+
const { createAnthropicContentGenerator } = await import("./anthropicContentGenerator-KLBHYGH6.js");
|
|
72030
72030
|
baseGenerator = createAnthropicContentGenerator(generatorConfig, config);
|
|
72031
72031
|
} else if (authType === "gemini" /* USE_GEMINI */ || authType === "vertex-ai" /* USE_VERTEX_AI */) {
|
|
72032
|
-
const { createGeminiContentGenerator } = await import("./geminiContentGenerator-
|
|
72032
|
+
const { createGeminiContentGenerator } = await import("./geminiContentGenerator-E2LZQIFZ.js");
|
|
72033
72033
|
baseGenerator = createGeminiContentGenerator(generatorConfig, config);
|
|
72034
72034
|
} else {
|
|
72035
72035
|
throw new Error(
|
|
@@ -307,11 +307,11 @@ var ImageTokenizer = class _ImageTokenizer {
|
|
|
307
307
|
if (entryOffset + 12 > buffer.length) break;
|
|
308
308
|
const tag = isLittleEndian ? buffer.readUInt16LE(entryOffset) : buffer.readUInt16BE(entryOffset);
|
|
309
309
|
const type = isLittleEndian ? buffer.readUInt16LE(entryOffset + 2) : buffer.readUInt16BE(entryOffset + 2);
|
|
310
|
-
const value = isLittleEndian ? buffer.readUInt32LE(entryOffset + 8) : buffer.readUInt32BE(entryOffset + 8);
|
|
310
|
+
const value = type === 3 ? isLittleEndian ? buffer.readUInt16LE(entryOffset + 8) : buffer.readUInt16BE(entryOffset + 8) : isLittleEndian ? buffer.readUInt32LE(entryOffset + 8) : buffer.readUInt32BE(entryOffset + 8);
|
|
311
311
|
if (tag === 256) {
|
|
312
|
-
width =
|
|
312
|
+
width = value;
|
|
313
313
|
} else if (tag === 257) {
|
|
314
|
-
height =
|
|
314
|
+
height = value;
|
|
315
315
|
}
|
|
316
316
|
if (width > 0 && height > 0) break;
|
|
317
317
|
}
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
RequestTokenizer
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-MN5RAXVB.js";
|
|
6
6
|
import {
|
|
7
7
|
OpenAIContentConverter,
|
|
8
8
|
TaggedThinkingParser,
|
|
9
9
|
openaiRequestCaptureContext
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-L6F7VZPZ.js";
|
|
11
11
|
import {
|
|
12
12
|
createChildAbortController
|
|
13
13
|
} from "./chunk-64WXLC72.js";
|