docs(uv): annotate _RunLockInfo provider field types (#4191)

`_RunLockInfo` lacked a provider docstring and `:type:` annotations on
its fields, making it harder for maintainers to inspect the expected
field types and provider purpose.

Add a provider description and `:type:` annotations to each field in
`_RunLockInfo`.
diff --git a/python/uv/private/lock.bzl b/python/uv/private/lock.bzl
index 93742a2..b044151 100644
--- a/python/uv/private/lock.bzl
+++ b/python/uv/private/lock.bzl
@@ -26,14 +26,30 @@
 visibility(["//..."])
 
 _RunLockInfo = provider(
-    doc = "",
+    doc = "Information for running the lock command directly via `bazel run`.",
     fields = {
-        "args": "The args passed to the `uv` by default when running the runnable target.",
-        "env": "The env passed to the execution.",
+        "args": """
+:type: list[str | File]
+
+The args passed to `uv` by default when running the runnable target.
+""",
+        "env": """
+:type: dict[str, str]
+
+The env passed to the execution.
+""",
         # Preserve the wrapper's runtime files and symlink mappings together;
         # a regular depset cannot represent the full runfiles layout.
-        "runfiles": "Runtime files required by the runnable target.",
-        "template": "The template file for writing a script.",
+        "runfiles": """
+:type: runfiles
+
+Runtime files required by the runnable target.
+""",
+        "template": """
+:type: File
+
+The template file for writing a script.
+""",
     },
 )