/** * Put caller-written AxForm / AxFormExtension XML into the namespace layout every * shipped file has, before it is written. * * Census of K:\AosService\PackagesLocalDirectory (2026-10-10): of all the AOT root * types, only AxForm (9,442 of 9,442 files) and AxFormExtension (1,088 of 1,088) * declare xmlns="Microsoft.Dynamics.AX.Metadata.V6" — no other root does, anywhere. * Inside those files the rule holds for all 5.6 million elements without one * exception: the root and its children are in V6, everything from the grandchildren * down is in no namespace (each grandchild carries its own xmlns=""). * * Why it matters: a form extension written without the namespace BUILDS — xppc * accepts it — but xppbp reports "Error reading FormExtension … not found", so the * object is broken in a way the build never shows. That is what a benchmark agent * handed d365fo_file(action="create", form-extension, xmlContent=…) and got ✅ for. */ export declare const FORM_METADATA_NAMESPACE = "Microsoft.Dynamics.AX.Metadata.V6"; export interface FormNamespaceResult { xml: string; /** True when anything was added or corrected. */ changed: boolean; } /** * Rewrite the start tags whose namespace breaks the rule; leave everything else — * text, CDATA, comments, attribute order, whitespace — byte for byte. XML whose * root is not AxForm / AxFormExtension is returned unchanged. */ export declare function ensureFormMetadataNamespace(xml: string): FormNamespaceResult; //# sourceMappingURL=formMetadataNamespace.d.ts.map