@dommaker/harness 0.8.3 → 0.9.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/README.md +127 -187
- package/bin/harness.js +15 -65
- package/dist/agents/index.d.ts +3 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +19 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/lifecycle.d.ts +68 -0
- package/dist/agents/lifecycle.d.ts.map +1 -0
- package/dist/agents/lifecycle.js +181 -0
- package/dist/agents/lifecycle.js.map +1 -0
- package/dist/agents/types.d.ts +42 -0
- package/dist/agents/types.d.ts.map +1 -0
- package/dist/agents/types.js +6 -0
- package/dist/agents/types.js.map +1 -0
- package/dist/architecture/cross-project-checker.d.ts +19 -1
- package/dist/architecture/cross-project-checker.d.ts.map +1 -1
- package/dist/architecture/cross-project-checker.js +72 -60
- package/dist/architecture/cross-project-checker.js.map +1 -1
- package/dist/cli/commands/acceptance.d.ts.map +1 -1
- package/dist/cli/commands/acceptance.js +1 -0
- package/dist/cli/commands/acceptance.js.map +1 -1
- package/dist/cli/commands/check.d.ts.map +1 -1
- package/dist/cli/commands/check.js +2 -4
- package/dist/cli/commands/check.js.map +1 -1
- package/dist/cli/commands/command.d.ts +10 -3
- package/dist/cli/commands/command.d.ts.map +1 -1
- package/dist/cli/commands/command.js +7 -71
- package/dist/cli/commands/command.js.map +1 -1
- package/dist/cli/commands/index.d.ts +1 -1
- package/dist/cli/commands/index.d.ts.map +1 -1
- package/dist/cli/commands/index.js +2 -3
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/passes-gate.d.ts.map +1 -1
- package/dist/cli/commands/passes-gate.js +2 -4
- package/dist/cli/commands/passes-gate.js.map +1 -1
- package/dist/cli/commands/review.d.ts.map +1 -1
- package/dist/cli/commands/review.js +27 -63
- package/dist/cli/commands/review.js.map +1 -1
- package/dist/cli/commands/security.d.ts +1 -1
- package/dist/cli/commands/security.d.ts.map +1 -1
- package/dist/cli/commands/security.js +40 -94
- package/dist/cli/commands/security.js.map +1 -1
- package/dist/cli/commands/status.d.ts.map +1 -1
- package/dist/cli/commands/status.js +2 -2
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/constraints/definitions.d.ts +39 -0
- package/dist/constraints/definitions.d.ts.map +1 -0
- package/dist/constraints/definitions.js +71 -0
- package/dist/constraints/definitions.js.map +1 -0
- package/dist/constraints/index.d.ts +5 -0
- package/dist/constraints/index.d.ts.map +1 -0
- package/dist/constraints/index.js +21 -0
- package/dist/constraints/index.js.map +1 -0
- package/dist/constraints/quality.d.ts +11 -0
- package/dist/constraints/quality.d.ts.map +1 -0
- package/dist/constraints/quality.js +257 -0
- package/dist/constraints/quality.js.map +1 -0
- package/dist/constraints/registry.d.ts +64 -0
- package/dist/constraints/registry.d.ts.map +1 -0
- package/dist/constraints/registry.js +167 -0
- package/dist/constraints/registry.js.map +1 -0
- package/dist/constraints/safety.d.ts +13 -0
- package/dist/constraints/safety.d.ts.map +1 -0
- package/dist/constraints/safety.js +103 -0
- package/dist/constraints/safety.js.map +1 -0
- package/dist/constraints/types.d.ts +53 -0
- package/dist/constraints/types.d.ts.map +1 -0
- package/dist/constraints/types.js +8 -0
- package/dist/constraints/types.js.map +1 -0
- package/dist/context/compaction.d.ts +57 -0
- package/dist/context/compaction.d.ts.map +1 -0
- package/dist/context/compaction.js +166 -0
- package/dist/context/compaction.js.map +1 -0
- package/dist/context/file-budget.d.ts +40 -0
- package/dist/context/file-budget.d.ts.map +1 -0
- package/dist/context/file-budget.js +147 -0
- package/dist/context/file-budget.js.map +1 -0
- package/dist/context/index.d.ts +15 -0
- package/dist/context/index.d.ts.map +1 -0
- package/dist/context/index.js +31 -0
- package/dist/context/index.js.map +1 -0
- package/dist/context/knowledge-injector.d.ts +49 -0
- package/dist/context/knowledge-injector.d.ts.map +1 -0
- package/dist/context/knowledge-injector.js +122 -0
- package/dist/context/knowledge-injector.js.map +1 -0
- package/dist/context/progressive-loader.d.ts +0 -1
- package/dist/context/progressive-loader.d.ts.map +1 -1
- package/dist/context/progressive-loader.js +15 -32
- package/dist/context/progressive-loader.js.map +1 -1
- package/dist/context/session-manager.d.ts +67 -0
- package/dist/context/session-manager.d.ts.map +1 -0
- package/dist/context/session-manager.js +275 -0
- package/dist/context/session-manager.js.map +1 -0
- package/dist/context/token-pipeline.d.ts +55 -0
- package/dist/context/token-pipeline.d.ts.map +1 -0
- package/dist/context/token-pipeline.js +220 -0
- package/dist/context/token-pipeline.js.map +1 -0
- package/dist/context/tool-output-budget.d.ts +59 -0
- package/dist/context/tool-output-budget.d.ts.map +1 -0
- package/dist/context/tool-output-budget.js +177 -0
- package/dist/context/tool-output-budget.js.map +1 -0
- package/dist/context/types.d.ts +113 -0
- package/dist/context/types.d.ts.map +1 -0
- package/dist/context/types.js +30 -0
- package/dist/context/types.js.map +1 -0
- package/dist/core/constraints/checker.d.ts +9 -1
- package/dist/core/constraints/checker.d.ts.map +1 -1
- package/dist/core/constraints/checker.js +72 -155
- package/dist/core/constraints/checker.js.map +1 -1
- package/dist/core/constraints/definitions.d.ts.map +1 -1
- package/dist/core/constraints/definitions.js +8 -10
- package/dist/core/constraints/definitions.js.map +1 -1
- package/dist/core/constraints/interceptor.d.ts.map +1 -1
- package/dist/core/constraints/interceptor.js +2 -6
- package/dist/core/constraints/interceptor.js.map +1 -1
- package/dist/core/project-config-loader.d.ts.map +1 -1
- package/dist/core/project-config-loader.js +12 -30
- package/dist/core/project-config-loader.js.map +1 -1
- package/dist/core/session/clean-state.d.ts.map +1 -1
- package/dist/core/session/clean-state.js +6 -8
- package/dist/core/session/clean-state.js.map +1 -1
- package/dist/core/session/startup.d.ts.map +1 -1
- package/dist/core/session/startup.js +3 -5
- package/dist/core/session/startup.js.map +1 -1
- package/dist/core/spec/validator.d.ts.map +1 -1
- package/dist/core/spec/validator.js +2 -4
- package/dist/core/spec/validator.js.map +1 -1
- package/dist/core/validators/checkpoint.d.ts.map +1 -1
- package/dist/core/validators/checkpoint.js +3 -5
- package/dist/core/validators/checkpoint.js.map +1 -1
- package/dist/core/validators/passes-gate.d.ts +0 -4
- package/dist/core/validators/passes-gate.d.ts.map +1 -1
- package/dist/core/validators/passes-gate.js +5 -13
- package/dist/core/validators/passes-gate.js.map +1 -1
- package/dist/dashboard/data.d.ts +39 -0
- package/dist/dashboard/data.d.ts.map +1 -0
- package/dist/dashboard/data.js +89 -0
- package/dist/dashboard/data.js.map +1 -0
- package/dist/dashboard/index.d.ts +4 -0
- package/dist/dashboard/index.d.ts.map +1 -0
- package/dist/dashboard/index.js +20 -0
- package/dist/dashboard/index.js.map +1 -0
- package/dist/dashboard/stats.d.ts +20 -0
- package/dist/dashboard/stats.d.ts.map +1 -0
- package/dist/dashboard/stats.js +115 -0
- package/dist/dashboard/stats.js.map +1 -0
- package/dist/dashboard/types.d.ts +98 -0
- package/dist/dashboard/types.d.ts.map +1 -0
- package/dist/dashboard/types.js +8 -0
- package/dist/dashboard/types.js.map +1 -0
- package/dist/failure/recorder.d.ts +4 -0
- package/dist/failure/recorder.d.ts.map +1 -1
- package/dist/failure/recorder.js +9 -11
- package/dist/failure/recorder.js.map +1 -1
- package/dist/gates/acceptance.d.ts.map +1 -1
- package/dist/gates/acceptance.js +2 -4
- package/dist/gates/acceptance.js.map +1 -1
- package/dist/gates/contract.d.ts.map +1 -1
- package/dist/gates/contract.js +0 -3
- package/dist/gates/contract.js.map +1 -1
- package/dist/gates/performance.d.ts.map +1 -1
- package/dist/gates/performance.js +3 -5
- package/dist/gates/performance.js.map +1 -1
- package/dist/gates/review.d.ts.map +1 -1
- package/dist/gates/review.js +4 -6
- package/dist/gates/review.js.map +1 -1
- package/dist/gates/security.d.ts.map +1 -1
- package/dist/gates/security.js +2 -4
- package/dist/gates/security.js.map +1 -1
- package/dist/index.d.ts +9 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +34 -3
- package/dist/index.js.map +1 -1
- package/dist/knowledge/import.d.ts +95 -0
- package/dist/knowledge/import.d.ts.map +1 -0
- package/dist/knowledge/import.js +429 -0
- package/dist/knowledge/import.js.map +1 -0
- package/dist/knowledge/index.d.ts +15 -0
- package/dist/knowledge/index.d.ts.map +1 -0
- package/dist/knowledge/index.js +40 -0
- package/dist/knowledge/index.js.map +1 -0
- package/dist/knowledge/ingest.d.ts +30 -0
- package/dist/knowledge/ingest.d.ts.map +1 -0
- package/dist/knowledge/ingest.js +94 -0
- package/dist/knowledge/ingest.js.map +1 -0
- package/dist/knowledge/lifecycle-hooks.d.ts +62 -0
- package/dist/knowledge/lifecycle-hooks.d.ts.map +1 -0
- package/dist/knowledge/lifecycle-hooks.js +140 -0
- package/dist/knowledge/lifecycle-hooks.js.map +1 -0
- package/dist/knowledge/lifecycle.d.ts +43 -0
- package/dist/knowledge/lifecycle.d.ts.map +1 -0
- package/dist/knowledge/lifecycle.js +141 -0
- package/dist/knowledge/lifecycle.js.map +1 -0
- package/dist/knowledge/lint.d.ts +57 -0
- package/dist/knowledge/lint.d.ts.map +1 -0
- package/dist/knowledge/lint.js +235 -0
- package/dist/knowledge/lint.js.map +1 -0
- package/dist/knowledge/query.d.ts +33 -0
- package/dist/knowledge/query.d.ts.map +1 -0
- package/dist/knowledge/query.js +107 -0
- package/dist/knowledge/query.js.map +1 -0
- package/dist/knowledge/reference-tracker.d.ts +31 -0
- package/dist/knowledge/reference-tracker.d.ts.map +1 -0
- package/dist/knowledge/reference-tracker.js +124 -0
- package/dist/knowledge/reference-tracker.js.map +1 -0
- package/dist/knowledge/store.d.ts +42 -0
- package/dist/knowledge/store.d.ts.map +1 -0
- package/dist/knowledge/store.js +278 -0
- package/dist/knowledge/store.js.map +1 -0
- package/dist/knowledge/types.d.ts +103 -0
- package/dist/knowledge/types.d.ts.map +1 -0
- package/dist/knowledge/types.js +17 -0
- package/dist/knowledge/types.js.map +1 -0
- package/dist/llm/adapter.d.ts +36 -0
- package/dist/llm/adapter.d.ts.map +1 -0
- package/dist/llm/adapter.js +118 -0
- package/dist/llm/adapter.js.map +1 -0
- package/dist/llm/index.d.ts +3 -0
- package/dist/llm/index.d.ts.map +1 -0
- package/dist/llm/index.js +19 -0
- package/dist/llm/index.js.map +1 -0
- package/dist/llm/types.d.ts +62 -0
- package/dist/llm/types.d.ts.map +1 -0
- package/dist/llm/types.js +8 -0
- package/dist/llm/types.js.map +1 -0
- package/dist/monitoring/context-tracker.d.ts +38 -0
- package/dist/monitoring/context-tracker.d.ts.map +1 -0
- package/dist/monitoring/context-tracker.js +162 -0
- package/dist/monitoring/context-tracker.js.map +1 -0
- package/dist/monitoring/index.d.ts +3 -0
- package/dist/monitoring/index.d.ts.map +1 -1
- package/dist/monitoring/index.js +6 -0
- package/dist/monitoring/index.js.map +1 -1
- package/dist/monitoring/knowledge-doctor.d.ts +78 -0
- package/dist/monitoring/knowledge-doctor.d.ts.map +1 -0
- package/dist/monitoring/knowledge-doctor.js +266 -0
- package/dist/monitoring/knowledge-doctor.js.map +1 -0
- package/dist/monitoring/knowledge-evolver.d.ts +72 -0
- package/dist/monitoring/knowledge-evolver.d.ts.map +1 -0
- package/dist/monitoring/knowledge-evolver.js +205 -0
- package/dist/monitoring/knowledge-evolver.js.map +1 -0
- package/dist/monitoring/performance-analyzer.d.ts.map +1 -1
- package/dist/monitoring/performance-analyzer.js +10 -4
- package/dist/monitoring/performance-analyzer.js.map +1 -1
- package/dist/monitoring/trace-analyzer.d.ts.map +1 -1
- package/dist/monitoring/trace-analyzer.js +12 -5
- package/dist/monitoring/trace-analyzer.js.map +1 -1
- package/dist/safety/index.d.ts +6 -0
- package/dist/safety/index.d.ts.map +1 -0
- package/dist/safety/index.js +22 -0
- package/dist/safety/index.js.map +1 -0
- package/dist/safety/input-guardrail.d.ts +36 -0
- package/dist/safety/input-guardrail.d.ts.map +1 -0
- package/dist/safety/input-guardrail.js +118 -0
- package/dist/safety/input-guardrail.js.map +1 -0
- package/dist/safety/output-guardrail.d.ts +40 -0
- package/dist/safety/output-guardrail.d.ts.map +1 -0
- package/dist/safety/output-guardrail.js +150 -0
- package/dist/safety/output-guardrail.js.map +1 -0
- package/dist/safety/sandbox.d.ts +45 -0
- package/dist/safety/sandbox.d.ts.map +1 -0
- package/dist/safety/sandbox.js +134 -0
- package/dist/safety/sandbox.js.map +1 -0
- package/dist/safety/tool-guardrail.d.ts +51 -0
- package/dist/safety/tool-guardrail.d.ts.map +1 -0
- package/dist/safety/tool-guardrail.js +147 -0
- package/dist/safety/tool-guardrail.js.map +1 -0
- package/dist/safety/types.d.ts +104 -0
- package/dist/safety/types.d.ts.map +1 -0
- package/dist/safety/types.js +6 -0
- package/dist/safety/types.js.map +1 -0
- package/dist/tools/core/index.d.ts +13 -0
- package/dist/tools/core/index.d.ts.map +1 -0
- package/dist/tools/core/index.js +198 -0
- package/dist/tools/core/index.js.map +1 -0
- package/dist/tools/index.d.ts +4 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +20 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/registry.d.ts +59 -0
- package/dist/tools/registry.d.ts.map +1 -0
- package/dist/tools/registry.js +115 -0
- package/dist/tools/registry.js.map +1 -0
- package/dist/tools/types.d.ts +38 -0
- package/dist/tools/types.d.ts.map +1 -0
- package/dist/tools/types.js +6 -0
- package/dist/tools/types.js.map +1 -0
- package/dist/types/constraint.d.ts +4 -0
- package/dist/types/constraint.d.ts.map +1 -1
- package/dist/types/constraint.js.map +1 -1
- package/dist/utils/exec.d.ts +11 -1
- package/dist/utils/exec.d.ts.map +1 -1
- package/dist/utils/exec.js +19 -1
- package/dist/utils/exec.js.map +1 -1
- package/dist/verification/index.d.ts +4 -0
- package/dist/verification/index.d.ts.map +1 -0
- package/dist/verification/index.js +20 -0
- package/dist/verification/index.js.map +1 -0
- package/dist/verification/loop.d.ts +30 -0
- package/dist/verification/loop.d.ts.map +1 -0
- package/dist/verification/loop.js +114 -0
- package/dist/verification/loop.js.map +1 -0
- package/dist/verification/rules-based.d.ts +40 -0
- package/dist/verification/rules-based.d.ts.map +1 -0
- package/dist/verification/rules-based.js +130 -0
- package/dist/verification/rules-based.js.map +1 -0
- package/dist/verification/types.d.ts +69 -0
- package/dist/verification/types.d.ts.map +1 -0
- package/dist/verification/types.js +6 -0
- package/dist/verification/types.js.map +1 -0
- package/package.json +1 -1
- package/dist/cli/commands/diagnose.d.ts +0 -16
- package/dist/cli/commands/diagnose.d.ts.map +0 -1
- package/dist/cli/commands/diagnose.js +0 -195
- package/dist/cli/commands/diagnose.js.map +0 -1
- package/dist/cli/commands/propose.d.ts +0 -18
- package/dist/cli/commands/propose.d.ts.map +0 -1
- package/dist/cli/commands/propose.js +0 -331
- package/dist/cli/commands/propose.js.map +0 -1
- package/dist/cli/commands/traces.d.ts +0 -15
- package/dist/cli/commands/traces.d.ts.map +0 -1
- package/dist/cli/commands/traces.js +0 -167
- package/dist/cli/commands/traces.js.map +0 -1
- package/dist/extensions/long-running/constraints.d.ts +0 -38
- package/dist/extensions/long-running/constraints.d.ts.map +0 -1
- package/dist/extensions/long-running/constraints.js +0 -153
- package/dist/extensions/long-running/constraints.js.map +0 -1
- package/dist/extensions/long-running/index.d.ts +0 -30
- package/dist/extensions/long-running/index.d.ts.map +0 -1
- package/dist/extensions/long-running/index.js +0 -50
- package/dist/extensions/long-running/index.js.map +0 -1
- package/dist/extensions/long-running/types.d.ts +0 -154
- package/dist/extensions/long-running/types.d.ts.map +0 -1
- package/dist/extensions/long-running/types.js +0 -9
- package/dist/extensions/long-running/types.js.map +0 -1
- package/dist/presets/long-running.d.ts +0 -33
- package/dist/presets/long-running.d.ts.map +0 -1
- package/dist/presets/long-running.js +0 -52
- package/dist/presets/long-running.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,202 +1,171 @@
|
|
|
1
1
|
# @dommaker/harness
|
|
2
2
|
|
|
3
|
-
> AI Agent
|
|
3
|
+
> AI Agent 工程约束框架 — 从代码质量约束到知识积累引擎
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
## 🚀 快速开始
|
|
5
|
+
[](https://www.npmjs.com/package/@dommaker/harness)
|
|
6
|
+
[](https://opensource.org/licenses/MIT)
|
|
8
7
|
|
|
9
|
-
|
|
8
|
+
## 定位
|
|
10
9
|
|
|
11
|
-
```bash
|
|
12
|
-
npm install -g @dommaker/harness
|
|
13
10
|
```
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
# 开发前
|
|
19
|
-
harness check
|
|
20
|
-
|
|
21
|
-
# 开发 + 写测试
|
|
22
|
-
|
|
23
|
-
# 提交前
|
|
24
|
-
harness passes-gate
|
|
11
|
+
代码质量约束(补偿模型弱点)
|
|
12
|
+
↓
|
|
13
|
+
知识积累基础设施(模型做不到的事)
|
|
14
|
+
+ 最小安全护栏(模型无关的底线)
|
|
25
15
|
```
|
|
26
16
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
## 📋 CLI 命令
|
|
30
|
-
|
|
31
|
-
### 日常使用
|
|
32
|
-
|
|
33
|
-
```bash
|
|
34
|
-
harness check # 检查铁律(开发前后必用)
|
|
35
|
-
harness passes-gate # 测试门控(提交前验证)
|
|
36
|
-
harness status # 查看状态(异常、统计)
|
|
37
|
-
harness flow # 一键诊断 + 提案流程
|
|
38
|
-
```
|
|
17
|
+
**核心理念:Harness 不是目的,知识才是护城河。**
|
|
39
18
|
|
|
40
|
-
|
|
19
|
+
Skill、Agent、工具链会随模型迭代更新,但领域知识是永恒的。
|
|
41
20
|
|
|
42
|
-
|
|
43
|
-
harness init --preset standard # 初始化配置
|
|
44
|
-
harness init --print-snippets # 输出代码片段
|
|
45
|
-
```
|
|
21
|
+
---
|
|
46
22
|
|
|
47
|
-
|
|
23
|
+
## 安装
|
|
48
24
|
|
|
49
25
|
```bash
|
|
50
|
-
|
|
51
|
-
harness passes-gate # 运行测试
|
|
52
|
-
harness passes-gate --coverage # 检查覆盖率
|
|
53
|
-
harness pg # 别名
|
|
54
|
-
|
|
55
|
-
# 验收标准
|
|
56
|
-
harness acceptance --task-id TASK-001 # 检查指定任务
|
|
57
|
-
harness acceptance --check-all # 检查所有任务
|
|
58
|
-
harness acceptance list # 列出验收标准
|
|
59
|
-
harness acc # 别名
|
|
60
|
-
|
|
61
|
-
# 性能门控
|
|
62
|
-
harness performance --coverage --coverage-threshold 85 # 覆盖率检查
|
|
63
|
-
harness performance --bundle --bundle-threshold 300 # 打包大小检查
|
|
64
|
-
harness perf # 别名
|
|
65
|
-
|
|
66
|
-
# 安全门控
|
|
67
|
-
harness security # npm audit 检查
|
|
68
|
-
harness security --severity critical # 只显示 critical 级别
|
|
69
|
-
harness security audit # 详细漏洞报告
|
|
70
|
-
harness sec # 别名
|
|
71
|
-
|
|
72
|
-
# API 契约
|
|
73
|
-
harness contract # OpenAPI Schema 验证
|
|
74
|
-
harness contract validate # Schema 语法验证
|
|
75
|
-
harness contract --contract-path api/openapi.yaml
|
|
76
|
-
|
|
77
|
-
# 代码审查
|
|
78
|
-
harness review # PR 审查状态检查
|
|
79
|
-
harness review --min-reviewers 2 # 要求 2 个审批
|
|
80
|
-
harness review status # PR 详情
|
|
81
|
-
|
|
82
|
-
# 命令黑名单
|
|
83
|
-
harness command "rm -rf /" # 检查命令
|
|
84
|
-
harness command --level "DROP TABLE" # 显示风险等级
|
|
85
|
-
harness command --list # 列出所有规则
|
|
86
|
-
harness cmd # 别名
|
|
26
|
+
npm install @dommaker/harness
|
|
87
27
|
```
|
|
88
28
|
|
|
89
|
-
###
|
|
29
|
+
### CLI
|
|
90
30
|
|
|
91
31
|
```bash
|
|
92
|
-
harness
|
|
93
|
-
harness
|
|
94
|
-
harness
|
|
32
|
+
harness check # 检查约束(开发前后)
|
|
33
|
+
harness passes-gate # 测试门控(提交前)
|
|
34
|
+
harness status # 查看状态和异常
|
|
35
|
+
harness flow # 一键诊断 + 优化提案
|
|
36
|
+
harness init --preset standard # 初始化配置
|
|
95
37
|
```
|
|
96
38
|
|
|
97
|
-
###
|
|
39
|
+
### 作为库使用
|
|
98
40
|
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
41
|
+
```typescript
|
|
42
|
+
import {
|
|
43
|
+
// 约束系统
|
|
44
|
+
checkConstraints,
|
|
45
|
+
checkBeforeExecution,
|
|
46
|
+
interceptOperation,
|
|
47
|
+
// 知识引擎
|
|
48
|
+
KnowledgeService,
|
|
49
|
+
// 安全护栏
|
|
50
|
+
SafetyService,
|
|
51
|
+
// 上下文管理
|
|
52
|
+
ContextService,
|
|
53
|
+
// Agent 生命周期
|
|
54
|
+
AgentService,
|
|
55
|
+
} from '@dommaker/harness';
|
|
104
56
|
|
|
105
|
-
|
|
57
|
+
// 约束检查
|
|
58
|
+
const result = await checkConstraints(context);
|
|
59
|
+
if (!result.passed) {
|
|
60
|
+
console.error(result.ironLaws.filter(r => !r.passed));
|
|
61
|
+
}
|
|
106
62
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
harness report -o report.md # 输出到文件
|
|
111
|
-
```
|
|
63
|
+
// 知识查询
|
|
64
|
+
const knowledge = KnowledgeService.getInstance();
|
|
65
|
+
const docs = await knowledge.getQuery().search('architecture decisions');
|
|
112
66
|
|
|
113
|
-
|
|
67
|
+
// 安全护栏
|
|
68
|
+
const safety = SafetyService.getInstance();
|
|
69
|
+
const guardrail = safety.getInputGuardrail();
|
|
70
|
+
await guardrail.check(userInput);
|
|
114
71
|
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
72
|
+
// Token 预算
|
|
73
|
+
const ctx = ContextService.getInstance();
|
|
74
|
+
const budget = ctx.getBudget();
|
|
75
|
+
budget.allocate('system', 2000);
|
|
76
|
+
budget.allocate('user', 4000);
|
|
118
77
|
```
|
|
119
78
|
|
|
120
79
|
---
|
|
121
80
|
|
|
122
|
-
##
|
|
81
|
+
## 核心架构
|
|
123
82
|
|
|
124
83
|
### 三层约束体系
|
|
125
84
|
|
|
126
85
|
| 层级 | 严重性 | 说明 |
|
|
127
86
|
|------|:------:|------|
|
|
128
|
-
| **Iron Law** |
|
|
129
|
-
| **Guideline** |
|
|
130
|
-
| **Tip** |
|
|
131
|
-
|
|
132
|
-
###
|
|
133
|
-
|
|
134
|
-
|
|
|
135
|
-
|
|
136
|
-
| `
|
|
137
|
-
| `
|
|
138
|
-
| `
|
|
139
|
-
| `
|
|
140
|
-
| `
|
|
141
|
-
| `
|
|
142
|
-
| `
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
|
147
|
-
|
|
148
|
-
|
|
|
149
|
-
| SpecAcceptanceGate | `acceptance` / `acc` | 验收标准检查 |
|
|
150
|
-
| PerformanceGate | `performance` / `perf` | 性能门控 |
|
|
151
|
-
| SecurityGate | `security` / `sec` | 安全检查 |
|
|
152
|
-
| ContractGate | `contract` | API 契约验证 |
|
|
153
|
-
| ReviewGate | `review` | PR 审核检查 |
|
|
154
|
-
| CommandGate | `command` / `cmd` | 命令黑名单 |
|
|
155
|
-
| CheckpointValidator | `validate` | 检查点验证 |
|
|
87
|
+
| **Iron Law** | error | 绝对禁止,无例外(7 条) |
|
|
88
|
+
| **Guideline** | warning | 推荐遵守,有例外(9 条) |
|
|
89
|
+
| **Tip** | info | 信息性提示(2 条) |
|
|
90
|
+
|
|
91
|
+
### 子系统
|
|
92
|
+
|
|
93
|
+
| 模块 | 目录 | 说明 |
|
|
94
|
+
|------|------|------|
|
|
95
|
+
| **约束引擎** | `core/`, `constraints/` | 三层约束检查、拦截器、自定义约束配置 |
|
|
96
|
+
| **知识引擎** | `knowledge/` | 存储、查询、引用追踪、质量检查、生命周期(draft→canonical→archived) |
|
|
97
|
+
| **上下文管理** | `context/` | Token 预算、会话压缩、渐进式加载、知识注入 |
|
|
98
|
+
| **安全护栏** | `safety/` | 输入/输出/工具调用安全检查、沙箱(L1-L4) |
|
|
99
|
+
| **验证循环** | `verification/` | 规则引擎 + 推理验证,支持检查点恢复 |
|
|
100
|
+
| **门禁系统** | `gates/` | 8 种门禁:测试/验收/性能/安全/契约/审查/命令/检查点 |
|
|
101
|
+
| **监控** | `monitoring/` | Trace 收集分析、约束诊断/进化、知识诊断/进化 |
|
|
102
|
+
| **Agent 管理** | `agents/` | Agent 生命周期状态机(init→running→completed) |
|
|
103
|
+
| **LLM 集成** | `llm/` | LLM 适配层,支持多 provider |
|
|
104
|
+
| **失败处理** | `failure/` | 错误分类、失败记录 |
|
|
105
|
+
| **Dashboard** | `dashboard/` | 统计面板、状态展示 |
|
|
106
|
+
| **架构约束** | `architecture/` | 架构级约束检查、跨项目依赖检查 |
|
|
107
|
+
| **Spec 检查** | `spec/` | 代码注解中的 Spec 验证 |
|
|
156
108
|
|
|
157
109
|
---
|
|
158
110
|
|
|
159
|
-
##
|
|
111
|
+
## CLI 命令
|
|
160
112
|
|
|
161
|
-
|
|
162
|
-
import {
|
|
163
|
-
IronLawChecker,
|
|
164
|
-
PassesGate,
|
|
165
|
-
CommandGate,
|
|
166
|
-
CheckpointValidator,
|
|
167
|
-
} from '@dommaker/harness';
|
|
113
|
+
### 日常
|
|
168
114
|
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
115
|
+
```bash
|
|
116
|
+
harness check # 约束检查
|
|
117
|
+
harness passes-gate [options] # 测试门控(别名: pg)
|
|
118
|
+
harness status [--anomalies] # 状态查看
|
|
119
|
+
harness flow [--auto-apply] # 诊断 + 提案
|
|
120
|
+
```
|
|
172
121
|
|
|
173
|
-
|
|
174
|
-
const gate = new PassesGate({ requireEvidence: true });
|
|
175
|
-
const passed = await gate.runTests();
|
|
122
|
+
### 门禁
|
|
176
123
|
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
124
|
+
```bash
|
|
125
|
+
harness acceptance [--task-id ID] [--check-all] # 验收标准(别名: acc)
|
|
126
|
+
harness performance [--coverage] [--bundle] # 性能门控(别名: perf)
|
|
127
|
+
harness security [--severity level] # 安全检查(别名: sec)
|
|
128
|
+
harness contract [--contract-path path] # API 契约验证
|
|
129
|
+
harness review [--min-reviewers N] # PR 审查检查
|
|
130
|
+
harness command "command string" # 命令黑名单(别名: cmd)
|
|
181
131
|
```
|
|
182
132
|
|
|
183
|
-
|
|
133
|
+
### 其他
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
harness init [--preset standard|strict|relaxed] # 初始化
|
|
137
|
+
harness validate [--strict] # 检查点验证
|
|
138
|
+
harness spec [--staged] # Spec 验证
|
|
139
|
+
harness report [-f json|markdown] [-o file] # 报告生成
|
|
140
|
+
```
|
|
184
141
|
|
|
185
142
|
---
|
|
186
143
|
|
|
144
|
+
## 配置
|
|
145
|
+
|
|
187
146
|
### .harness/config.yml
|
|
188
147
|
|
|
189
148
|
```yaml
|
|
190
|
-
preset: standard
|
|
149
|
+
preset: standard # standard | strict | relaxed
|
|
191
150
|
|
|
192
151
|
# 自定义约束例外
|
|
193
152
|
custom_constraints:
|
|
194
153
|
no_fix_without_root_cause:
|
|
195
154
|
extend_exceptions:
|
|
196
|
-
-
|
|
155
|
+
- hotfix_branch
|
|
197
156
|
```
|
|
198
157
|
|
|
199
|
-
###
|
|
158
|
+
### Presets
|
|
159
|
+
|
|
160
|
+
| Preset | 说明 |
|
|
161
|
+
|--------|------|
|
|
162
|
+
| `strict` | 全部约束启用(Iron Laws + Guidelines + Tips) |
|
|
163
|
+
| `standard` | Iron Laws + Guidelines(默认) |
|
|
164
|
+
| `relaxed` | 仅 Iron Laws |
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
## CI 集成
|
|
200
169
|
|
|
201
170
|
```yaml
|
|
202
171
|
# .github/workflows/harness-check.yml
|
|
@@ -212,63 +181,34 @@ jobs:
|
|
|
212
181
|
|
|
213
182
|
---
|
|
214
183
|
|
|
215
|
-
##
|
|
184
|
+
## 日志与诊断
|
|
216
185
|
|
|
217
|
-
|
|
186
|
+
运行时状态存储在 `.harness/` 目录:
|
|
218
187
|
|
|
219
188
|
```
|
|
220
189
|
.harness/
|
|
221
|
-
├── traces/
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
└── state.json # Harness 状态
|
|
190
|
+
├── traces/ # 约束检查记录(JSON Lines)
|
|
191
|
+
├── failures/ # 失败记录
|
|
192
|
+
└── state.json # 运行状态
|
|
225
193
|
```
|
|
226
194
|
|
|
227
|
-
### 查看日志
|
|
228
|
-
|
|
229
195
|
```bash
|
|
230
|
-
#
|
|
231
|
-
harness status
|
|
232
|
-
|
|
233
|
-
# 查看详细统计
|
|
234
|
-
harness status --detail
|
|
235
|
-
|
|
236
|
-
# 只看异常
|
|
237
|
-
harness status --anomalies
|
|
238
|
-
|
|
239
|
-
# 分析最近 N 小时
|
|
240
|
-
harness status --hours 48
|
|
241
|
-
```
|
|
242
|
-
|
|
243
|
-
### 日志格式
|
|
244
|
-
|
|
245
|
-
**execution.log**(JSON Lines 格式):
|
|
246
|
-
```json
|
|
247
|
-
{"timestamp":"2026-04-28T15:00:00Z","constraintId":"no_bypass_checkpoint","result":"passed","duration":12}
|
|
248
|
-
{"timestamp":"2026-04-28T15:01:00Z","constraintId":"no_self_approval","result":"bypassed","reason":"hotfix"}
|
|
196
|
+
harness status --anomalies # 查看异常
|
|
197
|
+
harness status --hours 48 # 最近 48 小时统计
|
|
198
|
+
harness flow --auto-apply # 诊断 + 自动应用低风险提案
|
|
249
199
|
```
|
|
250
200
|
|
|
251
|
-
**summary.json**:
|
|
252
|
-
```json
|
|
253
|
-
{"totalChecks":150,"passRate":0.92,"bypassRate":0.08,"anomalies":2}
|
|
254
|
-
```
|
|
255
|
-
|
|
256
|
-
### 异常检测
|
|
257
|
-
|
|
258
|
-
当 `harness status --anomalies` 发现异常时,运行 `harness flow` 进行诊断和优化提案。
|
|
259
|
-
|
|
260
201
|
---
|
|
261
202
|
|
|
262
|
-
##
|
|
203
|
+
## 开发
|
|
263
204
|
|
|
264
205
|
```bash
|
|
265
206
|
npm install
|
|
266
|
-
npm run build
|
|
267
|
-
npm test
|
|
207
|
+
npm run build # 编译 TypeScript
|
|
208
|
+
npm test # 运行测试(覆盖率阈值 50%)
|
|
209
|
+
npm run lint # ESLint
|
|
268
210
|
```
|
|
269
211
|
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
## 📝 License
|
|
212
|
+
## 许可证
|
|
273
213
|
|
|
274
|
-
MIT
|
|
214
|
+
MIT
|
package/bin/harness.js
CHANGED
|
@@ -7,13 +7,14 @@
|
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
const { Command } = require('commander');
|
|
10
|
-
const {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
const { version } = require('../package.json');
|
|
11
|
+
const {
|
|
12
|
+
check,
|
|
13
|
+
listLaws,
|
|
14
|
+
validate,
|
|
15
|
+
runPassesGate,
|
|
15
16
|
checkCoverage,
|
|
16
|
-
init,
|
|
17
|
+
init,
|
|
17
18
|
report,
|
|
18
19
|
status,
|
|
19
20
|
flow,
|
|
@@ -28,8 +29,7 @@ const {
|
|
|
28
29
|
validateSchema,
|
|
29
30
|
review,
|
|
30
31
|
reviewStatus,
|
|
31
|
-
|
|
32
|
-
cmd
|
|
32
|
+
executeCommand,
|
|
33
33
|
} = require('../dist/cli/commands/index');
|
|
34
34
|
|
|
35
35
|
const program = new Command();
|
|
@@ -37,7 +37,7 @@ const program = new Command();
|
|
|
37
37
|
program
|
|
38
38
|
.name('harness')
|
|
39
39
|
.description('通用工程约束框架 - 铁律系统、检查点验证、测试门控、执行追踪')
|
|
40
|
-
.version(
|
|
40
|
+
.version(version);
|
|
41
41
|
|
|
42
42
|
// ========================================
|
|
43
43
|
// harness check
|
|
@@ -118,7 +118,7 @@ program
|
|
|
118
118
|
.command('report')
|
|
119
119
|
.description('生成检查报告')
|
|
120
120
|
.option('-o, --output <path>', '输出文件路径')
|
|
121
|
-
.option('-f, --format <format>', '输出格式 (json/markdown)', 'markdown')
|
|
121
|
+
.option('-f, --format <format>', '输出格式 (json/markdown/html)', 'markdown')
|
|
122
122
|
.option('-p, --project-path <path>', '项目路径')
|
|
123
123
|
.action(async (options) => {
|
|
124
124
|
await report(options);
|
|
@@ -262,7 +262,7 @@ program
|
|
|
262
262
|
.description('API 契约门控,检查 OpenAPI Schema')
|
|
263
263
|
.option('-p, --project-path <path>', '项目路径')
|
|
264
264
|
.option('--contract-path <path>', '契约文件路径', 'openapi.yaml')
|
|
265
|
-
.option('--strict', '
|
|
265
|
+
.option('--no-strict', '关闭严格模式')
|
|
266
266
|
.option('--allow-breaking', '允许破坏性变更', false)
|
|
267
267
|
.action(async (subcommand, options, command) => {
|
|
268
268
|
if (subcommand === 'validate') {
|
|
@@ -280,8 +280,8 @@ program
|
|
|
280
280
|
.description('代码审查门控,检查审查状态')
|
|
281
281
|
.option('-p, --project-path <path>', '项目路径')
|
|
282
282
|
.option('--min-reviewers <n>', '最少审查人数', '1')
|
|
283
|
-
.option('--require-approval', '
|
|
284
|
-
.option('--block-on-changes', '
|
|
283
|
+
.option('--no-require-approval', '不要求审批')
|
|
284
|
+
.option('--no-block-on-changes', '不阻止变更请求')
|
|
285
285
|
.option('--allowed-reviewers <list>', '允许的审查者(逗号分隔)')
|
|
286
286
|
.action(async (subcommand, options, command) => {
|
|
287
287
|
if (subcommand === 'status') {
|
|
@@ -308,58 +308,8 @@ program
|
|
|
308
308
|
.option('--list', '列出所有黑名单规则')
|
|
309
309
|
.option('--json', 'JSON 格式输出')
|
|
310
310
|
.option('--strict', '严格模式(warn 也阻止)')
|
|
311
|
-
.action(async (cmd, options
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
if (options.list) {
|
|
315
|
-
const { DEFAULT_COMMAND_BLACKLIST } = require('../dist/gates/command');
|
|
316
|
-
if (options.json) {
|
|
317
|
-
console.log(JSON.stringify(DEFAULT_COMMAND_BLACKLIST.map(r => ({
|
|
318
|
-
id: r.id,
|
|
319
|
-
level: r.level,
|
|
320
|
-
message: r.message,
|
|
321
|
-
category: r.category,
|
|
322
|
-
})), null, 2));
|
|
323
|
-
} else {
|
|
324
|
-
console.log('\n命令黑名单规则:\n');
|
|
325
|
-
console.log(`共 ${DEFAULT_COMMAND_BLACKLIST.length} 条规则`);
|
|
326
|
-
console.log('使用 harness command --list --json 查看详情');
|
|
327
|
-
}
|
|
328
|
-
return;
|
|
329
|
-
}
|
|
330
|
-
|
|
331
|
-
if (!cmd) {
|
|
332
|
-
console.error('错误:请提供要检查的命令');
|
|
333
|
-
console.error('用法:harness command "your command"');
|
|
334
|
-
process.exit(1);
|
|
335
|
-
}
|
|
336
|
-
|
|
337
|
-
const result = await gate.check(cmd);
|
|
338
|
-
|
|
339
|
-
if (options.level) {
|
|
340
|
-
const { getCommandRiskLevel } = require('../dist/gates/command');
|
|
341
|
-
const level = getCommandRiskLevel(cmd);
|
|
342
|
-
if (options.json) {
|
|
343
|
-
console.log(JSON.stringify({ level, command: cmd }));
|
|
344
|
-
} else {
|
|
345
|
-
const levelColors = { high: '\x1b[31m', medium: '\x1b[33m', low: '\x1b[32m' };
|
|
346
|
-
console.log(`${levelColors[level]}${level}\x1b[0m ${cmd}`);
|
|
347
|
-
}
|
|
348
|
-
process.exit(level === 'high' ? 1 : 0);
|
|
349
|
-
}
|
|
350
|
-
|
|
351
|
-
if (options.json) {
|
|
352
|
-
console.log(JSON.stringify({
|
|
353
|
-
command: cmd,
|
|
354
|
-
passed: result.passed,
|
|
355
|
-
message: result.message,
|
|
356
|
-
details: result.details,
|
|
357
|
-
}, null, 2));
|
|
358
|
-
} else {
|
|
359
|
-
console.log(result.passed ? `\x1b[32m✓\x1b[0m ${result.message}` : `\x1b[31m✗\x1b[0m ${result.message}`);
|
|
360
|
-
}
|
|
361
|
-
|
|
362
|
-
process.exit(result.passed ? 0 : 1);
|
|
311
|
+
.action(async (cmd, options) => {
|
|
312
|
+
await executeCommand(cmd, options);
|
|
363
313
|
});
|
|
364
314
|
|
|
365
315
|
// 解析命令行参数
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./types"), exports);
|
|
18
|
+
__exportStar(require("./lifecycle"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,8CAA4B"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent 生命周期管理
|
|
3
|
+
*
|
|
4
|
+
* 管理 Agent 的启动、监控、回退、终止
|
|
5
|
+
*/
|
|
6
|
+
import type { AgentConfig, AgentState, AgentStatus, AgentEvent, FallbackStrategy } from './types';
|
|
7
|
+
export type EventHandler = (event: AgentEvent) => void;
|
|
8
|
+
export declare class AgentLifecycle {
|
|
9
|
+
private agents;
|
|
10
|
+
private configs;
|
|
11
|
+
private strategies;
|
|
12
|
+
private eventHandlers;
|
|
13
|
+
constructor();
|
|
14
|
+
/**
|
|
15
|
+
* 注册 Agent
|
|
16
|
+
*/
|
|
17
|
+
register(config: AgentConfig): AgentState;
|
|
18
|
+
/**
|
|
19
|
+
* 启动 Agent
|
|
20
|
+
*/
|
|
21
|
+
start(id: string): AgentState | undefined;
|
|
22
|
+
/**
|
|
23
|
+
* 完成 Agent
|
|
24
|
+
*/
|
|
25
|
+
complete(id: string, metadata?: Record<string, unknown>): AgentState | undefined;
|
|
26
|
+
/**
|
|
27
|
+
* 标记失败
|
|
28
|
+
*/
|
|
29
|
+
fail(id: string, error: string): AgentState | undefined;
|
|
30
|
+
/**
|
|
31
|
+
* 终止 Agent
|
|
32
|
+
*/
|
|
33
|
+
terminate(id: string): AgentState | undefined;
|
|
34
|
+
/**
|
|
35
|
+
* 获取 Agent 状态
|
|
36
|
+
*/
|
|
37
|
+
getState(id: string): AgentState | undefined;
|
|
38
|
+
/**
|
|
39
|
+
* 获取所有 Agent 状态
|
|
40
|
+
*/
|
|
41
|
+
getAllStates(): AgentState[];
|
|
42
|
+
/**
|
|
43
|
+
* 按状态过滤
|
|
44
|
+
*/
|
|
45
|
+
getByStatus(status: AgentStatus): AgentState[];
|
|
46
|
+
/**
|
|
47
|
+
* 注册回退策略
|
|
48
|
+
*/
|
|
49
|
+
addFallbackStrategy(strategy: FallbackStrategy): void;
|
|
50
|
+
/**
|
|
51
|
+
* 注册事件处理器
|
|
52
|
+
*/
|
|
53
|
+
onEvent(handler: EventHandler): void;
|
|
54
|
+
/**
|
|
55
|
+
* 应用回退策略
|
|
56
|
+
*/
|
|
57
|
+
private applyFallbackStrategies;
|
|
58
|
+
private emit;
|
|
59
|
+
/**
|
|
60
|
+
* 移除 Agent
|
|
61
|
+
*/
|
|
62
|
+
remove(id: string): boolean;
|
|
63
|
+
/**
|
|
64
|
+
* 清空所有 Agent
|
|
65
|
+
*/
|
|
66
|
+
clear(): void;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=lifecycle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../src/agents/lifecycle.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,WAAW,EACX,UAAU,EACV,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAEjB,MAAM,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;AAEvD,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,aAAa,CAAiB;;IAStC;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,UAAU;IAYzC;;OAEG;IACH,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAUzC;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,UAAU,GAAG,SAAS;IAWhF;;OAEG;IACH,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAavD;;OAEG;IACH,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAU7C;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAI5C;;OAEG;IACH,YAAY,IAAI,UAAU,EAAE;IAI5B;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,UAAU,EAAE;IAI9C;;OAEG;IACH,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAIrD;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAIpC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAqC/B,OAAO,CAAC,IAAI;IAUZ;;OAEG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAK3B;;OAEG;IACH,KAAK,IAAI,IAAI;CAId"}
|