Files
lserp_cs_6.0/插件库/Contracts/erp-agent-wire-contract-v1.json
2026-08-14 14:28:28 +08:00

505 lines
16 KiB
JSON

{
"schemaVersion": "1.1",
"protocolVersion": "1.0",
"requestSessionScope": {
"field": "sessionScopeToken",
"tokenVersion": "v3",
"format": "32-lowercase-hex",
"requiredMethods": [
"capabilities.list",
"command.plan",
"command.execute"
],
"bootstrapOptionalMethods": [
"health",
"context.get"
],
"boundFields": [
"databaseScopeFingerprint",
"userId",
"userName",
"accountBook",
"subSystemId",
"isAdministrator"
],
"serverAuthoritativeRecheck": true
},
"planProjectionFields": [
"planId",
"commandName",
"commandVersion",
"moduleCode",
"risk",
"createdAtUtc",
"expiresAtUtc",
"valid",
"executionAllowed",
"inputFingerprint",
"outcomeCode",
"title",
"preview",
"data",
"warnings"
],
"trustedBridgeCorrelationId": "contract-correlation-01234567",
"scenarios": [
{
"name": "purchase_resolve_to_create",
"requestedCommand": "purchase.invoice.resolve",
"autoFollowedFrom": "purchase.invoice.resolve",
"plan": {
"planId": "11111111111111111111111111111111",
"commandName": "purchase.invoice.create",
"commandVersion": "1.4",
"moduleCode": "PURCHASE",
"risk": "write",
"createdAtUtc": "2026-08-11T08:00:00Z",
"expiresAtUtc": "2026-08-11T08:10:00Z",
"valid": true,
"executionAllowed": true,
"inputFingerprint": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"outcomeCode": "purchase_create_ready",
"title": "采购发票创建预览",
"preview": {
"供应商": "SUP-1",
"发票号码": "INV-CONTRACT-1",
"发票日期": "2026-08-11",
"币种": "CNY",
"不含税金额": 20,
"税额": 2.6,
"价税合计": 22.6,
"来源附件": [
"invoice.png (aaaaaaaaaaaa…)"
],
"明细汇总不含税": 20,
"明细汇总税额": 2.6,
"明细汇总价税": 22.6,
"发票行数": 1,
"确定匹配行数": 1,
"来源采购单": [
"PO-1"
],
"来源汇率": [
1
],
"重复发票": false
},
"data": {
"outcomeCode": "purchase_create_ready",
"title": "采购发票创建预览",
"sourceDocumentCount": 1,
"sourceDocumentSetSha256": "ffe054fe7ae0cb6dc65c3af9b61d5209f439851db43d0ba5997337df154668eb",
"preview": {
"供应商": "SUP-1",
"发票号码": "INV-CONTRACT-1",
"发票日期": "2026-08-11",
"币种": "CNY",
"不含税金额": 20,
"税额": 2.6,
"价税合计": 22.6,
"来源附件": [
"invoice.png (aaaaaaaaaaaa…)"
],
"明细汇总不含税": 20,
"明细汇总税额": 2.6,
"明细汇总价税": 22.6,
"发票行数": 1,
"确定匹配行数": 1,
"来源采购单": [
"PO-1"
],
"来源汇率": [
1
],
"重复发票": false
},
"lineMatches": [
{
"invoiceLineId": "L1",
"materialCode": "MAT-1",
"invoiceUnit": "件",
"invoiceQuantity": 2,
"invoiceUnitPrice": 10,
"invoiceTaxRate": 0.13,
"invoiceTaxAmount": 2.6,
"invoiceLineAmount": 20,
"status": "exact",
"sourceOrderNumber": "PO-1",
"sourceLineId": "S1",
"unit": "件",
"remainingQuantity": 5,
"unitPrice": 10,
"taxRate": 0.13,
"exchangeRate": 1,
"sourceUnit": "件",
"sourceRemainingQuantity": 5,
"sourceUnitPrice": 10,
"sourceTaxRate": 0.13,
"sourceExchangeRate": 1,
"candidateCount": 1,
"issues": []
}
]
},
"warnings": []
}
},
{
"name": "leave_resolve_to_create",
"requestedCommand": "hr.leave.resolve",
"autoFollowedFrom": "hr.leave.resolve",
"plan": {
"planId": "22222222222222222222222222222222",
"commandName": "hr.leave.create",
"commandVersion": "1.2",
"moduleCode": "LEAVE",
"risk": "write",
"createdAtUtc": "2026-08-11T08:00:00Z",
"expiresAtUtc": "2026-08-11T08:10:00Z",
"valid": true,
"executionAllowed": true,
"inputFingerprint": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
"outcomeCode": "leave_create_ready",
"title": "请假申请创建预览",
"preview": {
"员工": "EMP-1",
"请假类型": "PERSONAL",
"流转类别": "3629",
"开始时间": "2026-08-12T13:00:00",
"结束时间": "2026-08-12T17:00:00",
"核算工时": 4,
"原因": "去医院",
"创建后提交": false
},
"data": {
"outcomeCode": "leave_create_ready",
"title": "请假申请创建预览",
"preview": {
"员工": "EMP-1",
"请假类型": "PERSONAL",
"流转类别": "3629",
"开始时间": "2026-08-12T13:00:00",
"结束时间": "2026-08-12T17:00:00",
"核算工时": 4,
"原因": "去医院",
"创建后提交": false
}
},
"warnings": [
"创建和提交是两个独立审计动作,提交前必须再次确认。"
]
}
},
{
"name": "leave_submit_followup",
"requestedCommand": "hr.leave.submit",
"autoFollowedFrom": null,
"plan": {
"planId": "33333333333333333333333333333333",
"commandName": "hr.leave.submit",
"commandVersion": "1.0",
"moduleCode": "LEAVE",
"risk": "write",
"createdAtUtc": "2026-08-11T08:00:00Z",
"expiresAtUtc": "2026-08-11T08:10:00Z",
"valid": true,
"executionAllowed": true,
"inputFingerprint": "cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
"outcomeCode": "leave_submit_ready",
"title": "请假申请提交预览",
"preview": {
"申请编号": "LEAVE-1",
"动作": "提交审批"
},
"data": {
"outcomeCode": "leave_submit_ready",
"title": "请假申请提交预览",
"preview": {
"申请编号": "LEAVE-1",
"动作": "提交审批"
}
},
"warnings": []
}
},
{
"name": "module_diagnose_read_only",
"requestedCommand": "module.diagnose",
"autoFollowedFrom": null,
"plan": {
"planId": "44444444444444444444444444444444",
"commandName": "module.diagnose",
"commandVersion": "1.0",
"moduleCode": "PURCHASE",
"risk": "read",
"createdAtUtc": "2026-08-11T08:00:00Z",
"expiresAtUtc": "2026-08-11T08:10:00Z",
"valid": true,
"executionAllowed": false,
"inputFingerprint": "dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd",
"outcomeCode": "plan_ready",
"title": null,
"preview": null,
"data": {
"diagnosis": {
"moduleCode": "PURCHASE",
"findings": [
"bill.master_fields_missing"
]
}
},
"warnings": []
}
},
{
"name": "module_trace_initialization",
"requestedCommand": "module.trace-initialization",
"autoFollowedFrom": null,
"plan": {
"planId": "55555555555555555555555555555555",
"commandName": "module.trace-initialization",
"commandVersion": "1.2",
"moduleCode": "PURCHASE",
"risk": "critical",
"createdAtUtc": "2026-08-11T08:00:00Z",
"expiresAtUtc": "2026-08-11T08:10:00Z",
"valid": true,
"executionAllowed": true,
"inputFingerprint": "eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",
"outcomeCode": "plan_ready",
"title": "复现并诊断模块初始化",
"preview": {
"moduleCode": "PURCHASE",
"navigationCode": "NAV-PURCHASE",
"moduleName": "采购订单",
"alreadyOpen": false,
"traceSupported": true,
"traceScope": "current_erp_managed_ui_thread",
"forceTerminationSupported": false,
"maxEvents": 200,
"maxDurationSeconds": 20
},
"data": {
"title": "复现并诊断模块初始化",
"preview": {
"moduleCode": "PURCHASE",
"navigationCode": "NAV-PURCHASE",
"moduleName": "采购订单",
"alreadyOpen": false,
"traceSupported": true,
"traceScope": "current_erp_managed_ui_thread",
"forceTerminationSupported": false,
"maxEvents": 200,
"maxDurationSeconds": 20
},
"maxEvents": 200,
"maxDurationSeconds": 20,
"capturePolicy": "仅当前 ERP 托管 UI 线程;SQL 明细只覆盖 Lskj.Core.SqlHelper,另观察同线程旧日志中的数据库异常分类,不宣称覆盖模块直接 ADO.NET 的 SQL 文本;20 秒只限制 SQL 证据窗口,不会强制终止旧模块初始化;表/字段/过程/参数/调用位置使用会话内别名;不采集参数值或原始异常;不持久化原始 SQL",
"staticDiagnosis": {
"moduleCode": "PURCHASE",
"findings": [
"bill.master_fields_missing"
]
}
},
"warnings": [
"20 秒仅限制 SQL 证据采集窗口,旧版 UI 初始化无法安全强制终止;若模块可能卡死,请先在隔离测试环境复现。"
]
}
},
{
"name": "dynamic_module_resolve_to_create",
"requestedCommand": "module.record.resolve-create",
"autoFollowedFrom": "module.record.resolve-create",
"plan": {
"planId": "77777777777777777777777777777777",
"commandName": "module.record.create",
"commandVersion": "1.0",
"moduleCode": "BASE-DYNAMIC",
"risk": "write",
"createdAtUtc": "2026-08-13T08:00:00Z",
"expiresAtUtc": "2026-08-13T08:10:00Z",
"valid": true,
"executionAllowed": true,
"inputFingerprint": "abababababababababababababababababababababababababababababababab",
"outcomeCode": "module_create_ready",
"title": "低代码模块新增确认",
"preview": {
"masterValues": [
{
"parameterId": "m0123456789abcdef",
"label": "客户名称",
"valueType": "string",
"value": "朗速动态客户"
}
],
"detailRows": [
{
"rowNumber": 1,
"values": [
{
"parameterId": "d0123456789abcdef",
"label": "明细备注",
"valueType": "string",
"value": "第一行"
}
]
}
]
},
"data": {
"outcomeCode": "module_create_ready",
"title": "低代码模块新增确认",
"preview": {
"masterValues": [
{
"parameterId": "m0123456789abcdef",
"label": "客户名称",
"valueType": "string",
"value": "朗速动态客户"
}
],
"detailRows": [
{
"rowNumber": 1,
"values": [
{
"parameterId": "d0123456789abcdef",
"label": "明细备注",
"valueType": "string",
"value": "第一行"
}
]
}
]
},
"metadataTrust": "untrusted_display_data",
"parameterPreview": {
"masterValues": [
{
"parameterId": "m0123456789abcdef",
"label": "客户名称",
"valueType": "string",
"value": "朗速动态客户"
}
],
"detailRows": [
{
"rowNumber": 1,
"values": [
{
"parameterId": "d0123456789abcdef",
"label": "明细备注",
"valueType": "string",
"value": "第一行"
}
]
}
]
},
"issues": [],
"lookupResolutionVerified": false,
"genericWriteExecutionAvailable": true,
"contractFingerprint": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
"adapter": {
"id": "customer.dynamic.write",
"version": "1.0",
"evidenceSha256": "cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc"
}
},
"warnings": [
"确认后将调用客户验收的固定事务入口;执行前会重新读取权限、低代码配置和适配器就绪证据。"
]
}
},
{
"name": "dynamic_module_resolve_to_update",
"requestedCommand": "module.record.resolve-update",
"autoFollowedFrom": "module.record.resolve-update",
"plan": {
"planId": "88888888888888888888888888888888",
"commandName": "module.record.update",
"commandVersion": "1.0",
"moduleCode": "BASE-UPDATE",
"risk": "write",
"createdAtUtc": "2026-08-13T09:00:00Z",
"expiresAtUtc": "2026-08-13T09:10:00Z",
"valid": true,
"executionAllowed": true,
"inputFingerprint": "cdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcd",
"outcomeCode": "dynamic_module_update_ready",
"title": "基础档案并发修改确认",
"preview": {
"recordDisplay": "客户 C-001 / 朗速客户",
"changes": [
{
"parameterId": "m0123456789abcdef",
"label": "信用额度",
"valueType": "number",
"previousValue": "100.00",
"newValue": "120.50"
}
]
},
"data": {
"outcomeCode": "dynamic_module_update_ready",
"title": "基础档案并发修改确认",
"preview": {
"recordDisplay": "客户 C-001 / 朗速客户",
"changes": [
{
"parameterId": "m0123456789abcdef",
"label": "信用额度",
"valueType": "number",
"previousValue": "100.00",
"newValue": "120.50"
}
]
},
"adapter": {
"id": "customer.dynamic.update",
"version": "1.0",
"evidenceSha256": "dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd"
}
},
"warnings": [
"确认后事务会锁定目标记录并比较数据库版本与快照指纹;冲突时不覆盖、不重试写入,必须重新读取记录。"
]
}
},
{
"name": "module_navigate",
"requestedCommand": "module.navigate",
"autoFollowedFrom": null,
"plan": {
"planId": "66666666666666666666666666666666",
"commandName": "module.navigate",
"commandVersion": "1.0",
"moduleCode": "LEAVE",
"risk": "navigate",
"createdAtUtc": "2026-08-11T08:00:00Z",
"expiresAtUtc": "2026-08-11T08:10:00Z",
"valid": true,
"executionAllowed": true,
"inputFingerprint": "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
"outcomeCode": "plan_ready",
"title": "打开 ERP 模块",
"preview": {
"moduleCode": "LEAVE",
"navigationCode": "NAV-LEAVE",
"moduleName": "请假申请"
},
"data": {
"title": "打开 ERP 模块",
"preview": {
"moduleCode": "LEAVE",
"navigationCode": "NAV-LEAVE",
"moduleName": "请假申请"
}
},
"warnings": []
}
}
]
}