soloforge 1.1.52 → 1.1.54
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/adapter_writers.d.ts +2 -6
- package/dist/cli/adapter_writers.d.ts.map +1 -1
- package/dist/cli/adapter_writers.js +2 -18
- package/dist/cli/adapter_writers.js.map +1 -1
- package/dist/cli/init.d.ts +2 -2
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +16 -37
- package/dist/cli/init.js.map +1 -1
- package/dist/context/adapter_prompt_contract.d.ts +0 -14
- package/dist/context/adapter_prompt_contract.d.ts.map +1 -1
- package/dist/context/adapter_prompt_contract.js +0 -46
- package/dist/context/adapter_prompt_contract.js.map +1 -1
- package/dist/context/adapters/shared/integration_guide.d.ts +5 -5
- package/dist/context/adapters/shared/integration_guide.d.ts.map +1 -1
- package/dist/context/adapters/shared/integration_guide.js +29 -14
- package/dist/context/adapters/shared/integration_guide.js.map +1 -1
- package/dist/context/adapters/shared/workflow_template.d.ts +12 -29
- package/dist/context/adapters/shared/workflow_template.d.ts.map +1 -1
- package/dist/context/adapters/shared/workflow_template.js +13 -96
- package/dist/context/adapters/shared/workflow_template.js.map +1 -1
- package/dist/context/config/resolver.d.ts +0 -6
- package/dist/context/config/resolver.d.ts.map +1 -1
- package/dist/context/config/resolver.js +12 -0
- package/dist/context/config/resolver.js.map +1 -1
- package/dist/context/contracts/lifecycle_knowledge_contract.d.ts.map +1 -1
- package/dist/context/contracts/lifecycle_knowledge_contract.js +0 -10
- package/dist/context/contracts/lifecycle_knowledge_contract.js.map +1 -1
- package/dist/context/knowledge/index_manager.d.ts +3 -0
- package/dist/context/knowledge/index_manager.d.ts.map +1 -1
- package/dist/context/knowledge/index_manager.js +16 -0
- package/dist/context/knowledge/index_manager.js.map +1 -1
- package/dist/context/knowledge/knowledge_template_contracts.d.ts +1 -1
- package/dist/context/knowledge/knowledge_template_contracts.d.ts.map +1 -1
- package/dist/context/templates/standard_asset_contract.d.ts +1 -1
- package/dist/context/templates/standard_asset_contract.js +4 -4
- package/dist/context/templates/standard_asset_contract.js.map +1 -1
- package/dist/context/templates/standard_asset_coverage.js +2 -2
- package/dist/context/templates/standard_asset_coverage.js.map +1 -1
- package/dist/context/templates/workflow_rule_generator.d.ts +1 -9
- package/dist/context/templates/workflow_rule_generator.d.ts.map +1 -1
- package/dist/context/templates/workflow_rule_generator.js +2 -12
- package/dist/context/templates/workflow_rule_generator.js.map +1 -1
- package/dist/core/adversarial_review_store.d.ts +6 -0
- package/dist/core/adversarial_review_store.d.ts.map +1 -1
- package/dist/core/adversarial_review_store.js +29 -0
- package/dist/core/adversarial_review_store.js.map +1 -1
- package/dist/core/condition_evaluators.d.ts +42 -0
- package/dist/core/condition_evaluators.d.ts.map +1 -0
- package/dist/core/condition_evaluators.js +31 -0
- package/dist/core/condition_evaluators.js.map +1 -0
- package/dist/core/domain_transition.js +1 -1
- package/dist/core/domain_transition.js.map +1 -1
- package/dist/core/gate_record_store.d.ts +6 -0
- package/dist/core/gate_record_store.d.ts.map +1 -1
- package/dist/core/gate_record_store.js +27 -0
- package/dist/core/gate_record_store.js.map +1 -1
- package/dist/core/git_utils.d.ts +6 -0
- package/dist/core/git_utils.d.ts.map +1 -1
- package/dist/core/git_utils.js +20 -0
- package/dist/core/git_utils.js.map +1 -1
- package/dist/core/intent_router.js +1 -1
- package/dist/core/intent_router.js.map +1 -1
- package/dist/core/observer.d.ts.map +1 -1
- package/dist/core/observer.js +30 -23
- package/dist/core/observer.js.map +1 -1
- package/dist/core/task_context/manager.d.ts +5 -4
- package/dist/core/task_context/manager.d.ts.map +1 -1
- package/dist/core/task_context/manager.js +18 -8
- package/dist/core/task_context/manager.js.map +1 -1
- package/dist/core/task_context/manager_setters.d.ts +2 -2
- package/dist/core/task_context/manager_setters.d.ts.map +1 -1
- package/dist/core/task_context/manager_setters.js +18 -48
- package/dist/core/task_context/manager_setters.js.map +1 -1
- package/dist/core/task_context/status_transitions.js +2 -2
- package/dist/core/task_context/status_transitions.js.map +1 -1
- package/dist/core/types.d.ts +18 -6
- package/dist/core/types.d.ts.map +1 -1
- package/dist/domain/asset_registry/derived_registry.d.ts +0 -1
- package/dist/domain/asset_registry/derived_registry.d.ts.map +1 -1
- package/dist/domain/asset_registry/derived_registry.js.map +1 -1
- package/dist/domain/asset_registry/derived_types.d.ts +5 -2
- package/dist/domain/asset_registry/derived_types.d.ts.map +1 -1
- package/dist/domain/build/contract.d.ts.map +1 -1
- package/dist/domain/build/contract.js +12 -2
- package/dist/domain/build/contract.js.map +1 -1
- package/dist/domain/build/engine.d.ts.map +1 -1
- package/dist/domain/build/engine.js +23 -2
- package/dist/domain/build/engine.js.map +1 -1
- package/dist/domain/contracts/artifact_contract_registry.d.ts +1 -1
- package/dist/domain/contracts/artifact_contract_registry.d.ts.map +1 -1
- package/dist/domain/contracts/artifact_contract_registry.js +20 -26
- package/dist/domain/contracts/artifact_contract_registry.js.map +1 -1
- package/dist/domain/contracts/artifact_schema_registry.d.ts +1 -1
- package/dist/domain/contracts/artifact_schema_registry.d.ts.map +1 -1
- package/dist/domain/contracts/artifact_schema_registry.js +49 -71
- package/dist/domain/contracts/artifact_schema_registry.js.map +1 -1
- package/dist/domain/contracts/design_lifecycle_contract.d.ts +4 -8
- package/dist/domain/contracts/design_lifecycle_contract.d.ts.map +1 -1
- package/dist/domain/contracts/design_lifecycle_contract.js +8 -127
- package/dist/domain/contracts/design_lifecycle_contract.js.map +1 -1
- package/dist/domain/delivery_readiness.d.ts +0 -26
- package/dist/domain/delivery_readiness.d.ts.map +1 -1
- package/dist/domain/delivery_readiness.js +0 -41
- package/dist/domain/delivery_readiness.js.map +1 -1
- package/dist/domain/design/contract.d.ts.map +1 -1
- package/dist/domain/design/contract.js +13 -8
- package/dist/domain/design/contract.js.map +1 -1
- package/dist/domain/design/engine.d.ts.map +1 -1
- package/dist/domain/design/engine.js +31 -10
- package/dist/domain/design/engine.js.map +1 -1
- package/dist/domain/engine_helpers.d.ts +14 -5
- package/dist/domain/engine_helpers.d.ts.map +1 -1
- package/dist/domain/engine_helpers.js +73 -4
- package/dist/domain/engine_helpers.js.map +1 -1
- package/dist/domain/input_material_contract_registry.d.ts +1 -1
- package/dist/domain/input_material_contract_registry.js +1 -1
- package/dist/domain/operate/contract.d.ts.map +1 -1
- package/dist/domain/operate/contract.js +9 -3
- package/dist/domain/operate/contract.js.map +1 -1
- package/dist/domain/verify/contract.d.ts.map +1 -1
- package/dist/domain/verify/contract.js +8 -3
- package/dist/domain/verify/contract.js.map +1 -1
- package/dist/gate/cep_assessment.d.ts +0 -6
- package/dist/gate/cep_assessment.d.ts.map +1 -1
- package/dist/gate/cep_assessment.js +0 -23
- package/dist/gate/cep_assessment.js.map +1 -1
- package/dist/gate/contracts/capability_registry.js +3 -3
- package/dist/gate/contracts/capability_registry.js.map +1 -1
- package/dist/gate/contracts/control_plane_contract.d.ts.map +1 -1
- package/dist/gate/contracts/control_plane_contract.js +1 -2
- package/dist/gate/contracts/control_plane_contract.js.map +1 -1
- package/dist/gate/contracts/tool_invocation_contract_registry.js +3 -3
- package/dist/gate/contracts/tool_invocation_contract_registry.js.map +1 -1
- package/dist/gate/diff_ownership.d.ts +0 -8
- package/dist/gate/diff_ownership.d.ts.map +1 -1
- package/dist/gate/diff_ownership.js.map +1 -1
- package/dist/gate/executors/executors_annotation.d.ts.map +1 -1
- package/dist/gate/executors/executors_annotation.js +26 -5
- package/dist/gate/executors/executors_annotation.js.map +1 -1
- package/dist/gate/executors/executors_artifact.d.ts +5 -0
- package/dist/gate/executors/executors_artifact.d.ts.map +1 -1
- package/dist/gate/executors/executors_artifact.js +174 -60
- package/dist/gate/executors/executors_artifact.js.map +1 -1
- package/dist/gate/executors/executors_prerequisite.d.ts.map +1 -1
- package/dist/gate/executors/executors_prerequisite.js +31 -20
- package/dist/gate/executors/executors_prerequisite.js.map +1 -1
- package/dist/gate/executors/executors_regex_scan.d.ts.map +1 -1
- package/dist/gate/executors/executors_regex_scan.js +12 -2
- package/dist/gate/executors/executors_regex_scan.js.map +1 -1
- package/dist/gate/executors/executors_trace.d.ts.map +1 -1
- package/dist/gate/executors/executors_trace.js +49 -10
- package/dist/gate/executors/executors_trace.js.map +1 -1
- package/dist/gate/gate_engine.d.ts +5 -0
- package/dist/gate/gate_engine.d.ts.map +1 -1
- package/dist/gate/gate_engine.js +7 -3
- package/dist/gate/gate_engine.js.map +1 -1
- package/dist/gate/gate_registry_bridge.d.ts +1 -1
- package/dist/gate/gate_registry_bridge.d.ts.map +1 -1
- package/dist/gate/gate_registry_bridge.js +12 -3
- package/dist/gate/gate_registry_bridge.js.map +1 -1
- package/dist/gate/plan_proposal_gate.d.ts +0 -18
- package/dist/gate/plan_proposal_gate.d.ts.map +1 -1
- package/dist/gate/plan_proposal_gate.js +0 -51
- package/dist/gate/plan_proposal_gate.js.map +1 -1
- package/dist/index.js +2 -2
- package/dist/server/tools/middleware.d.ts +1 -1
- package/dist/server/tools/middleware.d.ts.map +1 -1
- package/dist/server/tools/sf_gate.d.ts.map +1 -1
- package/dist/server/tools/sf_gate.js +19 -10
- package/dist/server/tools/sf_gate.js.map +1 -1
- package/dist/server/tools/sf_task.d.ts +2 -1
- package/dist/server/tools/sf_task.d.ts.map +1 -1
- package/dist/server/tools/sf_task.js +27 -15
- package/dist/server/tools/sf_task.js.map +1 -1
- package/dist/server/tools/sf_work.d.ts +86 -0
- package/dist/server/tools/sf_work.d.ts.map +1 -1
- package/dist/server/tools/sf_work.js +119 -56
- package/dist/server/tools/sf_work.js.map +1 -1
- package/dist/shared/diagnostic_registry.d.ts +0 -44
- package/dist/shared/diagnostic_registry.d.ts.map +1 -1
- package/dist/shared/diagnostic_registry.js +1 -254
- package/dist/shared/diagnostic_registry.js.map +1 -1
- package/dist/shared/glob_path.d.ts +3 -3
- package/dist/shared/glob_path.d.ts.map +1 -1
- package/dist/shared/glob_path.js +9 -5
- package/dist/shared/glob_path.js.map +1 -1
- package/dist/shared/helpers.d.ts +5 -3
- package/dist/shared/helpers.d.ts.map +1 -1
- package/dist/shared/helpers.js +11 -9
- package/dist/shared/helpers.js.map +1 -1
- package/dist/shared/knowledge_config_loader.d.ts +0 -12
- package/dist/shared/knowledge_config_loader.d.ts.map +1 -1
- package/dist/shared/knowledge_config_loader.js +0 -28
- package/dist/shared/knowledge_config_loader.js.map +1 -1
- package/dist/shared/write_file_atomic.d.ts +6 -0
- package/dist/shared/write_file_atomic.d.ts.map +1 -1
- package/dist/shared/write_file_atomic.js +8 -2
- package/dist/shared/write_file_atomic.js.map +1 -1
- package/dist/types/pipeline_types.d.ts +18 -19
- package/dist/types/pipeline_types.d.ts.map +1 -1
- package/dist/verify/audit/evolver.d.ts +1 -2
- package/dist/verify/audit/evolver.d.ts.map +1 -1
- package/dist/verify/audit/evolver.js +1 -2
- package/dist/verify/audit/evolver.js.map +1 -1
- package/dist/verify/audit/main_path_integration_contract/constants.d.ts +2 -8
- package/dist/verify/audit/main_path_integration_contract/constants.d.ts.map +1 -1
- package/dist/verify/audit/main_path_integration_contract/constants.js +1 -15
- package/dist/verify/audit/main_path_integration_contract/constants.js.map +1 -1
- package/dist/verify/audit/probe_rule.d.ts +0 -6
- package/dist/verify/audit/probe_rule.d.ts.map +1 -1
- package/dist/verify/audit/probe_rule.js +11 -0
- package/dist/verify/audit/probe_rule.js.map +1 -1
- package/dist/verify/index.d.ts +0 -1
- package/dist/verify/index.d.ts.map +1 -1
- package/dist/verify/index.js +1 -2
- package/dist/verify/index.js.map +1 -1
- package/dist/verify/types.d.ts +1 -1
- package/dist/verify/types.d.ts.map +1 -1
- package/package.json +2 -3
- package/templates/build/enforced.md +4 -1
- package/templates/build//347/274/226/347/240/201/347/272/252/345/276/213.md +2 -2
- package/templates/design/enforced.md +26 -14
- package/templates/design//345/216/237/345/236/213/350/257/264/346/230/216.md +2 -2
- package/templates/design//345/274/200/345/217/221/345/210/207/347/211/207/350/256/241/345/210/222.md +3 -3
- package/templates/design//346/236/266/346/236/204/350/256/276/350/256/{241.md → 241/346/226/207/346/241/243.md} +1 -4
- package/templates/operate/enforced.md +1 -0
- package/templates/shared/deterministic_executors.json +27 -0
- package/templates/shared//345/267/245/344/275/234/346/265/201/347/241/254/350/247/204/345/210/231/345/245/221/347/272/246.md +1 -25
- package/templates/verify/enforced.md +10 -0
- package/templates/verify//346/265/213/350/257/225/346/212/245/345/221/212.md +53 -0
- package/dist/context/adapters/trae/trae_config.d.ts +0 -31
- package/dist/context/adapters/trae/trae_config.d.ts.map +0 -1
- package/dist/context/adapters/trae/trae_config.js +0 -35
- package/dist/context/adapters/trae/trae_config.js.map +0 -1
- package/dist/context/adapters/trae/trae_rules.d.ts +0 -21
- package/dist/context/adapters/trae/trae_rules.d.ts.map +0 -1
- package/dist/context/adapters/trae/trae_rules.js +0 -56
- package/dist/context/adapters/trae/trae_rules.js.map +0 -1
- package/dist/gate/uncertainty_bridge.d.ts +0 -87
- package/dist/gate/uncertainty_bridge.d.ts.map +0 -1
- package/dist/gate/uncertainty_bridge.js +0 -73
- package/dist/gate/uncertainty_bridge.js.map +0 -1
- package/dist/verify/audit/failure_classifier.d.ts +0 -52
- package/dist/verify/audit/failure_classifier.d.ts.map +0 -1
- package/dist/verify/audit/failure_classifier.js +0 -188
- package/dist/verify/audit/failure_classifier.js.map +0 -1
- package/dist/verify/oda/controller.d.ts +0 -38
- package/dist/verify/oda/controller.d.ts.map +0 -1
- package/dist/verify/oda/controller.js +0 -209
- package/dist/verify/oda/controller.js.map +0 -1
|
@@ -41,16 +41,6 @@ export interface DeliveryReadinessReport {
|
|
|
41
41
|
/** 交付是否已执行 — 必须独立于 readiness 判断 */
|
|
42
42
|
delivery_executed: boolean;
|
|
43
43
|
}
|
|
44
|
-
export interface DeliveryExecutionRecord {
|
|
45
|
-
execution_id: string;
|
|
46
|
-
task_id: string;
|
|
47
|
-
trigger: "verify" | "manual";
|
|
48
|
-
commit_sha?: string;
|
|
49
|
-
pr_url?: string;
|
|
50
|
-
changelog_entry?: string;
|
|
51
|
-
executed_at: string;
|
|
52
|
-
rolled_back: boolean;
|
|
53
|
-
}
|
|
54
44
|
/**
|
|
55
45
|
* 评估交付就绪状态。
|
|
56
46
|
* 只做判断,不执行任何交付动作。
|
|
@@ -59,20 +49,4 @@ export declare function evaluateDeliveryReadiness(taskId: string, verifyGateReco
|
|
|
59
49
|
final_access: FinalLocalReviewAccess;
|
|
60
50
|
project_run_mode: "not_applicable" | "docker_compose" | "dockerfile" | "local_dev_server";
|
|
61
51
|
}): DeliveryReadinessReport;
|
|
62
|
-
/**
|
|
63
|
-
* 创建交付执行记录。
|
|
64
|
-
* 必须由 sf_work verify 或手动触发,不能由 readiness 自动触发。
|
|
65
|
-
*/
|
|
66
|
-
export declare function createDeliveryExecutionRecord(taskId: string, trigger: "verify" | "manual", details: {
|
|
67
|
-
commit_sha?: string;
|
|
68
|
-
pr_url?: string;
|
|
69
|
-
changelog_entry?: string;
|
|
70
|
-
}): DeliveryExecutionRecord;
|
|
71
|
-
/**
|
|
72
|
-
* 验证: delivery_readiness 不得触发 delivery_execution。
|
|
73
|
-
*/
|
|
74
|
-
export declare function validateDeliverySeparation(report: DeliveryReadinessReport, executionRecord: DeliveryExecutionRecord | undefined): Array<{
|
|
75
|
-
error: string;
|
|
76
|
-
severity: "hard_fail" | "warning";
|
|
77
|
-
}>;
|
|
78
52
|
//# sourceMappingURL=delivery_readiness.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery_readiness.d.ts","sourceRoot":"","sources":["../../src/domain/delivery_readiness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AAC7E,OAAO,KAAK,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,qDAAqD,CAAC;AAIhH,MAAM,MAAM,uBAAuB,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,GAAG,SAAS,GAAG,iBAAiB,CAAC;AAExG,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,yBAAyB,EAAE,uBAAuB,CAAC;IACnD,gBAAgB,EAAE,OAAO,CAAC;IAC1B,uDAAuD;IACvD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,0BAA0B,EAAE,OAAO,CAAC;IACpC,mEAAmE;IACnE,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,iBAAiB,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/D,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtD,YAAY,EAAE,MAAM,CAAC;IACrB,mCAAmC;IACnC,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED
|
|
1
|
+
{"version":3,"file":"delivery_readiness.d.ts","sourceRoot":"","sources":["../../src/domain/delivery_readiness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AAC7E,OAAO,KAAK,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,qDAAqD,CAAC;AAIhH,MAAM,MAAM,uBAAuB,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,GAAG,SAAS,GAAG,iBAAiB,CAAC;AAExG,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,yBAAyB,EAAE,uBAAuB,CAAC;IACnD,gBAAgB,EAAE,OAAO,CAAC;IAC1B,uDAAuD;IACvD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,0BAA0B,EAAE,OAAO,CAAC;IACpC,mEAAmE;IACnE,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,iBAAiB,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/D,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtD,YAAY,EAAE,MAAM,CAAC;IACrB,mCAAmC;IACnC,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,UAAU,GAAG,SAAS,EACxC,aAAa,EAAE,YAAY,EAAE,EAC7B,gBAAgB,EAAE,OAAO,EACzB,gBAAgB,EAAE,OAAO,EACzB,kBAAkB,EAAE,OAAO,EAC3B,wBAAwB,EAAE,OAAO,EACjC,iBAAiB,GAAE,MAAM,EAAO,EAChC,WAAW,CAAC,EAAE,YAAY,EAAE,EAC5B,gBAAgB,CAAC,EAAE;IAAE,YAAY,EAAE,sBAAsB,CAAC;IAAC,gBAAgB,EAAE,gBAAgB,GAAG,gBAAgB,GAAG,YAAY,GAAG,kBAAkB,CAAA;CAAE,GACrJ,uBAAuB,CA6HzB"}
|
|
@@ -132,45 +132,4 @@ export function evaluateDeliveryReadiness(taskId, verifyGateRecord, guardFinding
|
|
|
132
132
|
delivery_executed: false, // 就绪报告不触发执行
|
|
133
133
|
};
|
|
134
134
|
}
|
|
135
|
-
/**
|
|
136
|
-
* 创建交付执行记录。
|
|
137
|
-
* 必须由 sf_work verify 或手动触发,不能由 readiness 自动触发。
|
|
138
|
-
*/
|
|
139
|
-
export function createDeliveryExecutionRecord(taskId, trigger, details) {
|
|
140
|
-
return {
|
|
141
|
-
execution_id: `de-${taskId}-${Date.now()}`,
|
|
142
|
-
task_id: taskId,
|
|
143
|
-
trigger,
|
|
144
|
-
commit_sha: details.commit_sha,
|
|
145
|
-
pr_url: details.pr_url,
|
|
146
|
-
changelog_entry: details.changelog_entry,
|
|
147
|
-
executed_at: new Date().toISOString(),
|
|
148
|
-
rolled_back: false,
|
|
149
|
-
};
|
|
150
|
-
}
|
|
151
|
-
/**
|
|
152
|
-
* 验证: delivery_readiness 不得触发 delivery_execution。
|
|
153
|
-
*/
|
|
154
|
-
export function validateDeliverySeparation(report, executionRecord) {
|
|
155
|
-
const errors = [];
|
|
156
|
-
if (report.delivery_allowed && report.delivery_executed) {
|
|
157
|
-
errors.push({
|
|
158
|
-
error: "delivery_readiness 报告不应触发 delivery_execution",
|
|
159
|
-
severity: "hard_fail",
|
|
160
|
-
});
|
|
161
|
-
}
|
|
162
|
-
if (executionRecord && !report.delivery_allowed) {
|
|
163
|
-
errors.push({
|
|
164
|
-
error: "交付已执行但 delivery_readiness 未允许",
|
|
165
|
-
severity: "hard_fail",
|
|
166
|
-
});
|
|
167
|
-
}
|
|
168
|
-
if (executionRecord && executionRecord.trigger === undefined) {
|
|
169
|
-
errors.push({
|
|
170
|
-
error: "交付执行记录缺少显式触发来源",
|
|
171
|
-
severity: "hard_fail",
|
|
172
|
-
});
|
|
173
|
-
}
|
|
174
|
-
return errors;
|
|
175
|
-
}
|
|
176
135
|
//# sourceMappingURL=delivery_readiness.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery_readiness.js","sourceRoot":"","sources":["../../src/domain/delivery_readiness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;
|
|
1
|
+
{"version":3,"file":"delivery_readiness.js","sourceRoot":"","sources":["../../src/domain/delivery_readiness.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../../src/domain/design/contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,YAAY;AACZ,eAAO,MAAM,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../../src/domain/design/contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,YAAY;AACZ,eAAO,MAAM,cAAc,EAAE,cA0D5B,CAAC"}
|
|
@@ -25,8 +25,9 @@ export const designContract = {
|
|
|
25
25
|
},
|
|
26
26
|
{
|
|
27
27
|
kind: "prototype_spec",
|
|
28
|
-
path_pattern: "docs/analyze/*/
|
|
29
|
-
required:
|
|
28
|
+
path_pattern: "docs/analyze/*/pages/*-原型说明.md",
|
|
29
|
+
required: true,
|
|
30
|
+
condition: "scope:frontend",
|
|
30
31
|
gate: "design-gate",
|
|
31
32
|
template: "原型说明.md",
|
|
32
33
|
},
|
|
@@ -35,24 +36,29 @@ export const designContract = {
|
|
|
35
36
|
path_pattern: "docs/architecture/01-架构设计文档.md",
|
|
36
37
|
required: true,
|
|
37
38
|
gate: "design-gate",
|
|
38
|
-
template: "
|
|
39
|
+
template: "架构设计文档.md",
|
|
39
40
|
references: ["docs/architecture/00-架构决策记录.md"],
|
|
41
|
+
requires: [{ kind: "requirement_analysis" }, { kind: "prototype_spec", when: "scope:frontend" }],
|
|
40
42
|
},
|
|
41
43
|
{
|
|
42
44
|
kind: "database_design",
|
|
43
45
|
path_pattern: "docs/design/01-数据库设计文档.md",
|
|
44
|
-
required:
|
|
46
|
+
required: true,
|
|
47
|
+
condition: "scope:persistence",
|
|
45
48
|
gate: "design-gate",
|
|
46
49
|
template: "数据库设计文档.md",
|
|
47
50
|
companion_files: ["docs/design/schema.sql"],
|
|
51
|
+
requires: [{ kind: "design_doc" }],
|
|
48
52
|
},
|
|
49
53
|
{
|
|
50
|
-
kind: "
|
|
54
|
+
kind: "api_spec",
|
|
51
55
|
path_pattern: "docs/design/02-API接口规格文档.md",
|
|
52
|
-
required:
|
|
56
|
+
required: true,
|
|
57
|
+
condition: "scope:api",
|
|
53
58
|
gate: "design-gate",
|
|
54
59
|
template: "API接口规格文档.md",
|
|
55
60
|
companion_files: ["docs/api/openapi.yaml"],
|
|
61
|
+
requires: [{ kind: "design_doc" }, { kind: "prototype_spec", when: "scope:frontend" }, { kind: "database_design", when: "scope:persistence" }],
|
|
56
62
|
},
|
|
57
63
|
{
|
|
58
64
|
kind: "slice_plan",
|
|
@@ -60,10 +66,9 @@ export const designContract = {
|
|
|
60
66
|
required: true,
|
|
61
67
|
gate: "design-gate",
|
|
62
68
|
template: "开发切片计划.md",
|
|
63
|
-
|
|
69
|
+
requires: [{ kind: "design_doc" }, { kind: "database_design", when: "scope:persistence" }, { kind: "api_spec", when: "scope:api" }],
|
|
64
70
|
},
|
|
65
71
|
],
|
|
66
72
|
requires_upstream: [],
|
|
67
|
-
entry_triggers: ["做新系统", "加新功能", "设计方案", "架构", "需求", "设计", "规划", "分析"],
|
|
68
73
|
};
|
|
69
74
|
//# sourceMappingURL=contract.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../../src/domain/design/contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,YAAY;AACZ,MAAM,CAAC,MAAM,cAAc,GAAmB;IAC5C,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,UAAU;IACvB,QAAQ,EAAE;QACR;YACE,IAAI,EAAE,sBAAsB;YAC5B,YAAY,EAAE,sBAAsB;YACpC,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,aAAa;YACnB,QAAQ,EAAE,SAAS;SACpB;QACD;YACE,IAAI,EAAE,gBAAgB;YACtB,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../../src/domain/design/contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,YAAY;AACZ,MAAM,CAAC,MAAM,cAAc,GAAmB;IAC5C,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,UAAU;IACvB,QAAQ,EAAE;QACR;YACE,IAAI,EAAE,sBAAsB;YAC5B,YAAY,EAAE,sBAAsB;YACpC,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,aAAa;YACnB,QAAQ,EAAE,SAAS;SACpB;QACD;YACE,IAAI,EAAE,gBAAgB;YACtB,YAAY,EAAE,gCAAgC;YAC9C,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,gBAAgB;YAC3B,IAAI,EAAE,aAAa;YACnB,QAAQ,EAAE,SAAS;SACpB;QACD;YACE,IAAI,EAAE,YAAY;YAClB,YAAY,EAAE,gCAAgC;YAC9C,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,aAAa;YACnB,QAAQ,EAAE,WAAW;YACrB,UAAU,EAAE,CAAC,gCAAgC,CAAC;YAC9C,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;SACjG;QACD;YACE,IAAI,EAAE,iBAAiB;YACvB,YAAY,EAAE,2BAA2B;YACzC,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,mBAAmB;YAC9B,IAAI,EAAE,aAAa;YACnB,QAAQ,EAAE,YAAY;YACtB,eAAe,EAAE,CAAC,wBAAwB,CAAC;YAC3C,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;SACnC;QACD;YACE,IAAI,EAAE,UAAU;YAChB,YAAY,EAAE,6BAA6B;YAC3C,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,WAAW;YACtB,IAAI,EAAE,aAAa;YACnB,QAAQ,EAAE,cAAc;YACxB,eAAe,EAAE,CAAC,uBAAuB,CAAC;YAC1C,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC;SAC/I;QACD;YACE,IAAI,EAAE,YAAY;YAClB,YAAY,EAAE,gCAAgC;YAC9C,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,aAAa;YACnB,QAAQ,EAAE,WAAW;YACrB,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,mBAAmB,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;SACpI;KACF;IACD,iBAAiB,EAAE,EAAE;CACtB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../src/domain/design/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../src/domain/design/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAcvD,YAAY;AACZ,qBAAa,YAAa,YAAW,aAAa;IAO9C,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAP9B,wFAAwF;IACxF,IAAI,QAAQ,IAAI,cAAc,CAE7B;gBAGkB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,MAAM;IAGhC,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAIjD,GAAG,CACP,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,SAAS,CAAC;IAgDf,UAAU,CACd,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,SAAS,CAAC;IA+BrB,aAAa;IACb,OAAO,CAAC,iBAAiB;IAoBzB,WAAW;IACX,OAAO,CAAC,kBAAkB;CAG3B"}
|
|
@@ -11,8 +11,9 @@
|
|
|
11
11
|
* 数据流:TaskContext → observe: DerivedState / act: ActResult
|
|
12
12
|
* 持久化:无(act 只组装 prompt)
|
|
13
13
|
*/
|
|
14
|
+
import { meetsArtifactCondition } from "../../core/condition_evaluators.js";
|
|
14
15
|
import { designContract } from "./contract.js";
|
|
15
|
-
import { loadArtifactTemplate, formatUpstream, buildArtifactPrompt, buildDeliberationPrompt, deliberationRecordPath, deliberationRecordDir, getExtendedContract, } from "../engine_helpers.js";
|
|
16
|
+
import { loadArtifactTemplate, loadArtifactAggregate, formatUpstream, buildArtifactPrompt, buildDeliberationPrompt, deliberationRecordPath, deliberationRecordDir, getExtendedContract, } from "../engine_helpers.js";
|
|
16
17
|
/** 设计域引擎 */
|
|
17
18
|
export class DesignEngine {
|
|
18
19
|
observer;
|
|
@@ -40,10 +41,24 @@ export class DesignEngine {
|
|
|
40
41
|
// 3. 组装 scope
|
|
41
42
|
const allowedPaths = this.buildAllowedPaths(artifact);
|
|
42
43
|
const readOnlyPaths = this.buildReadOnlyPaths();
|
|
43
|
-
// 4.
|
|
44
|
+
// 4. 注入同域 requires 产物(when 满足的;聚合多页,如 design_doc requires prototype_spec → 聚合所有页端级原型注入)
|
|
45
|
+
const fullUpstream = { ...upstream };
|
|
46
|
+
for (const req of artifact.requires ?? []) {
|
|
47
|
+
if (!meetsArtifactCondition({ condition: req.when }, task.scope))
|
|
48
|
+
continue; // when 不满足不注入(纯后端不注入原型)
|
|
49
|
+
if (fullUpstream[req.kind])
|
|
50
|
+
continue; // 跨域 upstream 已有则不覆盖
|
|
51
|
+
const depArtifact = this.contract.produces.find((a) => a.kind === req.kind);
|
|
52
|
+
if (!depArtifact)
|
|
53
|
+
continue;
|
|
54
|
+
const content = loadArtifactAggregate(this.projectRoot, depArtifact);
|
|
55
|
+
if (content)
|
|
56
|
+
fullUpstream[req.kind] = content;
|
|
57
|
+
}
|
|
58
|
+
// 5. 组装 prompt(上游产物 + 同域依赖 + 模板 + guides 软知识)
|
|
44
59
|
const prompt = buildArtifactPrompt(task.intent, artifact, {
|
|
45
60
|
templateContent,
|
|
46
|
-
upstreamSection: formatUpstream(
|
|
61
|
+
upstreamSection: formatUpstream(fullUpstream),
|
|
47
62
|
guidanceSection,
|
|
48
63
|
}, `严格按照模板结构产出内容。确保通过「${artifact.gate}」门禁检查。\n所有注释和日志使用中文。`, feedback);
|
|
49
64
|
return {
|
|
@@ -63,18 +78,14 @@ export class DesignEngine {
|
|
|
63
78
|
const templateContent = loadArtifactTemplate(this.projectRoot, this.contract.name, "研讨记录.md");
|
|
64
79
|
const recordPath = deliberationRecordPath(this.contract.name, artifact);
|
|
65
80
|
const prompt = buildDeliberationPrompt(task.intent, artifact, { templateContent, upstreamSection: formatUpstream(upstream) }, recordPath);
|
|
66
|
-
// ① db/api
|
|
67
|
-
// 结论写进 §8「产物适用性声明」。声明「适用」→ 强制产出;「不适用」→ 放行(前端/无后端按需不产)。
|
|
68
|
-
const dbApiDeliberation = target === "design_doc"
|
|
69
|
-
? `\n## db/api 产物适用性研讨(必研讨,design_doc §8「产物适用性声明」须据此填写)\n本项目是否需要 database_design / api_specification?逐点与用户对话框研讨:\n1. **是否有后端持久化/数据库**?— 有 → database_design「适用」;纯前端/无持久化 → 「不适用」\n2. **是否有对外 API / 前后端接口**?— 有 → api_specification「适用」;纯内部模块/无接口 → 「不适用」\n3. 收敛结论写进 design_doc §8:\`数据库设计文档:适用/不适用 — 依据:...\`、\`API接口规格文档:适用/不适用 — 依据:...\`\n> 声明「适用」须产出对应产物(XVAL-DBAPI-APPLICABILITY / BLD-DBAPI 强制);「不适用」放行。`
|
|
70
|
-
: "";
|
|
81
|
+
// ① db/api 是否产出由 task.scope(start 第零步定 scope.persistence/scope.api)决定,不再在 design_doc deliberate 研讨。
|
|
71
82
|
// ② 系统形态研讨:requirement_analysis 须在对话框与用户确认是否前后端、几个端、各端技术栈,
|
|
72
83
|
// 结论写进 §9「系统形态与交付边界」(端清单 FE-*)。涉及前端时强制留痕研讨记录(REQ-DELIB)。
|
|
73
84
|
const systemFormDeliberation = target === "requirement_analysis"
|
|
74
85
|
? `\n## 系统形态研讨(必研讨,需求分析 §9「系统形态与交付边界」须据此填写)\n本项目是什么形态?逐点与用户对话框研讨(不可 AI 代决):\n1. **系统形态**:纯后端 API / 前后端分离 / 多端 / 纯前端?\n2. **有几个端**(若有前端)?逐端命名(单段 FE-* ID:FE-client-01/FE-admin-01,禁多段横杠)+ 各端技术栈(如 Vue3+TS+Vite / uni-app)+ 职责\n3. **前后端契约方式**:RESTful / GraphQL / BFF?\n4. 收敛结论写进需求 §9:系统形态 + 端清单表格(FE-* ID/端名/技术栈/职责/本期交付)+ 交付边界\n> 涉及前端时须留痕研讨记录(REQ-DELIB 强制,docs/研讨记录/设计/需求分析-研讨记录.md);纯后端 API 端清单留空。下游架构 §6.3 据端清单模块化前端(FE-*)。`
|
|
75
86
|
: "";
|
|
76
87
|
return {
|
|
77
|
-
prompt: prompt +
|
|
88
|
+
prompt: prompt + systemFormDeliberation,
|
|
78
89
|
template: "研讨记录.md",
|
|
79
90
|
scope: {
|
|
80
91
|
allowed_paths: [deliberationRecordDir(this.contract.name)],
|
|
@@ -86,7 +97,17 @@ export class DesignEngine {
|
|
|
86
97
|
/** 允许写入路径 */
|
|
87
98
|
buildAllowedPaths(artifact) {
|
|
88
99
|
// 设计域产物都在 docs/ 下;附件(companion_files)目录也纳入 scope(bundle 完整产出,通用,不硬编码)
|
|
89
|
-
|
|
100
|
+
// glob path_pattern(如 docs/analyze/*/pages/*-原型说明.md)取首个 * 前的固定前缀(docs/analyze),避免 isPathInScope 整串匹配漏匹配
|
|
101
|
+
let dir;
|
|
102
|
+
if (artifact.path_pattern.includes("*")) {
|
|
103
|
+
const starIdx = artifact.path_pattern.indexOf("*");
|
|
104
|
+
const prefix = artifact.path_pattern.slice(0, starIdx);
|
|
105
|
+
const lastSlash = prefix.lastIndexOf("/");
|
|
106
|
+
dir = lastSlash >= 0 ? prefix.slice(0, lastSlash) : prefix || "docs";
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
dir = artifact.path_pattern.includes("/") ? artifact.path_pattern.split("/").slice(0, -1).join("/") : "docs";
|
|
110
|
+
}
|
|
90
111
|
const paths = new Set([dir || "docs"]);
|
|
91
112
|
for (const cf of artifact.companion_files ?? []) {
|
|
92
113
|
const cfDir = cf.includes("/") ? cf.split("/").slice(0, -1).join("/") : cf;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/domain/design/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,mBAAmB,EACnB,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAE9B,YAAY;AACZ,MAAM,OAAO,YAAY;IAOJ;IACA;IAPnB,wFAAwF;IACxF,IAAI,QAAQ;QACV,OAAO,mBAAmB,CAAC,cAAc,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAC/D,CAAC;IAED,YACmB,QAAkB,EAClB,WAAmB;QADnB,aAAQ,GAAR,QAAQ,CAAU;QAClB,gBAAW,GAAX,WAAW,CAAQ;IACnC,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,IAAiB;QAC7B,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,GAAG,CACP,IAAiB,EACjB,MAAc,EACd,QAAgC,EAChC,QAAiB;QAEjB,aAAa;QACb,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;QACvE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,SAAS,MAAM,WAAW,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpG,CAAC;QAED,oCAAoC;QACpC,MAAM,eAAe,GAAG,oBAAoB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACtG,MAAM,eAAe,GAAG,EAAE,CAAC,CAAC,wCAAwC;QAEpE,cAAc;QACd,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QACtD,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAEhD,
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/domain/design/engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,11 +13,6 @@
|
|
|
13
13
|
* 持久化:只读本地文件(templates/)
|
|
14
14
|
*/
|
|
15
15
|
import type { ArtifactDeclaration, DomainContract } from "../core/types.js";
|
|
16
|
-
/**
|
|
17
|
-
* 加载工程指导(guidance)。两级注入:
|
|
18
|
-
* 一级:该域+shared下所有 guidance 的标题摘要
|
|
19
|
-
* 二级:triggers 匹配 intent 的文件全文注入
|
|
20
|
-
*/
|
|
21
16
|
export declare function loadGuidance(projectRoot: string, domain: string, intent: string, artifactKind?: string, builtinRoot?: string): {
|
|
22
17
|
summary: string;
|
|
23
18
|
fullText: string;
|
|
@@ -31,6 +26,20 @@ export declare function loadGuidance(projectRoot: string, domain: string, intent
|
|
|
31
26
|
* templateName 为空时返回 ""。
|
|
32
27
|
*/
|
|
33
28
|
export declare function loadArtifactTemplate(projectRoot: string, domainName: string, templateName: string, builtinRoot?: string): string;
|
|
29
|
+
/**
|
|
30
|
+
* 聚合加载产物的所有匹配文件(glob 多份,如 prototype_spec 多端多页)。
|
|
31
|
+
* 用于同域 requires 产物注入(design_doc requires prototype_spec → 聚合所有页注入 prompt)。
|
|
32
|
+
* 截断:每份 4000 字、总 12000 字(避免 prompt 膨胀)。读不到返回 undefined。
|
|
33
|
+
*/
|
|
34
|
+
export declare function loadArtifactAggregate(projectRoot: string, artifact: {
|
|
35
|
+
path_pattern: string;
|
|
36
|
+
}): string | undefined;
|
|
37
|
+
/**
|
|
38
|
+
* 解析切片对应的页级原型说明文件路径(相对 projectRoot)。
|
|
39
|
+
* 读 slice_plan 定位 ### {sliceId} 块,提取「对应原型页面」{端}/{slug},拼 docs/analyze/{端}/pages/{slug}-原型说明.md。
|
|
40
|
+
* 用于 build act 注入本切片对应页 UI 约束(切片确定性消费页级原型)。找不到返回 []。
|
|
41
|
+
*/
|
|
42
|
+
export declare function resolveSlicePrototypePages(sliceId: string, projectRoot: string): string[];
|
|
34
43
|
/**
|
|
35
44
|
* 格式化上游产物为 prompt 段。无上游时返回空字符串。
|
|
36
45
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine_helpers.d.ts","sourceRoot":"","sources":["../../src/domain/engine_helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAOH,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"engine_helpers.d.ts","sourceRoot":"","sources":["../../src/domain/engine_helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAOH,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAoB5E,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,WAAW,GAAE,MAAqB,GAAG;IAC5I,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC/E,CA4DA;AA6CD;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,WAAW,GAAE,MAAqB,GACjC,MAAM,CAYR;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE;IAAE,YAAY,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,GAAG,SAAS,CAoBjH;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAoBzF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAIvE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAC9D,QAAQ,EAAE;IAAE,eAAe,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,EACvF,YAAY,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,CA2BR;AAKD,uCAAuC;AACvC,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE;IAAE,YAAY,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAIjG;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAC9D,QAAQ,EAAE;IAAE,eAAe,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,EAC9D,gBAAgB,EAAE,MAAM,GACvB,MAAM,CA4CR;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,mBAAmB,EAAE,CA4B3F;AAED,mGAAmG;AACnG,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,GAAG,cAAc,CAI7F;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE;IAAE,QAAQ,CAAC,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,GAAG,SAAS,GACxD,MAAM,EAAE,CAIV;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGhF"}
|
|
@@ -19,6 +19,8 @@ import { fileURLToPath } from "node:url";
|
|
|
19
19
|
import matter from "gray-matter";
|
|
20
20
|
import { discoverSourceRoots } from "../gate/scope_resolver.js";
|
|
21
21
|
import { getHeadHash } from "../core/git_utils.js";
|
|
22
|
+
import { containsGlob, resolveArtifactsByGlob } from "../shared/glob_path.js";
|
|
23
|
+
import { safeTruncate } from "../shared/helpers.js";
|
|
22
24
|
/** SoloForge 包根(dist/domain/ → 包根)。定位内置 templates,与 gate_registry_bridge 一致。
|
|
23
25
|
* 修定位 bug:原 loadGuidance/loadArtifactTemplate 用 resolve(projectRoot,"templates"),
|
|
24
26
|
* 生产环境 projectRoot=客户项目根,找不到内置 templates(潜伏不一致,gate_registry_bridge 注释自述)。 */
|
|
@@ -28,7 +30,15 @@ const BUILTIN_ROOT = resolve(dirname(fileURLToPath(import.meta.url)), "..", ".."
|
|
|
28
30
|
* 一级:该域+shared下所有 guidance 的标题摘要
|
|
29
31
|
* 二级:triggers 匹配 intent 的文件全文注入
|
|
30
32
|
*/
|
|
33
|
+
// P5:loadGuidance TTL 缓存(原每次 act/verify 读 4 目录 + gray-matter 解析每文件;
|
|
34
|
+
// 同 task 同 intent,TTL 10s 内共享——文件读+matter 是主要开销,fullText 匹配内存快)
|
|
35
|
+
const _guidanceCache = new Map();
|
|
36
|
+
const GUIDANCE_CACHE_TTL_MS = 10_000;
|
|
31
37
|
export function loadGuidance(projectRoot, domain, intent, artifactKind, builtinRoot = BUILTIN_ROOT) {
|
|
38
|
+
const _cacheKey = `${builtinRoot}|${projectRoot}|${domain}|${artifactKind ?? ""}|${intent}`;
|
|
39
|
+
const _cached = _guidanceCache.get(_cacheKey);
|
|
40
|
+
if (_cached && Date.now() - _cached.ts < GUIDANCE_CACHE_TTL_MS)
|
|
41
|
+
return _cached.result;
|
|
32
42
|
// 内置根(import.meta 定位包根;原 resolve(projectRoot,"templates") 在生产找客户项目/templates 失败)
|
|
33
43
|
// + 用户目录:项目 .soloforge/knowledge/ + 全局 ~/.soloforge/patterns/,用户 guidance 自动注入(软下限)
|
|
34
44
|
const dirs = [
|
|
@@ -80,7 +90,9 @@ export function loadGuidance(projectRoot, domain, intent, artifactKind, builtinR
|
|
|
80
90
|
});
|
|
81
91
|
const fullText = applyInjectionBudget(matched, intentLower);
|
|
82
92
|
const checklist = allGuidance.map((g) => ({ id: g.id, title: g.title }));
|
|
83
|
-
|
|
93
|
+
const _result = { summary, fullText, checklist };
|
|
94
|
+
_guidanceCache.set(_cacheKey, { result: _result, ts: Date.now() });
|
|
95
|
+
return _result;
|
|
84
96
|
}
|
|
85
97
|
/** 注入预算常量(字符近似:8000 字符约 2-4K token,远低于主流模型上下文) */
|
|
86
98
|
const GUIDANCE_BUDGET_MAX_CHARS = 8000;
|
|
@@ -105,13 +117,13 @@ function applyInjectionBudget(matched, intentLower) {
|
|
|
105
117
|
const body = g.content.trim();
|
|
106
118
|
if (body.length > GUIDANCE_SINGLE_MAX_CHARS) {
|
|
107
119
|
// 单条超限:裁剪保留前 200 字 + 裁剪标记
|
|
108
|
-
const truncated = body
|
|
120
|
+
const truncated = safeTruncate(body, GUIDANCE_TRUNCATE_PREVIEW, `\n\n... [全文已裁剪,共 ${body.length} 字符]`);
|
|
109
121
|
parts.push(`### ${g.title}\n${truncated}`);
|
|
110
122
|
totalChars += truncated.length;
|
|
111
123
|
}
|
|
112
124
|
else if (totalChars + body.length > GUIDANCE_BUDGET_MAX_CHARS) {
|
|
113
125
|
// 总预算超限:降级为仅摘要行
|
|
114
|
-
parts.push(`### ${g.title}\n> [注入预算已满,仅摘要] ${body
|
|
126
|
+
parts.push(`### ${g.title}\n> [注入预算已满,仅摘要] ${safeTruncate(body, 100, "...")}`);
|
|
115
127
|
totalChars += 150;
|
|
116
128
|
}
|
|
117
129
|
else {
|
|
@@ -140,6 +152,63 @@ export function loadArtifactTemplate(projectRoot, domainName, templateName, buil
|
|
|
140
152
|
}
|
|
141
153
|
return "";
|
|
142
154
|
}
|
|
155
|
+
/**
|
|
156
|
+
* 聚合加载产物的所有匹配文件(glob 多份,如 prototype_spec 多端多页)。
|
|
157
|
+
* 用于同域 requires 产物注入(design_doc requires prototype_spec → 聚合所有页注入 prompt)。
|
|
158
|
+
* 截断:每份 4000 字、总 12000 字(避免 prompt 膨胀)。读不到返回 undefined。
|
|
159
|
+
*/
|
|
160
|
+
export function loadArtifactAggregate(projectRoot, artifact) {
|
|
161
|
+
const paths = containsGlob(artifact.path_pattern)
|
|
162
|
+
? resolveArtifactsByGlob(projectRoot, artifact.path_pattern)
|
|
163
|
+
: (existsSync(join(projectRoot, artifact.path_pattern)) ? [artifact.path_pattern] : []);
|
|
164
|
+
if (paths.length === 0)
|
|
165
|
+
return undefined;
|
|
166
|
+
const parts = [];
|
|
167
|
+
let total = 0;
|
|
168
|
+
for (const p of paths) {
|
|
169
|
+
if (total >= 12000) { // 循环开头判预算(原 push 后判,首份满载时第 4 份才触发 total>12000,实际聚合可达 ~16000,预算门失效)
|
|
170
|
+
parts.push(`...(还有 ${paths.length - parts.length + 1} 份未聚合,见 ${artifact.path_pattern})`);
|
|
171
|
+
break;
|
|
172
|
+
}
|
|
173
|
+
try {
|
|
174
|
+
const content = readFileSync(join(projectRoot, p), "utf-8");
|
|
175
|
+
const truncated = content.length > 4000 ? safeTruncate(content, 4000, "\n...(该份截断)") : content;
|
|
176
|
+
parts.push(`### ${p}\n${truncated}`);
|
|
177
|
+
total += truncated.length;
|
|
178
|
+
}
|
|
179
|
+
catch { /* 单份读失败跳过 */ }
|
|
180
|
+
}
|
|
181
|
+
return parts.length > 0 ? parts.join("\n\n") : undefined;
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* 解析切片对应的页级原型说明文件路径(相对 projectRoot)。
|
|
185
|
+
* 读 slice_plan 定位 ### {sliceId} 块,提取「对应原型页面」{端}/{slug},拼 docs/analyze/{端}/pages/{slug}-原型说明.md。
|
|
186
|
+
* 用于 build act 注入本切片对应页 UI 约束(切片确定性消费页级原型)。找不到返回 []。
|
|
187
|
+
*/
|
|
188
|
+
export function resolveSlicePrototypePages(sliceId, projectRoot) {
|
|
189
|
+
const slicePlanPath = join(projectRoot, "docs/architecture/02-开发切片计划.md");
|
|
190
|
+
if (!existsSync(slicePlanPath))
|
|
191
|
+
return [];
|
|
192
|
+
const content = readFileSync(slicePlanPath, "utf-8");
|
|
193
|
+
const blocks = content.split(/^###\s+(SLC-\S+)/m);
|
|
194
|
+
for (let i = 1; i < blocks.length; i += 2) {
|
|
195
|
+
if (blocks[i] !== sliceId)
|
|
196
|
+
continue;
|
|
197
|
+
const body = blocks[i + 1] ?? "";
|
|
198
|
+
const pageMatch = body.match(/^\|\s*对应原型页面\s*\|\s*(.+?)\s*\|/m);
|
|
199
|
+
const pageValue = pageMatch?.[1]?.trim();
|
|
200
|
+
if (!pageValue || pageValue === "无")
|
|
201
|
+
return [];
|
|
202
|
+
return pageValue
|
|
203
|
+
.split(/[,,]/).map((s) => s.trim()).filter(Boolean)
|
|
204
|
+
.map((binding) => {
|
|
205
|
+
const m = binding.match(/^([a-zA-Z0-9_-]+)\/([a-zA-Z0-9_-]+)$/);
|
|
206
|
+
return m ? join("docs/analyze", m[1], "pages", `${m[2]}-原型说明.md`) : null;
|
|
207
|
+
})
|
|
208
|
+
.filter((p) => p !== null);
|
|
209
|
+
}
|
|
210
|
+
return [];
|
|
211
|
+
}
|
|
143
212
|
/**
|
|
144
213
|
* 格式化上游产物为 prompt 段。无上游时返回空字符串。
|
|
145
214
|
*/
|
|
@@ -191,7 +260,7 @@ export function deliberationRecordDir(domain) {
|
|
|
191
260
|
*/
|
|
192
261
|
export function deliberationRecordPath(domain, artifact) {
|
|
193
262
|
const base = artifact.path_pattern.split("/").pop() || "产物";
|
|
194
|
-
const product = base.replace(/\.md$/, "").replace(/^\d+-/, "");
|
|
263
|
+
const product = base.replace(/\.md$/, "").replace(/^\d+-/, "").replace(/\*/g, "").replace(/^-+/, "");
|
|
195
264
|
return `${deliberationRecordDir(domain)}${product}-研讨记录.md`;
|
|
196
265
|
}
|
|
197
266
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine_helpers.js","sourceRoot":"","sources":["../../src/domain/engine_helpers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"engine_helpers.js","sourceRoot":"","sources":["../../src/domain/engine_helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -140,7 +140,7 @@ export interface PromptInjectionPlan {
|
|
|
140
140
|
}
|
|
141
141
|
/** 禁止直接注入 prompt 的材料类型(全量大文件/非结构化,幻觉风险)。
|
|
142
142
|
* 边界澄清:image/figma 在此禁止「直接塞 prompt」,但不阻碍「AI 把图片/源码/html 作为原型说明
|
|
143
|
-
* (docs/analyze/{端}/
|
|
143
|
+
* (docs/analyze/{端}/pages/{页}-原型说明.md)的提取输入」——提取是客户端 AI 动作(看图→结构化文档),
|
|
144
144
|
* 不走引擎注入路径;引擎零 LLM,不直接处理图片内容。详见 [[确定性边界原则]]。 */
|
|
145
145
|
export declare const FORBIDDEN_SOURCE_KINDS: MaterialKind[];
|
|
146
146
|
/** 禁止注入 prompt 的来源前缀列表 */
|
|
@@ -210,7 +210,7 @@ export function detectIngestionWarnings(material) {
|
|
|
210
210
|
}
|
|
211
211
|
/** 禁止直接注入 prompt 的材料类型(全量大文件/非结构化,幻觉风险)。
|
|
212
212
|
* 边界澄清:image/figma 在此禁止「直接塞 prompt」,但不阻碍「AI 把图片/源码/html 作为原型说明
|
|
213
|
-
* (docs/analyze/{端}/
|
|
213
|
+
* (docs/analyze/{端}/pages/{页}-原型说明.md)的提取输入」——提取是客户端 AI 动作(看图→结构化文档),
|
|
214
214
|
* 不走引擎注入路径;引擎零 LLM,不直接处理图片内容。详见 [[确定性边界原则]]。 */
|
|
215
215
|
export const FORBIDDEN_SOURCE_KINDS = ["figma", "image"];
|
|
216
216
|
/** 禁止注入 prompt 的来源前缀列表 */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../../src/domain/operate/contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,YAAY;AACZ,eAAO,MAAM,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../../src/domain/operate/contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,YAAY;AACZ,eAAO,MAAM,eAAe,EAAE,cAsC7B,CAAC"}
|
|
@@ -18,17 +18,19 @@ export const operateContract = {
|
|
|
18
18
|
produces: [
|
|
19
19
|
{
|
|
20
20
|
kind: "deploy_config",
|
|
21
|
-
path_pattern: "deploy
|
|
21
|
+
path_pattern: "deploy/部署配置.md",
|
|
22
22
|
required: true,
|
|
23
23
|
gate: "operate-gate",
|
|
24
24
|
template: "部署配置.md",
|
|
25
|
+
companion_files: ["deploy/docker-compose.yml"],
|
|
25
26
|
},
|
|
26
27
|
{
|
|
27
28
|
kind: "release_note",
|
|
28
29
|
path_pattern: "docs/audits/04-发布说明.md",
|
|
29
|
-
required:
|
|
30
|
+
required: true,
|
|
30
31
|
gate: "operate-gate",
|
|
31
32
|
template: "发布说明.md",
|
|
33
|
+
requires: [{ kind: "deploy_config" }],
|
|
32
34
|
},
|
|
33
35
|
],
|
|
34
36
|
requires_upstream: [
|
|
@@ -42,7 +44,11 @@ export const operateContract = {
|
|
|
42
44
|
artifact_kind: "code",
|
|
43
45
|
condition: "always",
|
|
44
46
|
},
|
|
47
|
+
{
|
|
48
|
+
from_domain: "verify",
|
|
49
|
+
artifact_kind: "test_report",
|
|
50
|
+
condition: "scope:code",
|
|
51
|
+
},
|
|
45
52
|
],
|
|
46
|
-
entry_triggers: ["部署", "上线", "发布", "运维", "监控", "扩容", "回滚", "线上"],
|
|
47
53
|
};
|
|
48
54
|
//# sourceMappingURL=contract.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../../src/domain/operate/contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,YAAY;AACZ,MAAM,CAAC,MAAM,eAAe,GAAmB;IAC7C,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,SAAS;IACtB,QAAQ,EAAE;QACR;YACE,IAAI,EAAE,eAAe;YACrB,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../../src/domain/operate/contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,YAAY;AACZ,MAAM,CAAC,MAAM,eAAe,GAAmB;IAC7C,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,SAAS;IACtB,QAAQ,EAAE;QACR;YACE,IAAI,EAAE,eAAe;YACrB,YAAY,EAAE,gBAAgB;YAC9B,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,cAAc;YACpB,QAAQ,EAAE,SAAS;YACnB,eAAe,EAAE,CAAC,2BAA2B,CAAC;SAC/C;QACD;YACE,IAAI,EAAE,cAAc;YACpB,YAAY,EAAE,wBAAwB;YACtC,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,cAAc;YACpB,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;SACtC;KACF;IACD,iBAAiB,EAAE;QACjB;YACE,WAAW,EAAE,QAAQ;YACrB,aAAa,EAAE,eAAe;YAC9B,SAAS,EAAE,QAAQ;SACpB;QACD;YACE,WAAW,EAAE,OAAO;YACpB,aAAa,EAAE,MAAM;YACrB,SAAS,EAAE,QAAQ;SACpB;QACD;YACE,WAAW,EAAE,QAAQ;YACrB,aAAa,EAAE,aAAa;YAC5B,SAAS,EAAE,YAAY;SACxB;KACF;CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../../src/domain/verify/contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,YAAY;AACZ,eAAO,MAAM,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../../src/domain/verify/contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,YAAY;AACZ,eAAO,MAAM,cAAc,EAAE,cAqC5B,CAAC"}
|