Initial project import

This commit is contained in:
2026-08-14 09:40:51 +03:00
parent 00040e5ce4
commit d7099bf80d
146 changed files with 30509 additions and 1055 deletions
+52 -2
View File
@@ -38,6 +38,9 @@ LIVE_HELP_SELECTOR_METHODS = (
WORKING_STATE_METHODS = {
"extension.objects.find",
"metadata.resolve_overrides",
"metadata.object.forms",
"metadata.object.form.details",
"metadata.form.decode",
"modules.search",
"code.search",
}
@@ -863,8 +866,16 @@ def build_live_report(
)
if write_plan.get("allowed") is not True:
issues.append({"code": "live_composed_write_plan_not_allowed", "status": write_plan.get("status"), "problems": write_plan.get("problems")})
if route.get("apply_method") != "metadata.module.write_apply":
if route.get("apply_method") not in {"metadata.module.write_apply", "code.write"}:
issues.append({"code": "live_composed_write_plan_apply_method_mismatch", "actual": route.get("apply_method")})
if hint.get("method") and hint.get("method") != route.get("apply_method"):
issues.append(
{
"code": "live_composed_write_plan_hint_method_mismatch",
"route_method": route.get("apply_method"),
"hint_method": hint.get("method"),
}
)
if hint.get("ready_for_apply_method") is not True:
issues.append({"code": "live_composed_write_plan_hint_not_ready", "hint": hint})
if write_plan_target.get("module_ref") and hint_payload.get("module_ref") != write_plan_target.get("module_ref"):
@@ -1107,6 +1118,45 @@ def selector_chain_examples() -> list[dict[str, Any]]:
},
],
},
{
"name": "report_to_separate_form_description",
"steps": [
{
"tool": "onec_request",
"method": "metadata.object.forms",
"payload": {
"base_id": "<base_id-from-project-context>",
"ref": "Report.<metadata-object-name>",
"source_state": "working",
},
"next": "Forms are references of the report. Select a returned public form name; do not treat the report card as the form description.",
},
{
"tool": "onec_request",
"method": "metadata.object.form.details",
"payload": {
"base_id": "<base_id-from-project-context>",
"ref": "Report.<metadata-object-name>",
"form": "<form-name-returned-by-metadata.object.forms>",
"source_state": "working",
"include_parameters": True,
},
"next": "Read the separate form description: attributes, parameters, commands, items, and form module summary. A command has no module; its handler is a routine in this form module when decoded evidence provides the link.",
},
{
"tool": "onec_request",
"method": "metadata.form.decode",
"payload": {
"base_id": "<base_id-from-project-context>",
"ref": "Report.<metadata-object-name>",
"form": "<form-name-returned-by-metadata.object.forms>",
"source_state": "working",
"view": "structure",
},
"next": "Use the static structure projection only. Parent/child edges remain unresolved unless the adapter reports proven codec evidence.",
},
],
},
]
@@ -1180,7 +1230,7 @@ def main() -> int:
parser.add_argument("--no-report", action="store_true", help="Do not write a report file.")
parser.add_argument("--live", action="store_true", help="Run optional live adapter smoke through /rpc.")
parser.add_argument("--transport", choices=("rest", "mcp"), default="rest", help="Live smoke transport.")
parser.add_argument("--adapter-url", default="http://docker-gpu.cin.su:8011", help="1C REST adapter base URL for --live.")
parser.add_argument("--adapter-url", default="http://docker.cin.su:8011", help="1C REST adapter base URL for --live.")
parser.add_argument("--mcp-url", default="http://docker.cin.su:8021", help="1C MCP proxy base URL for --live --transport mcp.")
parser.add_argument("--base-id", help="Concrete 1C base id for --live.")
parser.add_argument("--ref", help="Optional concrete public object ref for deterministic --live checks, for example Kind.ObjectName.")