soloforge 1.4.7 → 1.4.8
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 +4 -0
- package/dist/adapters/claude_code/tools.d.ts.map +1 -1
- package/dist/adapters/claude_code/tools.js +44 -7
- package/dist/adapters/claude_code/tools.js.map +1 -1
- package/dist/bin/soloforge.d.ts.map +1 -1
- package/dist/bin/soloforge.js +3 -2
- package/dist/bin/soloforge.js.map +1 -1
- package/dist/engine/change_coordinator.d.ts.map +1 -1
- package/dist/engine/change_coordinator.js +2 -1
- package/dist/engine/change_coordinator.js.map +1 -1
- package/dist/engine/core_engineering_principles.d.ts.map +1 -1
- package/dist/engine/core_engineering_principles.js +2 -1
- package/dist/engine/core_engineering_principles.js.map +1 -1
- package/dist/engine/enforcement_guard.d.ts.map +1 -1
- package/dist/engine/enforcement_guard.js +2 -1
- package/dist/engine/enforcement_guard.js.map +1 -1
- package/dist/engine/impact_analyzer.d.ts.map +1 -1
- package/dist/engine/impact_analyzer.js +5 -23
- package/dist/engine/impact_analyzer.js.map +1 -1
- package/dist/engine/intent_expander.d.ts.map +1 -1
- package/dist/engine/intent_expander.js +9 -46
- package/dist/engine/intent_expander.js.map +1 -1
- package/dist/engine/onboarding.d.ts.map +1 -1
- package/dist/engine/onboarding.js +2 -1
- package/dist/engine/onboarding.js.map +1 -1
- package/dist/engine/path_scope_utils.d.ts +21 -0
- package/dist/engine/path_scope_utils.d.ts.map +1 -0
- package/dist/engine/path_scope_utils.js +126 -0
- package/dist/engine/path_scope_utils.js.map +1 -0
- package/dist/engine/plan_proposal_gate.d.ts.map +1 -1
- package/dist/engine/plan_proposal_gate.js +2 -1
- package/dist/engine/plan_proposal_gate.js.map +1 -1
- package/dist/engine/scope_controller.d.ts.map +1 -1
- package/dist/engine/scope_controller.js +5 -7
- package/dist/engine/scope_controller.js.map +1 -1
- package/dist/engine/scope_lease.d.ts.map +1 -1
- package/dist/engine/scope_lease.js +2 -2
- package/dist/engine/scope_lease.js.map +1 -1
- package/dist/engine/scope_resolver.d.ts +11 -0
- package/dist/engine/scope_resolver.d.ts.map +1 -0
- package/dist/engine/scope_resolver.js +526 -0
- package/dist/engine/scope_resolver.js.map +1 -0
- package/dist/engine/workspace_lease.d.ts.map +1 -1
- package/dist/engine/workspace_lease.js +6 -5
- package/dist/engine/workspace_lease.js.map +1 -1
- package/dist/knowledge/index_manager.d.ts.map +1 -1
- package/dist/knowledge/index_manager.js +2 -1
- package/dist/knowledge/index_manager.js.map +1 -1
- package/dist/types.d.ts +33 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -67,6 +67,8 @@ soloforge init --adapter all # 同时生成所有适配器配置
|
|
|
67
67
|
|
|
68
68
|
`config.yaml` 是可选文件。没有它时,SoloForge 会根据 `package.json`、`pom.xml`、`go.mod` 等文件在运行时推断项目类型;只有高置信度或你手动确认时,才会把配置写入 `.soloforge/config.yaml`。
|
|
69
69
|
|
|
70
|
+
配置里的 scope、仓库路径和产物路径都按项目相对路径理解和存储,适配 Windows、macOS、Linux 时不要手写宿主机绝对路径。
|
|
71
|
+
|
|
70
72
|
## 生成文件
|
|
71
73
|
|
|
72
74
|
| 位置 | 用途 |
|
|
@@ -107,6 +109,8 @@ soloforge doctor
|
|
|
107
109
|
soloforge audit-design-artifacts
|
|
108
110
|
```
|
|
109
111
|
|
|
112
|
+
如果你只是升级 CLI,不需要重新 `init` 旧项目。`soloforge init` 只用于新项目首次接入,或者项目里根本还没有 `.soloforge/`。
|
|
113
|
+
|
|
110
114
|
存量设计产物需要升级到当前标准时,单独使用设计产物升级命令:
|
|
111
115
|
|
|
112
116
|
```bash
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/adapters/claude_code/tools.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,aAAa,EAAkB,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACjF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAE9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAG9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/adapters/claude_code/tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ import { normalizePathCandidate } from "../../engine/input_material_extractor.js
|
|
|
7
7
|
import { archiveStaleCurrentPointer, detectStaleCurrentTask } from "../../engine/stale_current_task_detector.js";
|
|
8
8
|
import { verifyArtifact } from "../../engine/artifact_contract_registry.js";
|
|
9
9
|
import { verifyRouteDecisionContract } from "../../engine/route_decision_contract_verifier.js";
|
|
10
|
+
import { isSameOrDescendantPath } from "../../engine/path_scope_utils.js";
|
|
10
11
|
import { findToolInvocationContractByName, createToolTrace, validateToolInvocation, hasWriteSideEffect, } from "../../engine/tool_invocation_contract_registry.js";
|
|
11
12
|
import { TOOL_DIAGNOSTIC_CODES } from "../../engine/diagnostic_registry.js";
|
|
12
13
|
function createLazy(loader) {
|
|
@@ -1492,6 +1493,22 @@ export async function registerTools(server, deps) {
|
|
|
1492
1493
|
if (existingBrainstormSession.error) {
|
|
1493
1494
|
return { result: { error: existingBrainstormSession.error, status: "invalid_input" } };
|
|
1494
1495
|
}
|
|
1496
|
+
const existingDesignArtifactPack = parseContractObject(ctx.design_artifact_pack, "design_artifact_pack");
|
|
1497
|
+
if (existingDesignArtifactPack.error) {
|
|
1498
|
+
return { result: { error: existingDesignArtifactPack.error, status: "invalid_input" } };
|
|
1499
|
+
}
|
|
1500
|
+
const existingOodSolidSummary = parseContractObject(ctx.ood_solid_summary, "ood_solid_summary");
|
|
1501
|
+
if (existingOodSolidSummary.error) {
|
|
1502
|
+
return { result: { error: existingOodSolidSummary.error, status: "invalid_input" } };
|
|
1503
|
+
}
|
|
1504
|
+
const existingBackendImplementationWorkPackage = parseContractObject(ctx.backend_implementation_work_package, "backend_implementation_work_package");
|
|
1505
|
+
if (existingBackendImplementationWorkPackage.error) {
|
|
1506
|
+
return { result: { error: existingBackendImplementationWorkPackage.error, status: "invalid_input" } };
|
|
1507
|
+
}
|
|
1508
|
+
const existingCodeObservabilityWorkPackage = parseContractObject(ctx.code_observability_work_package, "code_observability_work_package");
|
|
1509
|
+
if (existingCodeObservabilityWorkPackage.error) {
|
|
1510
|
+
return { result: { error: existingCodeObservabilityWorkPackage.error, status: "invalid_input" } };
|
|
1511
|
+
}
|
|
1495
1512
|
if (existingArchitectureWorkshop.value)
|
|
1496
1513
|
ctx.architecture_decision_workshop = existingArchitectureWorkshop.value;
|
|
1497
1514
|
if (existingDecisionWorkshop.value) {
|
|
@@ -1509,6 +1526,14 @@ export async function registerTools(server, deps) {
|
|
|
1509
1526
|
ctx.first_principles_frame = existingFirstPrinciplesFrame.value;
|
|
1510
1527
|
if (existingBrainstormSession.value)
|
|
1511
1528
|
ctx.brainstorm_session = existingBrainstormSession.value;
|
|
1529
|
+
if (existingDesignArtifactPack.value)
|
|
1530
|
+
ctx.design_artifact_pack = existingDesignArtifactPack.value;
|
|
1531
|
+
if (existingOodSolidSummary.value)
|
|
1532
|
+
ctx.ood_solid_summary = existingOodSolidSummary.value;
|
|
1533
|
+
if (existingBackendImplementationWorkPackage.value)
|
|
1534
|
+
ctx.backend_implementation_work_package = existingBackendImplementationWorkPackage.value;
|
|
1535
|
+
if (existingCodeObservabilityWorkPackage.value)
|
|
1536
|
+
ctx.code_observability_work_package = existingCodeObservabilityWorkPackage.value;
|
|
1512
1537
|
if (args.architecture_decision_workshop) {
|
|
1513
1538
|
const parsed = parseContractObject(args.architecture_decision_workshop, "architecture_decision_workshop");
|
|
1514
1539
|
if (parsed.error)
|
|
@@ -1558,16 +1583,28 @@ export async function registerTools(server, deps) {
|
|
|
1558
1583
|
ctx.brainstorm_session = parsed.value;
|
|
1559
1584
|
}
|
|
1560
1585
|
if (args.design_artifact_pack) {
|
|
1561
|
-
|
|
1586
|
+
const parsed = parseContractObject(args.design_artifact_pack, "design_artifact_pack");
|
|
1587
|
+
if (parsed.error)
|
|
1588
|
+
return { result: { error: parsed.error, status: "invalid_input" } };
|
|
1589
|
+
ctx.design_artifact_pack = parsed.value;
|
|
1562
1590
|
}
|
|
1563
1591
|
if (args.ood_solid_summary) {
|
|
1564
|
-
|
|
1592
|
+
const parsed = parseContractObject(args.ood_solid_summary, "ood_solid_summary");
|
|
1593
|
+
if (parsed.error)
|
|
1594
|
+
return { result: { error: parsed.error, status: "invalid_input" } };
|
|
1595
|
+
ctx.ood_solid_summary = parsed.value;
|
|
1565
1596
|
}
|
|
1566
1597
|
if (args.backend_implementation_work_package) {
|
|
1567
|
-
|
|
1598
|
+
const parsed = parseContractObject(args.backend_implementation_work_package, "backend_implementation_work_package");
|
|
1599
|
+
if (parsed.error)
|
|
1600
|
+
return { result: { error: parsed.error, status: "invalid_input" } };
|
|
1601
|
+
ctx.backend_implementation_work_package = parsed.value;
|
|
1568
1602
|
}
|
|
1569
1603
|
if (args.code_observability_work_package) {
|
|
1570
|
-
|
|
1604
|
+
const parsed = parseContractObject(args.code_observability_work_package, "code_observability_work_package");
|
|
1605
|
+
if (parsed.error)
|
|
1606
|
+
return { result: { error: parsed.error, status: "invalid_input" } };
|
|
1607
|
+
ctx.code_observability_work_package = parsed.value;
|
|
1571
1608
|
}
|
|
1572
1609
|
if (args.architecture_decision_workshop || args.decision_workshop
|
|
1573
1610
|
|| args.technology_decision_contract || args.technology_decision_record
|
|
@@ -1664,7 +1701,7 @@ export async function registerTools(server, deps) {
|
|
|
1664
1701
|
.map((materialPath) => path.resolve(projectRoot, normalizePathCandidate(materialPath))));
|
|
1665
1702
|
const confirmedProjectSourcePaths = (args.input_material_confirmations ?? [])
|
|
1666
1703
|
.map((materialPath) => path.resolve(projectRoot, normalizePathCandidate(materialPath)))
|
|
1667
|
-
.filter((absolutePath) => absolutePath
|
|
1704
|
+
.filter((absolutePath) => isSameOrDescendantPath(absolutePath, projectRoot, { caseSensitive: false }))
|
|
1668
1705
|
.filter((absolutePath) => referencedMaterialPaths.has(absolutePath))
|
|
1669
1706
|
.filter((absolutePath) => {
|
|
1670
1707
|
try {
|
|
@@ -2318,7 +2355,7 @@ export async function registerTools(server, deps) {
|
|
|
2318
2355
|
for (const changedFile of implementationFiles) {
|
|
2319
2356
|
const absoluteFile = path.resolve(projectPath, changedFile);
|
|
2320
2357
|
try {
|
|
2321
|
-
if (absoluteFile
|
|
2358
|
+
if (isSameOrDescendantPath(absoluteFile, path.resolve(projectPath), { caseSensitive: false }) && fss.statSync(absoluteFile).isFile()) {
|
|
2322
2359
|
implementationContents[changedFile] = fss.readFileSync(absoluteFile, "utf-8");
|
|
2323
2360
|
}
|
|
2324
2361
|
}
|
|
@@ -3245,7 +3282,7 @@ export async function registerTools(server, deps) {
|
|
|
3245
3282
|
continue;
|
|
3246
3283
|
const absoluteFile = path.resolve(projectPath, changedFile);
|
|
3247
3284
|
try {
|
|
3248
|
-
if (absoluteFile
|
|
3285
|
+
if (isSameOrDescendantPath(absoluteFile, path.resolve(projectPath), { caseSensitive: false }) && fss.statSync(absoluteFile).isFile()) {
|
|
3249
3286
|
contractContents[changedFile] = fss.readFileSync(absoluteFile, "utf-8");
|
|
3250
3287
|
}
|
|
3251
3288
|
}
|