@qlingzzy/qling 1.0.0 → 1.1.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 +154 -0
- package/README.en.md +82 -17
- package/README.md +15 -7
- package/dist/agent/main-loop.d.ts +120 -0
- package/dist/agent/main-loop.d.ts.map +1 -0
- package/dist/agent/main-loop.js +279 -0
- package/dist/agent/subtask-parallel.d.ts +29 -0
- package/dist/agent/subtask-parallel.d.ts.map +1 -0
- package/dist/agent/subtask-parallel.js +107 -0
- package/dist/agent/subtask.d.ts +13 -0
- package/dist/agent/subtask.d.ts.map +1 -1
- package/dist/agent/subtask.js +79 -24
- package/dist/agent/system-prompt.d.ts +39 -0
- package/dist/agent/system-prompt.d.ts.map +1 -0
- package/dist/agent/system-prompt.js +89 -0
- package/dist/agent/tool-orchestrator.d.ts +66 -0
- package/dist/agent/tool-orchestrator.d.ts.map +1 -0
- package/dist/agent/tool-orchestrator.js +355 -0
- package/dist/agent-loop.d.ts +29 -16
- package/dist/agent-loop.d.ts.map +1 -1
- package/dist/agent-loop.js +262 -807
- package/dist/agents/roles.d.ts +57 -0
- package/dist/agents/roles.d.ts.map +1 -0
- package/dist/agents/roles.js +198 -0
- package/dist/commands/agents.d.ts.map +1 -1
- package/dist/commands/agents.js +17 -3
- package/dist/commands/claude-style.d.ts.map +1 -1
- package/dist/commands/claude-style.js +19 -10
- package/dist/commands/help.d.ts.map +1 -1
- package/dist/commands/help.js +3 -2
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +6 -0
- package/dist/commands/mode.d.ts +16 -0
- package/dist/commands/mode.d.ts.map +1 -0
- package/dist/commands/mode.js +67 -0
- package/dist/commands/recover.d.ts +3 -0
- package/dist/commands/recover.d.ts.map +1 -0
- package/dist/commands/recover.js +69 -0
- package/dist/commands/runtime.d.ts +2 -0
- package/dist/commands/runtime.d.ts.map +1 -1
- package/dist/commands/runtime.js +2 -0
- package/dist/commands/trace.d.ts +3 -0
- package/dist/commands/trace.d.ts.map +1 -0
- package/dist/commands/trace.js +45 -0
- package/dist/commands/verify.js +2 -2
- package/dist/config-report.d.ts +0 -1
- package/dist/config-report.d.ts.map +1 -1
- package/dist/config-report.js +1 -2
- package/dist/config.d.ts +0 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +0 -1
- package/dist/context-report.d.ts +13 -7
- package/dist/context-report.d.ts.map +1 -1
- package/dist/context-report.js +64 -61
- package/dist/context-tool-hygiene.d.ts +36 -0
- package/dist/context-tool-hygiene.d.ts.map +1 -0
- package/dist/context-tool-hygiene.js +125 -0
- package/dist/dashboard/client.d.ts +2 -0
- package/dist/dashboard/client.d.ts.map +1 -0
- package/dist/dashboard/client.js +305 -0
- package/dist/dashboard/model.d.ts +13 -0
- package/dist/dashboard/model.d.ts.map +1 -0
- package/dist/dashboard/model.js +112 -0
- package/dist/dashboard/page.d.ts +3 -0
- package/dist/dashboard/page.d.ts.map +1 -0
- package/dist/dashboard/page.js +204 -0
- package/dist/dashboard/types.d.ts +63 -0
- package/dist/dashboard/types.d.ts.map +1 -0
- package/dist/dashboard/types.js +1 -0
- package/dist/dashboard-server.d.ts +24 -4
- package/dist/dashboard-server.d.ts.map +1 -1
- package/dist/dashboard-server.js +397 -302
- package/dist/discovery-registry.d.ts +17 -3
- package/dist/discovery-registry.d.ts.map +1 -1
- package/dist/discovery-registry.js +78 -3
- package/dist/doctor.d.ts +8 -0
- package/dist/doctor.d.ts.map +1 -1
- package/dist/doctor.js +116 -0
- package/dist/eval/llm-tasks.d.ts +5 -0
- package/dist/eval/llm-tasks.d.ts.map +1 -0
- package/dist/eval/llm-tasks.js +125 -0
- package/dist/eval/repo-tasks.d.ts +12 -0
- package/dist/eval/repo-tasks.d.ts.map +1 -0
- package/dist/eval/repo-tasks.js +220 -0
- package/dist/eval/runner.d.ts +3 -1
- package/dist/eval/runner.d.ts.map +1 -1
- package/dist/eval/runner.js +23 -4
- package/dist/eval/tasks.d.ts.map +1 -1
- package/dist/eval/tasks.js +186 -0
- package/dist/eval/types.d.ts +8 -5
- package/dist/eval/types.d.ts.map +1 -1
- package/dist/execution/event-bus.d.ts +44 -0
- package/dist/execution/event-bus.d.ts.map +1 -0
- package/dist/execution/event-bus.js +76 -0
- package/dist/execution/failure-classifier.d.ts +11 -0
- package/dist/execution/failure-classifier.d.ts.map +1 -0
- package/dist/execution/failure-classifier.js +66 -0
- package/dist/execution/progress-detector.d.ts +3 -0
- package/dist/execution/progress-detector.d.ts.map +1 -0
- package/dist/execution/progress-detector.js +23 -0
- package/dist/execution/recovery-controller.d.ts +24 -0
- package/dist/execution/recovery-controller.d.ts.map +1 -0
- package/dist/execution/recovery-controller.js +114 -0
- package/dist/execution/recovery-messages.d.ts +24 -0
- package/dist/execution/recovery-messages.d.ts.map +1 -0
- package/dist/execution/recovery-messages.js +48 -0
- package/dist/execution/recovery-metrics.d.ts +16 -0
- package/dist/execution/recovery-metrics.d.ts.map +1 -0
- package/dist/execution/recovery-metrics.js +73 -0
- package/dist/execution/recovery-strategy-planner.d.ts +6 -0
- package/dist/execution/recovery-strategy-planner.d.ts.map +1 -0
- package/dist/execution/recovery-strategy-planner.js +24 -0
- package/dist/execution/run-trace-store.d.ts +29 -0
- package/dist/execution/run-trace-store.d.ts.map +1 -0
- package/dist/execution/run-trace-store.js +140 -0
- package/dist/execution/staged-verifier.d.ts +33 -0
- package/dist/execution/staged-verifier.d.ts.map +1 -0
- package/dist/execution/staged-verifier.js +39 -0
- package/dist/execution/types.d.ts +58 -0
- package/dist/execution/types.d.ts.map +1 -0
- package/dist/execution/types.js +1 -0
- package/dist/execution/verification-loop.d.ts +58 -0
- package/dist/execution/verification-loop.d.ts.map +1 -0
- package/dist/execution/verification-loop.js +195 -0
- package/dist/execution/verification-stages.d.ts +17 -0
- package/dist/execution/verification-stages.d.ts.map +1 -0
- package/dist/execution/verification-stages.js +102 -0
- package/dist/help-topics.d.ts.map +1 -1
- package/dist/help-topics.js +11 -0
- package/dist/index.js +0 -8
- package/dist/lsp/ts-service.d.ts +36 -0
- package/dist/lsp/ts-service.d.ts.map +1 -0
- package/dist/lsp/ts-service.js +291 -0
- package/dist/memory/lifecycle.d.ts +19 -0
- package/dist/memory/lifecycle.d.ts.map +1 -0
- package/dist/memory/lifecycle.js +53 -0
- package/dist/memory.d.ts +0 -16
- package/dist/memory.d.ts.map +1 -1
- package/dist/memory.js +0 -36
- package/dist/metrics/collector.d.ts +7 -0
- package/dist/metrics/collector.d.ts.map +1 -1
- package/dist/metrics/collector.js +60 -0
- package/dist/mission/manager.d.ts +1 -0
- package/dist/mission/manager.d.ts.map +1 -1
- package/dist/mission/manager.js +9 -0
- package/dist/mission/progress-notify.d.ts +39 -0
- package/dist/mission/progress-notify.d.ts.map +1 -0
- package/dist/mission/progress-notify.js +386 -0
- package/dist/pipeline/hooks.d.ts +1 -1
- package/dist/pipeline/hooks.d.ts.map +1 -1
- package/dist/pipeline/hooks.js +1 -0
- package/dist/pipeline/sections.d.ts +8 -4
- package/dist/pipeline/sections.d.ts.map +1 -1
- package/dist/pipeline/sections.js +70 -27
- package/dist/pipeline/verification.d.ts +1 -0
- package/dist/pipeline/verification.d.ts.map +1 -1
- package/dist/pipeline/verification.js +10 -7
- package/dist/providers/llm-client.d.ts +38 -0
- package/dist/providers/llm-client.d.ts.map +1 -0
- package/dist/providers/llm-client.js +105 -0
- package/dist/sdk.d.ts +1 -0
- package/dist/sdk.d.ts.map +1 -1
- package/dist/sdk.js +1 -0
- package/dist/session/durable-session-supervisor.d.ts.map +1 -1
- package/dist/session/durable-session-supervisor.js +13 -6
- package/dist/session/session-persistence.d.ts +29 -0
- package/dist/session/session-persistence.d.ts.map +1 -0
- package/dist/session/session-persistence.js +45 -0
- package/dist/session/session-scheduler.d.ts +8 -1
- package/dist/session/session-scheduler.d.ts.map +1 -1
- package/dist/session/session-scheduler.js +33 -4
- package/dist/session-task-report.d.ts +1 -0
- package/dist/session-task-report.d.ts.map +1 -1
- package/dist/session-task-report.js +2 -1
- package/dist/shortcuts.d.ts.map +1 -1
- package/dist/shortcuts.js +1 -0
- package/dist/skills/registry.d.ts.map +1 -1
- package/dist/skills/registry.js +10 -0
- package/dist/skills/security-scan.d.ts +15 -0
- package/dist/skills/security-scan.d.ts.map +1 -0
- package/dist/skills/security-scan.js +95 -0
- package/dist/skills/types.d.ts +2 -0
- package/dist/skills/types.d.ts.map +1 -1
- package/dist/statusline.d.ts +3 -3
- package/dist/statusline.d.ts.map +1 -1
- package/dist/statusline.js +9 -17
- package/dist/token-usage.d.ts +27 -0
- package/dist/token-usage.d.ts.map +1 -0
- package/dist/token-usage.js +107 -0
- package/dist/tools/bash.d.ts.map +1 -1
- package/dist/tools/bash.js +5 -3
- package/dist/tools/browser-act-session.d.ts +48 -0
- package/dist/tools/browser-act-session.d.ts.map +1 -0
- package/dist/tools/browser-act-session.js +168 -0
- package/dist/tools/browser-act.d.ts +14 -0
- package/dist/tools/browser-act.d.ts.map +1 -0
- package/dist/tools/browser-act.js +297 -0
- package/dist/tools/code-symbols.d.ts +35 -0
- package/dist/tools/code-symbols.d.ts.map +1 -0
- package/dist/tools/code-symbols.js +257 -0
- package/dist/tools/index.d.ts +4 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +22 -2
- package/dist/tools/lsp.d.ts +13 -0
- package/dist/tools/lsp.d.ts.map +1 -0
- package/dist/tools/lsp.js +136 -0
- package/dist/tools/patch.d.ts +5 -0
- package/dist/tools/patch.d.ts.map +1 -1
- package/dist/tools/patch.js +25 -4
- package/dist/tools/search.d.ts +7 -0
- package/dist/tools/search.d.ts.map +1 -1
- package/dist/tools/search.js +20 -3
- package/dist/tools/skill.d.ts +2 -0
- package/dist/tools/skill.d.ts.map +1 -1
- package/dist/tools/skill.js +47 -14
- package/dist/tools/subtask.d.ts +3 -1
- package/dist/tools/subtask.d.ts.map +1 -1
- package/dist/tools/subtask.js +151 -56
- package/dist/tui/shell.d.ts +12 -0
- package/dist/tui/shell.d.ts.map +1 -1
- package/dist/tui/shell.js +36 -3
- package/dist/tui/streaming-repl.d.ts +1 -0
- package/dist/tui/streaming-repl.d.ts.map +1 -1
- package/dist/tui/streaming-repl.js +27 -4
- package/dist/tui/streaming-tui.d.ts +10 -0
- package/dist/tui/streaming-tui.d.ts.map +1 -1
- package/dist/tui/streaming-tui.js +70 -12
- package/dist/types.d.ts +0 -8
- package/dist/types.d.ts.map +1 -1
- package/dist/workflow-runtime.d.ts.map +1 -1
- package/dist/workflow-runtime.js +10 -2
- package/dist/workflow-types.d.ts +2 -0
- package/dist/workflow-types.d.ts.map +1 -1
- package/docs/install.md +29 -8
- package/docs/skills.md +56 -7
- package/docs/web-routing.md +83 -0
- package/package.json +18 -4
- package/scripts/dep-layers.mjs +275 -0
- package/scripts/eval-llm.mjs +27 -0
- package/scripts/eval-recovery.mjs +101 -0
- package/scripts/eval-tasks.mjs +20 -0
- package/scripts/validate-packaging.mjs +51 -0
- package/skills/examples/README.md +23 -0
- package/skills/examples/add-function/SKILL.md +31 -0
- package/skills/examples/fix-failing-test/SKILL.md +32 -0
- package/skills/examples/pr-summary/SKILL.md +34 -0
- package/skills/lifecycle-build/SKILL.md +22 -0
- package/skills/lifecycle-plan/SKILL.md +32 -0
- package/skills/lifecycle-review/SKILL.md +25 -0
- package/skills/lifecycle-ship/SKILL.md +22 -0
- package/skills/lifecycle-spec/SKILL.md +24 -0
- package/skills/lifecycle-test/SKILL.md +21 -0
- package/skills/opencli/SKILL.md +222 -0
- package/skills/qling.md +14 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,7 +1,161 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## Unreleased
|
|
4
|
+
|
|
5
|
+
### Phase 7.0 — Sprint 4 分发与生态
|
|
6
|
+
|
|
7
|
+
- **`eval:tasks`**:10 个本地 repo fixture(修测试 / 改文案 / 加函数 / 重命名 / 修 import / package scripts / JSON / 文档节 / 多文件一致 / 中文路径),不依赖 LLM。
|
|
8
|
+
- **`validate:packaging`**:校验 Scoop / winget 草案版本与 `package.json` 对齐。
|
|
9
|
+
- **Scoop / winget 文档**:`docs/install.md` 与 `packaging/README.md` 补充本地校验步骤;清单版本钉到 1.1.0。
|
|
10
|
+
- **Skills 示例包**:`fix-failing-test` / `add-function` / `pr-summary` + `skills/examples/README.md`。
|
|
11
|
+
- **英文 README**:补齐 1.1 能力、eval、分发与 skills 说明。
|
|
12
|
+
- **Demo 说明**:`docs/demo.md`(文字演示路径;GIF 另录不入库)。
|
|
13
|
+
- **`ci:check`**:纳入 `eval:tasks` 与 `validate:packaging`。
|
|
14
|
+
|
|
15
|
+
## v1.1.0 (2026-07-14)
|
|
16
|
+
|
|
17
|
+
1.1 聚焦:**可证明的执行韧性**、**可维护的内核分层**、**编码/TUI 精度** 与 **Windows CI**。
|
|
18
|
+
|
|
19
|
+
### Highlights
|
|
20
|
+
|
|
21
|
+
- 执行韧性:确定性恢复策略、`/recover`、验证闭环、脱敏 trace、`eval:recovery`
|
|
22
|
+
- 架构:从 `agent-loop` 抽出 LLM 客户端、工具编排、主循环、system prompt、session 持久、验证闭环
|
|
23
|
+
- 编码精度:patch 原子写、repo-map/search 预算、工具输出折叠与 CJK 宽度
|
|
24
|
+
- CI:ubuntu 全量 + windows unit
|
|
25
|
+
|
|
26
|
+
### Phase 6.0 — Sprint 3 编码精度 / TUI / Windows CI
|
|
27
|
+
|
|
28
|
+
- **patch 原子写**:`writeFileAtomic`(temp + rename,Windows 回退直写),降低半截写入风险。
|
|
29
|
+
- **repo map 预算**:`buildRepoMapSection` 支持 `maxSymbols`/`maxChars`(默认 200 / 6000),超限截断并提示。
|
|
30
|
+
- **search 上下文卫生**:默认 limit 40;`truncateSearchLine` 截断过长匹配行。
|
|
31
|
+
- **TUI**:工具输出折叠 footer 中英双语;底部提示含 Shift+Tab / `/mode`;CJK `visibleWidth` 回归测试。
|
|
32
|
+
- **CI**:ubuntu 全量 `ci:check` + `windows-latest` 跑 unit(`npm run test`)。
|
|
33
|
+
|
|
34
|
+
### Phase 5.2 — 巨石拆分预备
|
|
35
|
+
|
|
36
|
+
- **LLM 客户端抽出**:`src/providers/llm-client.ts`(`LlmHttpClient`)
|
|
37
|
+
- **记忆 lifecycle 抽出**:`src/memory/lifecycle.ts` 的 `runAutoDream`
|
|
38
|
+
- **Dashboard 解耦**:对 `dashboard-server` 动态 import
|
|
39
|
+
- **工具编排抽出**:`src/agent/tool-orchestrator.ts`
|
|
40
|
+
- **验证闭环抽出**:`src/execution/verification-loop.ts` + `recovery-messages.ts`
|
|
41
|
+
- **Session 持久抽出**:`src/session/session-persistence.ts`
|
|
42
|
+
- **主循环 / system prompt 抽出**:`src/agent/main-loop.ts`、`src/agent/system-prompt.ts`
|
|
43
|
+
|
|
44
|
+
### Phase 5.1 — 验证闭环统一 + Doctor
|
|
45
|
+
|
|
46
|
+
- 写操作恢复只走 `StagedVerifier`;多阶段 env 配置
|
|
47
|
+
- Progress 含 `changedFiles` / 策略字段
|
|
48
|
+
- Doctor Phase5:`recovery_budget` / `run_traces` / `verifier_stages` / `verify_llm_advisory`
|
|
49
|
+
- Metrics:`pausedRuns`、`averageTimeToPauseMs`
|
|
50
|
+
|
|
51
|
+
### Phase 5.0 — 执行韧性收口
|
|
52
|
+
|
|
53
|
+
- `RecoveryStrategyPlanner` + 暂停动作语义
|
|
54
|
+
- TUI 订阅 execution events
|
|
55
|
+
- `eval:recovery` 扩充
|
|
56
|
+
|
|
57
|
+
### TUI / Dashboard / Phase 3–4(延续)
|
|
58
|
+
|
|
59
|
+
- Shift+Tab 模式循环、Slash 输入框修复、Dashboard 任务工作台
|
|
60
|
+
- Harness lean、progressive skills、角色 sub-agent、browser_act、LSP 可选等(详见下方历史与 v1.0.0)
|
|
61
|
+
|
|
62
|
+
### Phase 3.4 — Eval harness 指标(smoke 增量)
|
|
63
|
+
|
|
64
|
+
- `eval:smoke` 新增:工具输出折叠、explore 只读、回传契约、skill 扫描、角色别名等本地任务。
|
|
65
|
+
|
|
66
|
+
### Phase 3.3 — 浏览器 / 外联路由
|
|
67
|
+
|
|
68
|
+
- **`docs/web-routing.md`**:opencli / url_fetch / browser_fetch / browser_act 决策树。
|
|
69
|
+
- **`browser_act` 工具**:有限 goto/click/type/wait_for/extract/press;**默认关闭**(`QLING_BROWSER_ACT=1` 启用);共用网络 Guard;Plan Mode 禁止。
|
|
70
|
+
- opencli skill 与 system Restrictions 同步分工说明。
|
|
71
|
+
|
|
72
|
+
### Phase 3.3.1 — browser_act 跨步会话
|
|
73
|
+
|
|
74
|
+
- **`session` 保活**:`open` / `close` / `status` + 同 session 上 click/type/extract。
|
|
75
|
+
- 空闲回收:`QLING_BROWSER_ACT_IDLE_TTL_MS`(默认 10min);上限 `QLING_BROWSER_ACT_MAX_SESSIONS`(默认 3)。
|
|
76
|
+
- 模块:`src/tools/browser-act-session.ts`。
|
|
77
|
+
|
|
78
|
+
### Phase 3.2.1 — explore 并行(默认关)
|
|
79
|
+
|
|
80
|
+
- `subtask tasks=["…","…"]` + `role=explore|review`,须 `QLING_SUBTASK_PARALLEL=1`。
|
|
81
|
+
- implement 禁止并行;上限 `QLING_SUBTASK_PARALLEL_MAX`(默认 3)。
|
|
82
|
+
- 模块:`src/agent/subtask-parallel.ts`。
|
|
83
|
+
|
|
84
|
+
### Phase 3.5 — Mission 进度通知
|
|
85
|
+
|
|
86
|
+
- 使命状态变更可推送 Telegram / Slack(需已配置 channel token + chat/channel id)。
|
|
87
|
+
- `QLING_MISSION_NOTIFY=off` 可关;`QLING_MISSION_TELEGRAM_CHAT_ID` / `QLING_MISSION_SLACK_CHANNEL_ID` 可选覆盖。
|
|
88
|
+
|
|
89
|
+
### Phase 3.5.1 — 通知结构化卡片
|
|
90
|
+
|
|
91
|
+
- 默认 `QLING_MISSION_NOTIFY_STYLE=rich`:Telegram HTML、Slack Block Kit;`plain` 回退纯文本。
|
|
92
|
+
- 状态 emoji 前缀;失败带错误摘要。
|
|
93
|
+
|
|
94
|
+
### Phase 3.5.2 — 使命日志推送 + Doctor Phase3
|
|
95
|
+
|
|
96
|
+
- **日志推送**:`appendLog` 可推送通道;`QLING_MISSION_NOTIFY_LOGS=off|milestone|all`(默认 milestone)。
|
|
97
|
+
- **`qling doctor`**:展示 browser_act / subtask_parallel / mission_notify 开关摘要。
|
|
98
|
+
- **可选 e2e**:`QLING_BROWSER_ACT_E2E=1` + `QLING_BROWSER_ACT=1` 跑真实 Playwright 冒烟(默认 skip)。
|
|
99
|
+
|
|
100
|
+
### Phase 4.0–4.2 — 路线 + LLM eval + code_symbols
|
|
101
|
+
|
|
102
|
+
- **路线**:`docs/superpowers/specs/20260710-phase4-capability-roadmap-spec.md`
|
|
103
|
+
- **可选 LLM 评测**:`npm run eval:llm`(需 `QLING_EVAL_LLM=1` + API key;默认 skip,不进 ci:check)
|
|
104
|
+
- **工具 `code_symbols`**:工作区符号名检索(静态提取,非完整 LSP);explore/implement/review 可用
|
|
105
|
+
- eval:smoke 增加 code_symbols 本地任务
|
|
106
|
+
|
|
107
|
+
### Phase 4.3 — 可选 TypeScript 语义查询(lsp)
|
|
108
|
+
|
|
109
|
+
- **工具 `lsp`**:`definition` / `hover` / `references` / `document_symbols`
|
|
110
|
+
- **默认关闭**:`QLING_LSP=1` 启用;动态加载 `typescript`(缺包时明确报错)
|
|
111
|
+
- 进程内 LanguageService(非 stdio 多语言 LSP 协议);`doctor` 展示 phase4:lsp
|
|
112
|
+
- 通用符号扫描仍用 `code_symbols`
|
|
113
|
+
|
|
114
|
+
### Phase 4.4 — 模块分层与包边界
|
|
115
|
+
|
|
116
|
+
- **文档**:`docs/architecture-layers.md`(目标分层、禁止边、拆包门槛)
|
|
117
|
+
- **扫描**:`npm run dep:layers` → `scripts/dep-layers.mjs`(`--json` / `--write-doc` / `--strict`)
|
|
118
|
+
- **诚实债务**:记录 adapters→cli、eval/runtime 等反向依赖;strict 暂不进 ci:check
|
|
119
|
+
|
|
120
|
+
### 审计收尾 — 本地优先与恢复边界
|
|
121
|
+
|
|
122
|
+
- Memory Dream LLM 改为仅在 `QLING_MEMORY_DREAM_LLM_ENABLED=true|1|on|yes` 时启用,SDK 直接构造默认不额外调用模型。
|
|
123
|
+
- 远程 discovery 默认拒绝未签名清单,并接入 network Guard、禁止自动重定向、限制 1 MiB 响应;需审批 source 在无审批回调时 fail-closed。
|
|
124
|
+
- Discovery 工具清单与运行时可执行工具分离,未绑定 handler/MCP transport 的 metadata 不再向模型宣称可调用。
|
|
125
|
+
- Workflow checkpoint 持久化状态机定义,恢复后迁移继续有效;非法 `runId` 和缺失定义的旧 checkpoint 明确拒绝。
|
|
126
|
+
- `browser_act` 在创建会话前完成 URL Guard 检查,拒绝目标不再留下空白 Playwright 会话。
|
|
127
|
+
|
|
3
128
|
## v1.0.0 (2026-07-09)
|
|
4
129
|
|
|
130
|
+
### opencli 小红书路由补强
|
|
131
|
+
|
|
132
|
+
- skill `opencli` 增加小红书专节:`note`/`comments` 必须使用含 `xsec_token` 的完整 URL(禁止裸 note-id)。
|
|
133
|
+
- Restrictions 同步提示 xiaohongshu 正确传参。
|
|
134
|
+
|
|
135
|
+
### Agent 任务执行基本规则
|
|
136
|
+
|
|
137
|
+
- 常驻 system prompt(Workflow / Restrictions / Tone)固化三条规则:
|
|
138
|
+
1. 调用外部工具前先做工具与任务的关联分析
|
|
139
|
+
2. 成功后总结正确可复现流程
|
|
140
|
+
3. 单流程失败或未准确执行时实事求是承认
|
|
141
|
+
|
|
142
|
+
### Agent 路由(opencli)
|
|
143
|
+
|
|
144
|
+
- **内置 skill `opencli`**:教模型用 `bash` + `opencli <site> … -f json` 获取平台数据;明确抖音≠TikTok、禁止 `url_fetch` 强反爬站。
|
|
145
|
+
- **system prompt 短路由**:Restrictions 中写入网页/社交平台调用规则。
|
|
146
|
+
- **skill 扫描路径**:包内 `skills/` + `~/.qling/skills/` + 工作区 skills,全局安装后仍能加载内置 skill。
|
|
147
|
+
|
|
148
|
+
### Token 与预算
|
|
149
|
+
|
|
150
|
+
- **官方 usage 计数**:会话 token 仅累加模型 API 返回的 `prompt_tokens` / `completion_tokens` / `total_tokens`(及 Anthropic/Ollama 等价字段);不再用字符×4 估算账单。
|
|
151
|
+
- **删除预算功能**:移除 `TokenBudgetManager`、预算 nudge、system prompt Token 预算节、`max_token_budget` 配置接线与百分比水位。
|
|
152
|
+
- **展示**:`/usage`、`/context`、statusline 显示 total/in/out 与 `provider|unknown` 来源。
|
|
153
|
+
|
|
154
|
+
### TUI 体验(结果聚焦)
|
|
155
|
+
|
|
156
|
+
- **输入区去噪**:输入框上方不再打印 statusline 与快捷键黑灰提示行;详情仍用 `/statusline`、`/shortcuts` 与顶栏。
|
|
157
|
+
- **结果高亮**:任务最终答复以「结果」边框强调;完成态改为醒目的「任务完成」+ 耗时。
|
|
158
|
+
|
|
5
159
|
### 发布收尾(发布就绪补丁)
|
|
6
160
|
|
|
7
161
|
- **跨平台 CI**:`write-sandbox` 单测改用 `path.resolve`/`tmpdir`,去掉硬编码 `C:\\` 路径。
|
package/README.en.md
CHANGED
|
@@ -2,13 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
[](#requirements)
|
|
4
4
|
[](LICENSE)
|
|
5
|
-
[](CHANGELOG.md)
|
|
6
|
+
[](https://github.com/Zzy-min/qling/releases)
|
|
6
7
|
|
|
7
8
|
**Qling** is a **local-first** AI Agent CLI workbench. It keeps sessions, tools, skills, permissions, diagnostics, long-running missions, and recovery controls in one auditable terminal console.
|
|
8
9
|
|
|
9
10
|
> One line: Qling turns the agent into a local workbench—not a black-box chat window.
|
|
10
11
|
|
|
11
|
-
**Chinese docs:** [README.md](README.md) · **Install
|
|
12
|
+
**Chinese docs:** [README.md](README.md) · **Install:** [docs/install.md](docs/install.md) · **Skills:** [docs/skills.md](docs/skills.md) · **Demo notes:** [docs/demo.md](docs/demo.md)
|
|
12
13
|
|
|
13
14
|
## Why Qling
|
|
14
15
|
|
|
@@ -16,15 +17,23 @@
|
|
|
16
17
|
|---|---|
|
|
17
18
|
| Local-first | Sessions, checkpoints, exports, memory, and diagnostics stay on disk; `qling privacy` shows boundaries. |
|
|
18
19
|
| Chinese UX | TUI, help, and slash aliases target Chinese terminals (English works too). |
|
|
19
|
-
| Recoverable | `/checkpoint`, `/resume`,
|
|
20
|
+
| Recoverable | `/checkpoint`, `/resume`, `/recover`, staged verification, execution traces. |
|
|
20
21
|
| Governed tools | Permission matrix, approval gate, content filter, audit log. |
|
|
21
22
|
| Honest boundaries | Unsupported cloud features are explained—never faked. |
|
|
22
23
|
|
|
24
|
+
## What's new in 1.1
|
|
25
|
+
|
|
26
|
+
- Deterministic recovery strategies + staged verification (`eval:recovery`)
|
|
27
|
+
- Leaner agent core: LLM client, tool orchestration, main loop, system prompt extracted from the monolith
|
|
28
|
+
- Coding precision: atomic patch writes, repo-map/search budgets, bilingual tool-output fold, CJK width
|
|
29
|
+
- Windows unit CI alongside full Ubuntu `ci:check`
|
|
30
|
+
- Sprint 4 ecosystem: `eval:tasks` fixtures, packaging validators, example skills pack
|
|
31
|
+
|
|
23
32
|
## Requirements
|
|
24
33
|
|
|
25
34
|
- Node.js ≥ 18
|
|
26
35
|
- npm ≥ 9
|
|
27
|
-
- Optional: Playwright Chromium for `browser_fetch`
|
|
36
|
+
- Optional: Playwright Chromium for `browser_fetch` / `browser_act`
|
|
28
37
|
|
|
29
38
|
## Install
|
|
30
39
|
|
|
@@ -36,27 +45,37 @@ cd qling
|
|
|
36
45
|
npm run bootstrap
|
|
37
46
|
# optional browser tools:
|
|
38
47
|
npm run bootstrap -- --with-browser
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
Link the CLI globally:
|
|
42
|
-
|
|
43
|
-
```bash
|
|
44
48
|
npm link
|
|
45
|
-
qling
|
|
49
|
+
qling --version
|
|
46
50
|
```
|
|
47
51
|
|
|
48
52
|
### From npm
|
|
49
53
|
|
|
54
|
+
Package name is scoped: **`@qlingzzy/qling`** (CLI binary remains `qling`):
|
|
55
|
+
|
|
50
56
|
```bash
|
|
51
57
|
npm install -g @qlingzzy/qling
|
|
52
|
-
# CLI binary is still: qling
|
|
53
58
|
qling bootstrap
|
|
54
59
|
qling setup
|
|
55
60
|
```
|
|
56
61
|
|
|
57
|
-
|
|
62
|
+
From GitHub without npm registry:
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
npm install -g github:Zzy-min/qling
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
> `better-sqlite3` is a native module. On Windows install [VS Build Tools](https://visualstudio.microsoft.com/visual-cpp-build-tools/) if prebuilds are unavailable.
|
|
69
|
+
|
|
70
|
+
### Windows: Scoop / winget drafts
|
|
71
|
+
|
|
72
|
+
Drafts live under `packaging/` and are **not** in official catalogs yet:
|
|
73
|
+
|
|
74
|
+
```powershell
|
|
75
|
+
npm run validate:packaging
|
|
76
|
+
```
|
|
58
77
|
|
|
59
|
-
See [docs/install.md](docs/install.md) for PowerShell env vars, Scoop
|
|
78
|
+
See [docs/install.md](docs/install.md) for PowerShell env vars, Scoop notes, and winget submission checklist.
|
|
60
79
|
|
|
61
80
|
## Minimal config
|
|
62
81
|
|
|
@@ -76,7 +95,7 @@ Interactive wizard (does **not** write secrets into `.env`):
|
|
|
76
95
|
qling setup
|
|
77
96
|
```
|
|
78
97
|
|
|
79
|
-
Any OpenAI-compatible endpoint works via `QLING_LLM_ENDPOINT` + `QLING_LLM_MODEL`.
|
|
98
|
+
Any OpenAI-compatible endpoint works via `QLING_LLM_ENDPOINT` + `QLING_LLM_MODEL`. Local models: `/model use ollama`.
|
|
80
99
|
|
|
81
100
|
## Four commands to try
|
|
82
101
|
|
|
@@ -105,24 +124,70 @@ qling privacy # data retention paths
|
|
|
105
124
|
/model list provider presets
|
|
106
125
|
/model use ollama
|
|
107
126
|
/plan on read-only plan mode
|
|
127
|
+
/skill list progressive skills index
|
|
108
128
|
/expand expand long tool output
|
|
129
|
+
/recover execution recovery controls
|
|
130
|
+
/verify verification command / stages
|
|
109
131
|
/doctor environment check
|
|
110
132
|
/privacy data boundaries
|
|
111
133
|
```
|
|
112
134
|
|
|
135
|
+
Shift+Tab cycles agent modes in the TUI.
|
|
136
|
+
|
|
137
|
+
## Skills
|
|
138
|
+
|
|
139
|
+
Progressive skills: short index in the system prompt; full body loaded on demand via `skill` tool or `/skill`.
|
|
140
|
+
|
|
141
|
+
Bundled examples (`skills/examples/`):
|
|
142
|
+
|
|
143
|
+
| Skill | Use when |
|
|
144
|
+
|-------|----------|
|
|
145
|
+
| `repo-triage` | Onboarding an unfamiliar repo |
|
|
146
|
+
| `fix-failing-test` | Red unit tests |
|
|
147
|
+
| `add-function` | Small exported API addition |
|
|
148
|
+
| `pr-summary` | PR / release notes from git |
|
|
149
|
+
|
|
150
|
+
Also: `opencli`, lifecycle suite (`lifecycle-spec` … `lifecycle-ship`), template at `skills/templates/SKILL.md`.
|
|
151
|
+
|
|
152
|
+
Details: [docs/skills.md](docs/skills.md).
|
|
153
|
+
|
|
154
|
+
## Eval & quality gates
|
|
155
|
+
|
|
156
|
+
```bash
|
|
157
|
+
npm test # unit
|
|
158
|
+
npm run test:smoke
|
|
159
|
+
npm run eval:smoke # local policy/presets smoke
|
|
160
|
+
npm run eval:recovery # recovery planner fixtures
|
|
161
|
+
npm run eval:tasks # 10 coding repo fixtures (no LLM)
|
|
162
|
+
npm run validate:packaging
|
|
163
|
+
npm run ci:check # CI entry (ubuntu); windows runs unit
|
|
164
|
+
# optional with key:
|
|
165
|
+
QLING_EVAL_LLM=1 npm run eval:llm
|
|
166
|
+
```
|
|
167
|
+
|
|
113
168
|
## Design principles
|
|
114
169
|
|
|
115
170
|
- **Local-first** — valuable state stays on the machine.
|
|
116
171
|
- **Slash-first** — discover controls from `/`.
|
|
117
|
-
- **Recoverable** — checkpoint / resume /
|
|
172
|
+
- **Recoverable** — checkpoint / resume / recover / verify.
|
|
118
173
|
- **Honest boundaries** — no fake success for unsupported features.
|
|
119
174
|
- **Terminal-native** — enhance TUI without heavy GUI deps.
|
|
120
175
|
|
|
176
|
+
## Packaging status (honest)
|
|
177
|
+
|
|
178
|
+
| Channel | Status |
|
|
179
|
+
|---------|--------|
|
|
180
|
+
| Source + bootstrap | Ready |
|
|
181
|
+
| npm `@qlingzzy/qling` | Ready when published (`npm login` required on publisher machine) |
|
|
182
|
+
| Scoop | Draft manifest only |
|
|
183
|
+
| winget | Draft YAML only |
|
|
184
|
+
| Portable zip / single binary | Not yet |
|
|
185
|
+
|
|
121
186
|
## Version
|
|
122
187
|
|
|
123
|
-
-
|
|
188
|
+
- Package: `1.1.0` (see latest tag on GitHub for hotfixes)
|
|
124
189
|
- Changelog: [CHANGELOG.md](CHANGELOG.md)
|
|
125
|
-
-
|
|
190
|
+
- Specs / plans: `docs/superpowers/`
|
|
126
191
|
|
|
127
192
|
## License
|
|
128
193
|
|
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
[](#环境要求)
|
|
4
4
|
[](LICENSE)
|
|
5
|
-
[](CHANGELOG.md)
|
|
6
6
|
|
|
7
7
|
[English](README.en.md) · [安装指南](docs/install.md) · [CHANGELOG](CHANGELOG.md)
|
|
8
8
|
|
|
@@ -20,10 +20,10 @@
|
|
|
20
20
|
| 可恢复长任务 | `/checkpoint`、`/resume`、`/rewind`、`--continue`、`qling workflow resume` 让中断后的上下文可以接上。 |
|
|
21
21
|
| 本地 skill | `skills/` 与 `.qling/skills/` 中的 Markdown skill 可被 `/skill` 或 `/<skill-name>` 直接读取;内置命令优先级高于 skill。 |
|
|
22
22
|
| 后台使命 | `qling daemon` + `qling mission` 提供长任务状态机、暂停 / 恢复 / 重试 / attach。 |
|
|
23
|
-
|
|
|
23
|
+
| 任务工作台 | `qling dashboard start` 打开仅监听本机的任务中心,统一查看 Mission、循环任务、Workflow、执行来源与最近活动。 |
|
|
24
24
|
| 通道与扩展 | `src/channels/` 内置 console / Telegram / Slack 通道;`qling discovery sync` 动态同步插件与技能。 |
|
|
25
25
|
| 权限可解释 | `/permissions`、`/permissions explain <tool>`、guard、内容过滤、速率限制和密钥脱敏都以本地规则呈现。 |
|
|
26
|
-
| 上下文透明 | `/context`、`/usage` 显示 token
|
|
26
|
+
| 上下文透明 | `/context`、`/usage` 显示 provider 官方 token usage 与压缩状态(无预算)。 |
|
|
27
27
|
| 诊断内建 | `/doctor`、`/config`、`/mcp`、`/hooks`、`/diff` 用于快速判断当前项目和运行时状态。 |
|
|
28
28
|
| 诚实边界 | 平台专属命令会被识别并给出本地边界说明,不会伪装成功。 |
|
|
29
29
|
|
|
@@ -219,7 +219,7 @@ qling 日志 <id> # logs <id>
|
|
|
219
219
|
| Command | Purpose |
|
|
220
220
|
|---|---|
|
|
221
221
|
| `/model [model]` | 显示或切换当前 session 模型;不写入配置文件。 |
|
|
222
|
-
| `/usage`, `/cost`, `/stats` | token
|
|
222
|
+
| `/usage`, `/cost`, `/stats` | provider 官方 token usage(input/output/total)与压缩次数。 |
|
|
223
223
|
| `/context` | 本地上下文和 token 使用情况。 |
|
|
224
224
|
| `/statusline [on\|off]` | 显示或切换输入区状态线。 |
|
|
225
225
|
|
|
@@ -401,14 +401,22 @@ npm audit --registry=https://registry.npmjs.org --audit-level=high
|
|
|
401
401
|
|
|
402
402
|
## 版本与变更
|
|
403
403
|
|
|
404
|
-
- 当前版本:`1.
|
|
404
|
+
- 当前版本:`1.1.0`(Sprint 4 分发/生态见 CHANGELOG Unreleased)
|
|
405
405
|
- 完整变更历史:见 [CHANGELOG.md](CHANGELOG.md)
|
|
406
406
|
- 安装与分发:见 [docs/install.md](docs/install.md)、[packaging/](packaging/)
|
|
407
407
|
- Skills:见 [docs/skills.md](docs/skills.md)
|
|
408
|
+
- 演示路径:见 [docs/demo.md](docs/demo.md)
|
|
409
|
+
- 评测:`npm run eval:smoke` / `eval:recovery` / `eval:tasks`
|
|
410
|
+
- 网页/平台路由:见 [docs/web-routing.md](docs/web-routing.md)
|
|
408
411
|
- SDK:见 [docs/sdk.md](docs/sdk.md)
|
|
409
|
-
- 本地评测:`npm run eval:smoke`
|
|
412
|
+
- 本地评测:`npm run eval:smoke`(无 LLM);可选 `QLING_EVAL_LLM=1 npm run eval:llm`
|
|
413
|
+
- Phase 4 路线:`docs/superpowers/specs/20260710-phase4-capability-roadmap-spec.md`
|
|
414
|
+
- 可选 TS 语义:`QLING_LSP=1` 后使用工具 `lsp`(definition/hover/…)
|
|
415
|
+
- 模块分层:`docs/architecture-layers.md`;`npm run dep:layers`
|
|
410
416
|
- 英文说明:见 [README.en.md](README.en.md)
|
|
411
|
-
-
|
|
417
|
+
- 竞品对标与 1.0 路线:见 `docs/superpowers/specs/20260709-agent-cli-competitive-analysis-and-v1-roadmap-spec.md`
|
|
418
|
+
- **2026-07 生态续调研与 Phase 3 路线**:见 `docs/superpowers/specs/20260710-agent-ecosystem-refresh-and-phase3-roadmap-spec.md`
|
|
419
|
+
- Phase 3 实施计划:见 `docs/superpowers/plans/20260710-phase3-harness-lean-skills-orchestration-plan.md`
|
|
412
420
|
- 设计 / 实施文档:见 `docs/superpowers/specs/`、`docs/superpowers/plans/`
|
|
413
421
|
|
|
414
422
|
## License
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { type ChatUsage, type TokenUsageSource } from "../token-usage.js";
|
|
2
|
+
import type { Message, ToolCall, ToolDefinition } from "../types.js";
|
|
3
|
+
import type { ToolPipeline } from "../pipeline/hooks.js";
|
|
4
|
+
import type { GuardConfig } from "../config.js";
|
|
5
|
+
import type { Channel } from "../channels/types.js";
|
|
6
|
+
import type { ApprovalGate } from "../guard/approval.js";
|
|
7
|
+
import type { KnowledgeAgentAdapter } from "../knowledge-agent.js";
|
|
8
|
+
import type { MemoryStore } from "../memory.js";
|
|
9
|
+
import type { WorkflowRuntime } from "../workflow-runtime.js";
|
|
10
|
+
import type { ContextCompactor } from "../context-compactor.js";
|
|
11
|
+
import type { VerificationAgent } from "../pipeline/verification.js";
|
|
12
|
+
import type { ExecutionEventBus } from "../execution/event-bus.js";
|
|
13
|
+
import type { RecoveryController } from "../execution/recovery-controller.js";
|
|
14
|
+
import type { FailureClassification, RecoveryState } from "../execution/types.js";
|
|
15
|
+
import { type ReflectionDecision } from "./tool-orchestrator.js";
|
|
16
|
+
import type { LlmChatResponse } from "../providers/llm-client.js";
|
|
17
|
+
export interface TurnTelemetry {
|
|
18
|
+
turn: number;
|
|
19
|
+
toolCalls: number;
|
|
20
|
+
toolFailures: number;
|
|
21
|
+
}
|
|
22
|
+
export interface TokenCounters {
|
|
23
|
+
sessionTokens: number;
|
|
24
|
+
sessionPromptTokens: number;
|
|
25
|
+
sessionCompletionTokens: number;
|
|
26
|
+
tokenUsageSource: TokenUsageSource;
|
|
27
|
+
}
|
|
28
|
+
export declare function applyProviderUsage(counters: TokenCounters, usage: ChatUsage | undefined): TokenCounters;
|
|
29
|
+
export declare function logTurnTelemetry(metrics: TurnTelemetry, totals: {
|
|
30
|
+
toolCallTotal: number;
|
|
31
|
+
toolFailureTotal: number;
|
|
32
|
+
compactionCount: number;
|
|
33
|
+
retryCountTotal: number;
|
|
34
|
+
format: "text" | "json";
|
|
35
|
+
}): {
|
|
36
|
+
toolCallTotal: number;
|
|
37
|
+
toolFailureTotal: number;
|
|
38
|
+
};
|
|
39
|
+
export declare function distillSuccessfulBashPractices(preparedCalls: Array<{
|
|
40
|
+
call: ToolCall;
|
|
41
|
+
immediateResult?: {
|
|
42
|
+
is_error?: boolean;
|
|
43
|
+
};
|
|
44
|
+
}>, messages: Message[], memoryStore: MemoryStore): void;
|
|
45
|
+
export interface InnerLoopHost {
|
|
46
|
+
messages: Message[];
|
|
47
|
+
turnCount: number;
|
|
48
|
+
sessionId: string;
|
|
49
|
+
maxIterations: number;
|
|
50
|
+
toolRepeatLimit: number;
|
|
51
|
+
parseRetries: number;
|
|
52
|
+
verificationCommand: string | null;
|
|
53
|
+
counters: TokenCounters;
|
|
54
|
+
compactionCount: number;
|
|
55
|
+
toolCallTotal: number;
|
|
56
|
+
toolFailureTotal: number;
|
|
57
|
+
retryCountTotal: number;
|
|
58
|
+
loggingFormat: "text" | "json";
|
|
59
|
+
activeRunId?: string;
|
|
60
|
+
compactor: ContextCompactor;
|
|
61
|
+
pipeline: ToolPipeline;
|
|
62
|
+
tools: ToolDefinition[];
|
|
63
|
+
guardConfig: GuardConfig;
|
|
64
|
+
channel: Channel | null;
|
|
65
|
+
approvalGate: ApprovalGate;
|
|
66
|
+
knowledgeAdapter: KnowledgeAgentAdapter;
|
|
67
|
+
memoryStore: MemoryStore;
|
|
68
|
+
workspaceDir: string;
|
|
69
|
+
workflowRuntime: WorkflowRuntime;
|
|
70
|
+
executionEventBus: ExecutionEventBus;
|
|
71
|
+
recoveryController: RecoveryController;
|
|
72
|
+
verifier: VerificationAgent;
|
|
73
|
+
buildSystemPrompt: () => Promise<string>;
|
|
74
|
+
chat: (systemPrompt: string, overrides?: Record<string, unknown>) => Promise<LlmChatResponse>;
|
|
75
|
+
emit: (event: string, ...args: unknown[]) => void;
|
|
76
|
+
runVerificationCommand: (cmd: string) => Promise<{
|
|
77
|
+
code: number;
|
|
78
|
+
stdout: string;
|
|
79
|
+
stderr: string;
|
|
80
|
+
}>;
|
|
81
|
+
getRecoveryState: () => RecoveryState | null;
|
|
82
|
+
reflectiveThink: (tc: ToolCall) => Promise<{
|
|
83
|
+
decision: ReflectionDecision;
|
|
84
|
+
reason: string;
|
|
85
|
+
}>;
|
|
86
|
+
checkAutoDream: () => Promise<void>;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Inner maxIterations loop: compact → prompt → chat → tools → verify.
|
|
90
|
+
* Mutates host.messages / counters / turnCount in place.
|
|
91
|
+
*/
|
|
92
|
+
export declare function runInnerIterationLoop(host: InnerLoopHost): Promise<string>;
|
|
93
|
+
export interface OuterLoopHost {
|
|
94
|
+
sessionId: string;
|
|
95
|
+
activeRun: {
|
|
96
|
+
runId: string;
|
|
97
|
+
sessionId: string;
|
|
98
|
+
originalTask: string;
|
|
99
|
+
startedAt: number;
|
|
100
|
+
} | null;
|
|
101
|
+
messages: Message[];
|
|
102
|
+
executionEventBus: ExecutionEventBus;
|
|
103
|
+
recoveryController: RecoveryController;
|
|
104
|
+
emit: (event: string, ...args: unknown[]) => void;
|
|
105
|
+
getRecoveryState: () => RecoveryState | null;
|
|
106
|
+
formatRecoveryPause: (reason: string, next: string) => string;
|
|
107
|
+
applyRecoveryStrategy: (failure: FailureClassification, strategy?: string) => Promise<void>;
|
|
108
|
+
executeInner: () => Promise<string>;
|
|
109
|
+
setActiveRun: (run: {
|
|
110
|
+
runId: string;
|
|
111
|
+
sessionId: string;
|
|
112
|
+
originalTask: string;
|
|
113
|
+
startedAt: number;
|
|
114
|
+
} | null) => void;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Outer loop: start run, handle provider transport retries + recovery strategy.
|
|
118
|
+
*/
|
|
119
|
+
export declare function runOuterAgentLoop(host: OuterLoopHost): Promise<string>;
|
|
120
|
+
//# sourceMappingURL=main-loop.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main-loop.d.ts","sourceRoot":"","sources":["../../src/agent/main-loop.ts"],"names":[],"mappings":"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"}
|