soloforge 1.1.45 → 1.1.46
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 +3 -3
- package/dist/context/contracts/lifecycle_knowledge_contract.d.ts.map +1 -1
- package/dist/context/contracts/lifecycle_knowledge_contract.js +2 -2
- package/dist/context/contracts/lifecycle_knowledge_contract.js.map +1 -1
- package/dist/core/task_context/manager.d.ts +0 -8
- package/dist/core/task_context/manager.d.ts.map +1 -1
- package/dist/core/task_context/manager.js +1 -19
- package/dist/core/task_context/manager.js.map +1 -1
- package/dist/core/task_context/state_fact_classifier.d.ts +0 -8
- package/dist/core/task_context/state_fact_classifier.d.ts.map +1 -1
- package/dist/core/task_context/state_fact_classifier.js +0 -36
- package/dist/core/task_context/state_fact_classifier.js.map +1 -1
- package/dist/domain/contracts/design_artifact_pack.d.ts +0 -1
- package/dist/domain/contracts/design_artifact_pack.d.ts.map +1 -1
- package/dist/domain/contracts/design_artifact_pack.js +1 -4
- package/dist/domain/contracts/design_artifact_pack.js.map +1 -1
- package/dist/domain/index.d.ts +1 -1
- package/dist/domain/index.d.ts.map +1 -1
- package/dist/domain/registry.d.ts +2 -2
- package/dist/domain/registry.d.ts.map +1 -1
- package/dist/domain/types.d.ts +1 -12
- package/dist/domain/types.d.ts.map +1 -1
- package/dist/domain/types.js +3 -0
- package/dist/domain/types.js.map +1 -1
- package/dist/gate/contracts/capability_registry.d.ts.map +1 -1
- package/dist/gate/contracts/capability_registry.js +0 -26
- package/dist/gate/contracts/capability_registry.js.map +1 -1
- package/dist/gate/contracts/control_plane_contract.d.ts +1 -1
- package/dist/gate/contracts/control_plane_contract.d.ts.map +1 -1
- package/dist/gate/contracts/control_plane_contract.js +1 -10
- package/dist/gate/contracts/control_plane_contract.js.map +1 -1
- package/dist/gate/contracts/tool_invocation_contract_registry.d.ts +1 -0
- package/dist/gate/contracts/tool_invocation_contract_registry.d.ts.map +1 -1
- package/dist/gate/contracts/tool_invocation_contract_registry.js +1 -1
- package/dist/gate/contracts/tool_invocation_contract_registry.js.map +1 -1
- package/dist/gate/index.d.ts +0 -2
- package/dist/gate/index.d.ts.map +1 -1
- package/dist/gate/index.js +0 -1
- package/dist/gate/index.js.map +1 -1
- package/dist/server/tools/index.d.ts.map +1 -1
- package/dist/server/tools/index.js +1 -3
- package/dist/server/tools/index.js.map +1 -1
- package/dist/server/tools/lazy_loaders.d.ts +0 -23
- package/dist/server/tools/lazy_loaders.d.ts.map +1 -1
- package/dist/server/tools/lazy_loaders.js +2 -33
- package/dist/server/tools/lazy_loaders.js.map +1 -1
- package/dist/server/tools/middleware.d.ts +2 -5
- package/dist/server/tools/middleware.d.ts.map +1 -1
- package/dist/server/tools/middleware.js +3 -33
- package/dist/server/tools/middleware.js.map +1 -1
- package/dist/server/tools/sf_task.js +2 -7
- package/dist/server/tools/sf_task.js.map +1 -1
- package/dist/server/tools/types.d.ts +0 -2
- package/dist/server/tools/types.d.ts.map +1 -1
- package/dist/types/pipeline_types.d.ts +1 -9
- package/dist/types/pipeline_types.d.ts.map +1 -1
- package/dist/verify/audit/verifier.d.ts.map +1 -1
- package/dist/verify/audit/verifier.js +0 -33
- package/dist/verify/audit/verifier.js.map +1 -1
- package/dist/verify/index.d.ts +1 -4
- package/dist/verify/index.d.ts.map +1 -1
- package/dist/verify/index.js +0 -3
- package/dist/verify/index.js.map +1 -1
- package/dist/verify/types.d.ts +0 -21
- package/dist/verify/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/templates/shared//345/206/263/347/255/226/347/275/221/345/205/263.md +7 -21
- package/dist/context/engine/dependency_scanner.d.ts +0 -23
- package/dist/context/engine/dependency_scanner.d.ts.map +0 -1
- package/dist/context/engine/dependency_scanner.js +0 -309
- package/dist/context/engine/dependency_scanner.js.map +0 -1
- package/dist/context/engine/exploration.d.ts +0 -194
- package/dist/context/engine/exploration.d.ts.map +0 -1
- package/dist/context/engine/exploration.js +0 -712
- package/dist/context/engine/exploration.js.map +0 -1
- package/dist/context/knowledge/knowledge_acceptance_registry.d.ts +0 -42
- package/dist/context/knowledge/knowledge_acceptance_registry.d.ts.map +0 -1
- package/dist/context/knowledge/knowledge_acceptance_registry.js +0 -249
- package/dist/context/knowledge/knowledge_acceptance_registry.js.map +0 -1
- package/dist/context/knowledge/knowledge_scenario_registry.d.ts +0 -26
- package/dist/context/knowledge/knowledge_scenario_registry.d.ts.map +0 -1
- package/dist/context/knowledge/knowledge_scenario_registry.js +0 -267
- package/dist/context/knowledge/knowledge_scenario_registry.js.map +0 -1
- package/dist/context/knowledge/knowledge_sovereignty.d.ts +0 -65
- package/dist/context/knowledge/knowledge_sovereignty.d.ts.map +0 -1
- package/dist/context/knowledge/knowledge_sovereignty.js +0 -199
- package/dist/context/knowledge/knowledge_sovereignty.js.map +0 -1
- package/dist/context/team_awareness.d.ts +0 -42
- package/dist/context/team_awareness.d.ts.map +0 -1
- package/dist/context/team_awareness.js +0 -154
- package/dist/context/team_awareness.js.map +0 -1
- package/dist/context/templates/template_asset_visibility.d.ts +0 -116
- package/dist/context/templates/template_asset_visibility.d.ts.map +0 -1
- package/dist/context/templates/template_asset_visibility.js +0 -310
- package/dist/context/templates/template_asset_visibility.js.map +0 -1
- package/dist/gate/conflict_gate.d.ts +0 -53
- package/dist/gate/conflict_gate.d.ts.map +0 -1
- package/dist/gate/conflict_gate.js +0 -96
- package/dist/gate/conflict_gate.js.map +0 -1
- package/dist/gate/contracts/capability_action_advisor.d.ts +0 -34
- package/dist/gate/contracts/capability_action_advisor.d.ts.map +0 -1
- package/dist/gate/contracts/capability_action_advisor.js +0 -165
- package/dist/gate/contracts/capability_action_advisor.js.map +0 -1
- package/dist/gate/contracts/capability_state_store.d.ts +0 -121
- package/dist/gate/contracts/capability_state_store.d.ts.map +0 -1
- package/dist/gate/contracts/capability_state_store.js +0 -188
- package/dist/gate/contracts/capability_state_store.js.map +0 -1
- package/dist/gate/contracts/contract_guard.d.ts +0 -50
- package/dist/gate/contracts/contract_guard.d.ts.map +0 -1
- package/dist/gate/contracts/contract_guard.js +0 -611
- package/dist/gate/contracts/contract_guard.js.map +0 -1
- package/dist/gate/contracts/escape_report.d.ts +0 -103
- package/dist/gate/contracts/escape_report.d.ts.map +0 -1
- package/dist/gate/contracts/escape_report.js +0 -145
- package/dist/gate/contracts/escape_report.js.map +0 -1
- package/dist/gate/feasibility_checker.d.ts +0 -27
- package/dist/gate/feasibility_checker.d.ts.map +0 -1
- package/dist/gate/feasibility_checker.js +0 -114
- package/dist/gate/feasibility_checker.js.map +0 -1
- package/dist/gate/migration_guard.d.ts +0 -22
- package/dist/gate/migration_guard.d.ts.map +0 -1
- package/dist/gate/migration_guard.js +0 -277
- package/dist/gate/migration_guard.js.map +0 -1
- package/dist/gate/scope_lease.d.ts +0 -94
- package/dist/gate/scope_lease.d.ts.map +0 -1
- package/dist/gate/scope_lease.js +0 -180
- package/dist/gate/scope_lease.js.map +0 -1
- package/dist/git/git_deps.d.ts +0 -85
- package/dist/git/git_deps.d.ts.map +0 -1
- package/dist/git/git_deps.js +0 -22
- package/dist/git/git_deps.js.map +0 -1
- package/dist/git/operations.d.ts +0 -173
- package/dist/git/operations.d.ts.map +0 -1
- package/dist/git/operations.js +0 -350
- package/dist/git/operations.js.map +0 -1
- package/dist/server/tools/gate_engine.d.ts +0 -17
- package/dist/server/tools/gate_engine.d.ts.map +0 -1
- package/dist/server/tools/gate_engine.js +0 -17
- package/dist/server/tools/gate_engine.js.map +0 -1
- package/dist/server/tools/middleware/budget_check.d.ts +0 -35
- package/dist/server/tools/middleware/budget_check.d.ts.map +0 -1
- package/dist/server/tools/middleware/budget_check.js +0 -69
- package/dist/server/tools/middleware/budget_check.js.map +0 -1
- package/dist/shared/contracts/contract_registry/builtin_contracts_core.d.ts +0 -16
- package/dist/shared/contracts/contract_registry/builtin_contracts_core.d.ts.map +0 -1
- package/dist/shared/contracts/contract_registry/builtin_contracts_core.js +0 -306
- package/dist/shared/contracts/contract_registry/builtin_contracts_core.js.map +0 -1
- package/dist/shared/contracts/contract_registry/builtin_contracts_core_2.d.ts +0 -16
- package/dist/shared/contracts/contract_registry/builtin_contracts_core_2.d.ts.map +0 -1
- package/dist/shared/contracts/contract_registry/builtin_contracts_core_2.js +0 -304
- package/dist/shared/contracts/contract_registry/builtin_contracts_core_2.js.map +0 -1
- package/dist/shared/contracts/contract_registry/builtin_contracts_extended.d.ts +0 -16
- package/dist/shared/contracts/contract_registry/builtin_contracts_extended.d.ts.map +0 -1
- package/dist/shared/contracts/contract_registry/builtin_contracts_extended.js +0 -434
- package/dist/shared/contracts/contract_registry/builtin_contracts_extended.js.map +0 -1
- package/dist/shared/contracts/contract_registry/index.d.ts +0 -8
- package/dist/shared/contracts/contract_registry/index.d.ts.map +0 -1
- package/dist/shared/contracts/contract_registry/index.js +0 -7
- package/dist/shared/contracts/contract_registry/index.js.map +0 -1
- package/dist/shared/contracts/contract_registry/registry.d.ts +0 -62
- package/dist/shared/contracts/contract_registry/registry.d.ts.map +0 -1
- package/dist/shared/contracts/contract_registry/registry.js +0 -191
- package/dist/shared/contracts/contract_registry/registry.js.map +0 -1
- package/dist/shared/contracts/contract_registry/registry_internal.d.ts +0 -19
- package/dist/shared/contracts/contract_registry/registry_internal.d.ts.map +0 -1
- package/dist/shared/contracts/contract_registry/registry_internal.js +0 -54
- package/dist/shared/contracts/contract_registry/registry_internal.js.map +0 -1
- package/dist/shared/contracts/contract_registry/types.d.ts +0 -47
- package/dist/shared/contracts/contract_registry/types.d.ts.map +0 -1
- package/dist/shared/contracts/contract_registry/types.js +0 -5
- package/dist/shared/contracts/contract_registry/types.js.map +0 -1
- package/dist/shared/contracts/contract_registry/validation.d.ts +0 -25
- package/dist/shared/contracts/contract_registry/validation.d.ts.map +0 -1
- package/dist/shared/contracts/contract_registry/validation.js +0 -363
- package/dist/shared/contracts/contract_registry/validation.js.map +0 -1
- package/dist/shared/llm_gateway.d.ts +0 -186
- package/dist/shared/llm_gateway.d.ts.map +0 -1
- package/dist/shared/llm_gateway.js +0 -393
- package/dist/shared/llm_gateway.js.map +0 -1
- package/dist/verify/audit/audit_sampler.d.ts +0 -29
- package/dist/verify/audit/audit_sampler.d.ts.map +0 -1
- package/dist/verify/audit/audit_sampler.js +0 -42
- package/dist/verify/audit/audit_sampler.js.map +0 -1
- package/dist/verify/audit/debt_reporter.d.ts +0 -22
- package/dist/verify/audit/debt_reporter.d.ts.map +0 -1
- package/dist/verify/audit/debt_reporter.js +0 -107
- package/dist/verify/audit/debt_reporter.js.map +0 -1
- package/dist/verify/audit/debugger.d.ts +0 -25
- package/dist/verify/audit/debugger.d.ts.map +0 -1
- package/dist/verify/audit/debugger.js +0 -429
- package/dist/verify/audit/debugger.js.map +0 -1
- package/dist/verify/audit/degradation.d.ts +0 -62
- package/dist/verify/audit/degradation.d.ts.map +0 -1
- package/dist/verify/audit/degradation.js +0 -78
- package/dist/verify/audit/degradation.js.map +0 -1
- package/dist/verify/audit/developer_sovereignty.d.ts +0 -29
- package/dist/verify/audit/developer_sovereignty.d.ts.map +0 -1
- package/dist/verify/audit/developer_sovereignty.js +0 -137
- package/dist/verify/audit/developer_sovereignty.js.map +0 -1
- package/dist/verify/audit/failure_report.d.ts +0 -76
- package/dist/verify/audit/failure_report.d.ts.map +0 -1
- package/dist/verify/audit/failure_report.js +0 -145
- package/dist/verify/audit/failure_report.js.map +0 -1
- package/dist/verify/audit/governance_report.d.ts +0 -110
- package/dist/verify/audit/governance_report.d.ts.map +0 -1
- package/dist/verify/audit/governance_report.js +0 -194
- package/dist/verify/audit/governance_report.js.map +0 -1
- package/dist/verify/audit/mutation_audit.d.ts +0 -40
- package/dist/verify/audit/mutation_audit.d.ts.map +0 -1
- package/dist/verify/audit/mutation_audit.js +0 -154
- package/dist/verify/audit/mutation_audit.js.map +0 -1
- package/dist/verify/audit/risk_sampler.d.ts +0 -44
- package/dist/verify/audit/risk_sampler.d.ts.map +0 -1
- package/dist/verify/audit/risk_sampler.js +0 -80
- package/dist/verify/audit/risk_sampler.js.map +0 -1
- package/dist/verify/audit/runtime_safety.d.ts +0 -89
- package/dist/verify/audit/runtime_safety.d.ts.map +0 -1
- package/dist/verify/audit/runtime_safety.js +0 -209
- package/dist/verify/audit/runtime_safety.js.map +0 -1
- package/dist/verify/audit/semantic_evidence.d.ts +0 -36
- package/dist/verify/audit/semantic_evidence.d.ts.map +0 -1
- package/dist/verify/audit/semantic_evidence.js +0 -90
- package/dist/verify/audit/semantic_evidence.js.map +0 -1
- package/dist/verify/audit/test_generator.d.ts +0 -23
- package/dist/verify/audit/test_generator.d.ts.map +0 -1
- package/dist/verify/audit/test_generator.js +0 -278
- package/dist/verify/audit/test_generator.js.map +0 -1
- package/dist/verify/audit/test_quality.d.ts +0 -49
- package/dist/verify/audit/test_quality.d.ts.map +0 -1
- package/dist/verify/audit/test_quality.js +0 -684
- package/dist/verify/audit/test_quality.js.map +0 -1
- package/dist/verify/change_coordinator.d.ts +0 -45
- package/dist/verify/change_coordinator.d.ts.map +0 -1
- package/dist/verify/change_coordinator.js +0 -168
- package/dist/verify/change_coordinator.js.map +0 -1
- package/dist/verify/contracts/decision_contract.d.ts +0 -51
- package/dist/verify/contracts/decision_contract.d.ts.map +0 -1
- package/dist/verify/contracts/decision_contract.js +0 -70
- package/dist/verify/contracts/decision_contract.js.map +0 -1
- package/dist/verify/contracts/mechanism_contract_registry/contracts-audit.d.ts +0 -17
- package/dist/verify/contracts/mechanism_contract_registry/contracts-audit.d.ts.map +0 -1
- package/dist/verify/contracts/mechanism_contract_registry/contracts-audit.js +0 -428
- package/dist/verify/contracts/mechanism_contract_registry/contracts-audit.js.map +0 -1
- package/dist/verify/contracts/mechanism_contract_registry/contracts-governance.d.ts +0 -17
- package/dist/verify/contracts/mechanism_contract_registry/contracts-governance.d.ts.map +0 -1
- package/dist/verify/contracts/mechanism_contract_registry/contracts-governance.js +0 -429
- package/dist/verify/contracts/mechanism_contract_registry/contracts-governance.js.map +0 -1
- package/dist/verify/contracts/mechanism_contract_registry/contracts-pipeline.d.ts +0 -17
- package/dist/verify/contracts/mechanism_contract_registry/contracts-pipeline.d.ts.map +0 -1
- package/dist/verify/contracts/mechanism_contract_registry/contracts-pipeline.js +0 -194
- package/dist/verify/contracts/mechanism_contract_registry/contracts-pipeline.js.map +0 -1
- package/dist/verify/contracts/mechanism_contract_registry/contracts-platform.d.ts +0 -17
- package/dist/verify/contracts/mechanism_contract_registry/contracts-platform.d.ts.map +0 -1
- package/dist/verify/contracts/mechanism_contract_registry/contracts-platform.js +0 -365
- package/dist/verify/contracts/mechanism_contract_registry/contracts-platform.js.map +0 -1
- package/dist/verify/contracts/mechanism_contract_registry/index.d.ts +0 -19
- package/dist/verify/contracts/mechanism_contract_registry/index.d.ts.map +0 -1
- package/dist/verify/contracts/mechanism_contract_registry/index.js +0 -21
- package/dist/verify/contracts/mechanism_contract_registry/index.js.map +0 -1
- package/dist/verify/contracts/mechanism_contract_registry/types.d.ts +0 -33
- package/dist/verify/contracts/mechanism_contract_registry/types.d.ts.map +0 -1
- package/dist/verify/contracts/mechanism_contract_registry/types.js +0 -5
- package/dist/verify/contracts/mechanism_contract_registry/types.js.map +0 -1
- package/dist/verify/contracts/mechanism_contract_registry/validation.d.ts +0 -38
- package/dist/verify/contracts/mechanism_contract_registry/validation.d.ts.map +0 -1
- package/dist/verify/contracts/mechanism_contract_registry/validation.js +0 -136
- package/dist/verify/contracts/mechanism_contract_registry/validation.js.map +0 -1
- package/templates/shared/LLM/351/242/204/347/256/227/347/275/221/345/205/263.md +0 -54
- package/templates/shared//346/265/201/345/274/217/345/277/203/350/267/263.md +0 -64
|
@@ -1,191 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Registry — 契约层模块。
|
|
3
|
-
*
|
|
4
|
-
* 职责边界:
|
|
5
|
-
* - 负责:getAllContracts 等 契约层职责
|
|
6
|
-
* - 不负责:不属于本模块的职责由对应模块承担
|
|
7
|
-
*
|
|
8
|
-
* 被谁调用:契约验证、注册表查询
|
|
9
|
-
* 调用谁:types、registry_internal、validation
|
|
10
|
-
*
|
|
11
|
-
* 数据流:契约定义 → 验证逻辑 → 通过/拒绝结果
|
|
12
|
-
* 持久化:无持久化(纯计算/内存态)
|
|
13
|
-
*/
|
|
14
|
-
import { getRegistry, cloneEntry } from "./registry_internal.js";
|
|
15
|
-
// 重导出校验函数
|
|
16
|
-
export { validateContractRegistry, validateWorkflowContractRefs } from "./validation.js";
|
|
17
|
-
// 从内部模块重导出 resetRegistry
|
|
18
|
-
export { resetRegistry } from "./registry_internal.js";
|
|
19
|
-
// ── 查询函数 ──
|
|
20
|
-
/** 获取所有契约条目 */
|
|
21
|
-
export function getAllContracts() {
|
|
22
|
-
return [...getRegistry().values()].map(cloneEntry);
|
|
23
|
-
}
|
|
24
|
-
/** 按 contract_id 获取 */
|
|
25
|
-
export function getContractById(id) {
|
|
26
|
-
const entry = getRegistry().get(id);
|
|
27
|
-
return entry ? cloneEntry(entry) : undefined;
|
|
28
|
-
}
|
|
29
|
-
/** 按 policy_id 查找对应 contract_id */
|
|
30
|
-
export function getContractByPolicyId(policyId) {
|
|
31
|
-
for (const entry of getRegistry().values()) {
|
|
32
|
-
if (entry.policy_id === policyId)
|
|
33
|
-
return cloneEntry(entry);
|
|
34
|
-
}
|
|
35
|
-
return undefined;
|
|
36
|
-
}
|
|
37
|
-
/** 按类型列出契约 */
|
|
38
|
-
export function listContractsByKind(kind) {
|
|
39
|
-
return [...getRegistry().values()]
|
|
40
|
-
.filter((e) => e.kind === kind)
|
|
41
|
-
.map(cloneEntry);
|
|
42
|
-
}
|
|
43
|
-
/** 按状态列出契约 */
|
|
44
|
-
export function listContractsByState(state) {
|
|
45
|
-
return [...getRegistry().values()]
|
|
46
|
-
.filter((e) => e.state === state)
|
|
47
|
-
.map(cloneEntry);
|
|
48
|
-
}
|
|
49
|
-
/** 列出所有契约 */
|
|
50
|
-
export function listContracts() {
|
|
51
|
-
return getAllContracts();
|
|
52
|
-
}
|
|
53
|
-
/** 注册表汇总统计 */
|
|
54
|
-
export function getContractRegistrySummary() {
|
|
55
|
-
const entries = [...getRegistry().values()];
|
|
56
|
-
const ALL_KINDS = [
|
|
57
|
-
"capability", "mechanism_family", "workflow", "guard",
|
|
58
|
-
"knowledge_injection", "verification", "delivery", "failure",
|
|
59
|
-
"degradation", "metric", "language_policy", "technology_decision",
|
|
60
|
-
"task_context", "knowledge_evolution", "knowledge_lifecycle",
|
|
61
|
-
"template_sync", "adapter_prompt", "documentation_governance",
|
|
62
|
-
"release_compatibility", "chinese_semantic",
|
|
63
|
-
"extension", "platform_compatibility", "governance_action",
|
|
64
|
-
"decision_sovereignty", "brainstorm", "detail_discipline",
|
|
65
|
-
"first_principles", "existing_system_analysis",
|
|
66
|
-
"coding_readiness", "local_acceptance", "workflow_template_pack",
|
|
67
|
-
"evolution_regression", "plan_proposal_gate", "core_experience_principle",
|
|
68
|
-
];
|
|
69
|
-
const ALL_STATES = [
|
|
70
|
-
"draft", "advisory", "enforced", "experimental", "deprecated", "removed",
|
|
71
|
-
];
|
|
72
|
-
const by_kind = Object.fromEntries(ALL_KINDS.map((k) => [k, entries.filter((e) => e.kind === k).length]));
|
|
73
|
-
const by_state = Object.fromEntries(ALL_STATES.map((s) => [s, entries.filter((e) => e.state === s).length]));
|
|
74
|
-
const canHardFail = entries.filter((e) => e.hard_fail_allowed && e.state === "enforced");
|
|
75
|
-
const cannotHardFail = entries.filter((e) => !(e.hard_fail_allowed && e.state === "enforced"));
|
|
76
|
-
return {
|
|
77
|
-
total: entries.length,
|
|
78
|
-
by_kind,
|
|
79
|
-
by_state,
|
|
80
|
-
can_hard_fail: canHardFail.map((e) => e.contract_id),
|
|
81
|
-
cannot_hard_fail: cannotHardFail.map((e) => e.contract_id),
|
|
82
|
-
};
|
|
83
|
-
}
|
|
84
|
-
// ── 运行时硬失败门控 ──
|
|
85
|
-
/**
|
|
86
|
-
* 判断契约是否允许 hard fail。
|
|
87
|
-
* 只有 state=enforced 且 hard_fail_allowed=true 的契约才能阻断。
|
|
88
|
-
*/
|
|
89
|
-
export function canContractHardFail(contractId) {
|
|
90
|
-
const entry = getRegistry().get(contractId);
|
|
91
|
-
if (!entry)
|
|
92
|
-
return false;
|
|
93
|
-
return entry.state === "enforced" && entry.hard_fail_allowed;
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* Runtime hard fail gate — 未登记的契约不得 hard fail。
|
|
97
|
-
* 用于运行时检查 workflow 是否引用了合法的 guard/verification/failure 契约。
|
|
98
|
-
*/
|
|
99
|
-
export function runtimeHardFailGate(contractId, context) {
|
|
100
|
-
const entry = getRegistry().get(contractId);
|
|
101
|
-
if (!entry) {
|
|
102
|
-
return {
|
|
103
|
-
allowed: false,
|
|
104
|
-
reason: `契约 ${contractId} 未在 Unified Contract Registry 登记,不得 hard fail`,
|
|
105
|
-
};
|
|
106
|
-
}
|
|
107
|
-
if (entry.state === "removed") {
|
|
108
|
-
return {
|
|
109
|
-
allowed: false,
|
|
110
|
-
reason: `契约 ${contractId} 已移除,${context} 不得引用已移除契约`,
|
|
111
|
-
};
|
|
112
|
-
}
|
|
113
|
-
if (entry.state === "deprecated") {
|
|
114
|
-
if (entry.replacement_contract_id) {
|
|
115
|
-
return {
|
|
116
|
-
allowed: false,
|
|
117
|
-
reason: `契约 ${contractId} 已废弃,替代契约: ${entry.replacement_contract_id},请迁移到替代契约`,
|
|
118
|
-
};
|
|
119
|
-
}
|
|
120
|
-
if (entry.migration_note) {
|
|
121
|
-
return {
|
|
122
|
-
allowed: false,
|
|
123
|
-
reason: `契约 ${contractId} 已废弃,迁移说明: ${entry.migration_note}`,
|
|
124
|
-
};
|
|
125
|
-
}
|
|
126
|
-
return {
|
|
127
|
-
allowed: false,
|
|
128
|
-
reason: `契约 ${contractId} 已废弃且无替代/迁移说明,${context} 不得引用`,
|
|
129
|
-
};
|
|
130
|
-
}
|
|
131
|
-
if (entry.state === "advisory" || entry.state === "experimental" || entry.state === "draft") {
|
|
132
|
-
return {
|
|
133
|
-
allowed: false,
|
|
134
|
-
reason: `契约 ${contractId} 状态为 ${entry.state},advisory/experimental/draft 契约只能 warning/advisory,不能阻断主流程`,
|
|
135
|
-
};
|
|
136
|
-
}
|
|
137
|
-
if (entry.state === "enforced" && !entry.hard_fail_allowed) {
|
|
138
|
-
return {
|
|
139
|
-
allowed: false,
|
|
140
|
-
reason: `契约 ${contractId} enforced 但 hard_fail_allowed=false,不得阻断`,
|
|
141
|
-
};
|
|
142
|
-
}
|
|
143
|
-
if (entry.state === "enforced" && entry.hard_fail_allowed) {
|
|
144
|
-
return { allowed: true, reason: "契约已强制登记且允许 hard fail" };
|
|
145
|
-
}
|
|
146
|
-
return { allowed: false, reason: `契约 ${contractId} 状态为 ${entry.state},不允许 hard fail` };
|
|
147
|
-
}
|
|
148
|
-
// ── 动态注册(用于测试和扩展) ──
|
|
149
|
-
/** 注册新契约(运行时) */
|
|
150
|
-
export function registerContract(entry) {
|
|
151
|
-
const registry = getRegistry();
|
|
152
|
-
if (registry.has(entry.contract_id)) {
|
|
153
|
-
return { success: false, error: `contract_id ${entry.contract_id} 已存在` };
|
|
154
|
-
}
|
|
155
|
-
registry.set(entry.contract_id, cloneEntry(entry));
|
|
156
|
-
return { success: true };
|
|
157
|
-
}
|
|
158
|
-
/**
|
|
159
|
-
* 内部 helper: 只允许通过 ContractStateStore.apply 调用。
|
|
160
|
-
* 此函数不导出。ContractStateStore 通过 createContractStateApplier 获取闭包引用。
|
|
161
|
-
*/
|
|
162
|
-
function applyContractStateOverride(override) {
|
|
163
|
-
const registry = getRegistry();
|
|
164
|
-
const entry = registry.get(override.contract_id);
|
|
165
|
-
if (!entry)
|
|
166
|
-
return;
|
|
167
|
-
const updated = cloneEntry(entry);
|
|
168
|
-
updated.state = override.new_state;
|
|
169
|
-
if (override.replacement_contract_id) {
|
|
170
|
-
updated.replacement_contract_id = override.replacement_contract_id;
|
|
171
|
-
}
|
|
172
|
-
if (override.migration_note) {
|
|
173
|
-
updated.migration_note = override.migration_note;
|
|
174
|
-
}
|
|
175
|
-
registry.set(override.contract_id, updated);
|
|
176
|
-
}
|
|
177
|
-
/** 工厂函数: 返回 applyContractStateOverride 闭包引用,仅供 ContractStateStore 使用 */
|
|
178
|
-
export function createContractStateApplier() {
|
|
179
|
-
return applyContractStateOverride;
|
|
180
|
-
}
|
|
181
|
-
/** 获取所有 policy_id → contract_id 映射 */
|
|
182
|
-
export function getPolicyToContractMapping() {
|
|
183
|
-
const result = [];
|
|
184
|
-
for (const entry of getRegistry().values()) {
|
|
185
|
-
if (entry.policy_id) {
|
|
186
|
-
result.push({ policy_id: entry.policy_id, contract_id: entry.contract_id });
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
return result;
|
|
190
|
-
}
|
|
191
|
-
//# sourceMappingURL=registry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../../src/shared/contracts/contract_registry/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Registry Internal — 契约层模块。
|
|
3
|
-
*
|
|
4
|
-
* 职责边界:
|
|
5
|
-
* - 负责:getRegistry 等 契约层职责
|
|
6
|
-
* - 不负责:不属于本模块的职责由对应模块承担
|
|
7
|
-
*
|
|
8
|
-
* 被谁调用:契约验证、注册表查询
|
|
9
|
-
* 调用谁:types、builtin_contracts_core、builtin_contracts_core_2、builtin_contracts_extended
|
|
10
|
-
*
|
|
11
|
-
* 数据流:契约定义 → 验证逻辑 → 通过/拒绝结果
|
|
12
|
-
* 持久化:无持久化(纯计算/内存态)
|
|
13
|
-
*/
|
|
14
|
-
import type { ContractRegistryEntry } from "./types.js";
|
|
15
|
-
export declare function getRegistry(): Map<string, ContractRegistryEntry>;
|
|
16
|
-
export declare function cloneEntry(e: ContractRegistryEntry): ContractRegistryEntry;
|
|
17
|
-
/** 重置运行时注册表为内置契约(用于测试清理) */
|
|
18
|
-
export declare function resetRegistry(): void;
|
|
19
|
-
//# sourceMappingURL=registry_internal.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"registry_internal.d.ts","sourceRoot":"","sources":["../../../../src/shared/contracts/contract_registry/registry_internal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAkBxD,wBAAgB,WAAW,IAAI,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAQhE;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,qBAAqB,GAAG,qBAAqB,CAe1E;AAED,4BAA4B;AAC5B,wBAAgB,aAAa,IAAI,IAAI,CAEpC"}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Registry Internal — 契约层模块。
|
|
3
|
-
*
|
|
4
|
-
* 职责边界:
|
|
5
|
-
* - 负责:getRegistry 等 契约层职责
|
|
6
|
-
* - 不负责:不属于本模块的职责由对应模块承担
|
|
7
|
-
*
|
|
8
|
-
* 被谁调用:契约验证、注册表查询
|
|
9
|
-
* 调用谁:types、builtin_contracts_core、builtin_contracts_core_2、builtin_contracts_extended
|
|
10
|
-
*
|
|
11
|
-
* 数据流:契约定义 → 验证逻辑 → 通过/拒绝结果
|
|
12
|
-
* 持久化:无持久化(纯计算/内存态)
|
|
13
|
-
*/
|
|
14
|
-
import { BUILTIN_CONTRACTS_CORE_1 } from "./builtin_contracts_core.js";
|
|
15
|
-
import { BUILTIN_CONTRACTS_CORE_2 } from "./builtin_contracts_core_2.js";
|
|
16
|
-
import { BUILTIN_CONTRACTS_EXTENDED } from "./builtin_contracts_extended.js";
|
|
17
|
-
// ── 内置契约注册表 ──
|
|
18
|
-
const BUILTIN_CONTRACTS = [
|
|
19
|
-
...BUILTIN_CONTRACTS_CORE_1,
|
|
20
|
-
...BUILTIN_CONTRACTS_CORE_2,
|
|
21
|
-
...BUILTIN_CONTRACTS_EXTENDED,
|
|
22
|
-
];
|
|
23
|
-
// ── 运行时注册表(允许动态添加,用于测试和扩展) ──
|
|
24
|
-
let runtimeEntries = null;
|
|
25
|
-
export function getRegistry() {
|
|
26
|
-
if (!runtimeEntries) {
|
|
27
|
-
runtimeEntries = new Map();
|
|
28
|
-
for (const entry of BUILTIN_CONTRACTS) {
|
|
29
|
-
runtimeEntries.set(entry.contract_id, cloneEntry(entry));
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
return runtimeEntries;
|
|
33
|
-
}
|
|
34
|
-
export function cloneEntry(e) {
|
|
35
|
-
return {
|
|
36
|
-
...e,
|
|
37
|
-
owner_files: [...e.owner_files],
|
|
38
|
-
test_files: [...e.test_files],
|
|
39
|
-
lifecycle_test_files: [...e.lifecycle_test_files],
|
|
40
|
-
knowledge_refs: [...e.knowledge_refs],
|
|
41
|
-
prompt_refs: [...e.prompt_refs],
|
|
42
|
-
depends_on: [...e.depends_on],
|
|
43
|
-
consumed_by: [...e.consumed_by],
|
|
44
|
-
promotion_conditions: [...e.promotion_conditions],
|
|
45
|
-
demotion_conditions: [...e.demotion_conditions],
|
|
46
|
-
evidence_requirements: [...e.evidence_requirements],
|
|
47
|
-
capability_ids: e.capability_ids ? [...e.capability_ids] : undefined,
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
/** 重置运行时注册表为内置契约(用于测试清理) */
|
|
51
|
-
export function resetRegistry() {
|
|
52
|
-
runtimeEntries = null;
|
|
53
|
-
}
|
|
54
|
-
//# sourceMappingURL=registry_internal.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"registry_internal.js","sourceRoot":"","sources":["../../../../src/shared/contracts/contract_registry/registry_internal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAE7E,gBAAgB;AAEhB,MAAM,iBAAiB,GAAqC;IAC1D,GAAG,wBAAwB;IAC3B,GAAG,wBAAwB;IAC3B,GAAG,0BAA0B;CACrB,CAAC;AAEX,+BAA+B;AAE/B,IAAI,cAAc,GAA8C,IAAI,CAAC;AAErE,MAAM,UAAU,WAAW;IACzB,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,cAAc,GAAG,IAAI,GAAG,EAAE,CAAC;QAC3B,KAAK,MAAM,KAAK,IAAI,iBAAiB,EAAE,CAAC;YACtC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,CAAwB;IACjD,OAAO;QACL,GAAG,CAAC;QACJ,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC;QAC/B,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC;QAC7B,oBAAoB,EAAE,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC;QACjD,cAAc,EAAE,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC;QACrC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC;QAC/B,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC;QAC7B,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC;QAC/B,oBAAoB,EAAE,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC;QACjD,mBAAmB,EAAE,CAAC,GAAG,CAAC,CAAC,mBAAmB,CAAC;QAC/C,qBAAqB,EAAE,CAAC,GAAG,CAAC,CAAC,qBAAqB,CAAC;QACnD,cAAc,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS;KACrE,CAAC;AACJ,CAAC;AAED,4BAA4B;AAC5B,MAAM,UAAU,aAAa;IAC3B,cAAc,GAAG,IAAI,CAAC;AACxB,CAAC"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 统一契约注册表 — 类型定义
|
|
3
|
-
*/
|
|
4
|
-
export type ContractKind = "capability" | "mechanism_family" | "workflow" | "guard" | "knowledge_injection" | "verification" | "delivery" | "failure" | "degradation" | "metric" | "language_policy" | "technology_decision" | "task_context" | "knowledge_evolution" | "knowledge_lifecycle" | "template_sync" | "adapter_prompt" | "documentation_governance" | "release_compatibility" | "chinese_semantic" | "extension" | "platform_compatibility" | "governance_action" | "decision_sovereignty" | "brainstorm" | "detail_discipline" | "first_principles" | "existing_system_analysis" | "coding_readiness" | "local_acceptance" | "workflow_template_pack" | "evolution_regression" | "plan_proposal_gate" | "core_experience_principle";
|
|
5
|
-
export type ContractState = "draft" | "advisory" | "enforced" | "experimental" | "deprecated" | "removed";
|
|
6
|
-
export interface ContractRegistryEntry {
|
|
7
|
-
contract_id: string;
|
|
8
|
-
kind: ContractKind;
|
|
9
|
-
name: string;
|
|
10
|
-
state: ContractState;
|
|
11
|
-
owner_component: string;
|
|
12
|
-
owner_files: string[];
|
|
13
|
-
test_files: string[];
|
|
14
|
-
lifecycle_test_files: string[];
|
|
15
|
-
knowledge_refs: string[];
|
|
16
|
-
prompt_refs: string[];
|
|
17
|
-
depends_on: string[];
|
|
18
|
-
consumed_by: string[];
|
|
19
|
-
hard_fail_allowed: boolean;
|
|
20
|
-
promotion_conditions: string[];
|
|
21
|
-
demotion_conditions: string[];
|
|
22
|
-
evidence_requirements: string[];
|
|
23
|
-
/** 关联的 policy_id(来自 Capability Registry) */
|
|
24
|
-
policy_id?: string;
|
|
25
|
-
/** 关联的 capability ID 列表 */
|
|
26
|
-
capability_ids?: string[];
|
|
27
|
-
/** 替代契约 ID(deprecated 时必填) */
|
|
28
|
-
replacement_contract_id?: string;
|
|
29
|
-
/** 迁移说明(deprecated 时必填) */
|
|
30
|
-
migration_note?: string;
|
|
31
|
-
}
|
|
32
|
-
export interface ContractGovernanceFinding {
|
|
33
|
-
contract_id: string;
|
|
34
|
-
kind: ContractKind;
|
|
35
|
-
severity: "hard_fail" | "warning" | "advisory";
|
|
36
|
-
rule: string;
|
|
37
|
-
message_zh: string;
|
|
38
|
-
evidence_refs: string[];
|
|
39
|
-
}
|
|
40
|
-
export interface ContractRegistrySummary {
|
|
41
|
-
total: number;
|
|
42
|
-
by_kind: Record<ContractKind, number>;
|
|
43
|
-
by_state: Record<ContractState, number>;
|
|
44
|
-
can_hard_fail: string[];
|
|
45
|
-
cannot_hard_fail: string[];
|
|
46
|
-
}
|
|
47
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/shared/contracts/contract_registry/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,MAAM,YAAY,GACpB,YAAY,GACZ,kBAAkB,GAClB,UAAU,GACV,OAAO,GACP,qBAAqB,GACrB,cAAc,GACd,UAAU,GACV,SAAS,GACT,aAAa,GACb,QAAQ,GACR,iBAAiB,GACjB,qBAAqB,GACrB,cAAc,GACd,qBAAqB,GACrB,qBAAqB,GACrB,eAAe,GACf,gBAAgB,GAChB,0BAA0B,GAC1B,uBAAuB,GACvB,kBAAkB,GAClB,WAAW,GACX,wBAAwB,GACxB,mBAAmB,GACnB,sBAAsB,GACtB,YAAY,GACZ,mBAAmB,GACnB,kBAAkB,GAClB,0BAA0B,GAC1B,kBAAkB,GAClB,kBAAkB,GAClB,wBAAwB,GACxB,sBAAsB,GACtB,oBAAoB,GACpB,2BAA2B,CAAC;AAEhC,MAAM,MAAM,aAAa,GACrB,OAAO,GACP,UAAU,GACV,UAAU,GACV,cAAc,GACd,YAAY,GACZ,SAAS,CAAC;AAEd,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,aAAa,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2BAA2B;IAC3B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,8BAA8B;IAC9B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,2BAA2B;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,yBAAyB;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,WAAW,GAAG,SAAS,GAAG,UAAU,CAAC;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACtC,QAAQ,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACxC,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/shared/contracts/contract_registry/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Validation — 契约层模块。
|
|
3
|
-
*
|
|
4
|
-
* 职责边界:
|
|
5
|
-
* - 负责:validateContractRegistry 等 契约层职责
|
|
6
|
-
* - 不负责:不属于本模块的职责由对应模块承担
|
|
7
|
-
*
|
|
8
|
-
* 被谁调用:契约验证、注册表查询
|
|
9
|
-
* 调用谁:capability_registry、types、registry_internal
|
|
10
|
-
*
|
|
11
|
-
* 数据流:契约定义 → 验证逻辑 → 通过/拒绝结果
|
|
12
|
-
* 持久化:读写本地文件(详见代码内路径)
|
|
13
|
-
*/
|
|
14
|
-
import type { ContractGovernanceFinding } from "./types.js";
|
|
15
|
-
/**
|
|
16
|
-
* 验证契约注册表完整性。
|
|
17
|
-
* 检查: 唯一性、字段完整性、文件存在、状态约束、依赖存在性、capability 冲突等。
|
|
18
|
-
*/
|
|
19
|
-
export declare function validateContractRegistry(existingFiles?: Set<string>): ContractGovernanceFinding[];
|
|
20
|
-
/**
|
|
21
|
-
* 验证 workflow 引用的契约是否合法。
|
|
22
|
-
* workflow 引用不存在、removed 或非法 deprecated contract 必须 blocked。
|
|
23
|
-
*/
|
|
24
|
-
export declare function validateWorkflowContractRefs(workflowId: string, referencedContractIds: string[]): ContractGovernanceFinding[];
|
|
25
|
-
//# sourceMappingURL=validation.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../../src/shared/contracts/contract_registry/validation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAO,KAAK,EAEV,yBAAyB,EAC1B,MAAM,YAAY,CAAC;AAIpB;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAC1B,yBAAyB,EAAE,CAiQ7B;AA4CD;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,UAAU,EAAE,MAAM,EAClB,qBAAqB,EAAE,MAAM,EAAE,GAC9B,yBAAyB,EAAE,CAyE7B"}
|