aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsigoden <sigoden@gmail.com>2024-11-04 07:27:47 +0800
committerGitHub <noreply@github.com>2024-11-04 07:27:47 +0800
commitafbd03f963b08419a3835c9473d757bf936c8b92 (patch)
treedfe8e09eaa15ab2a58b6b46ccaf7defa7027f1d2
parent2cac7d90c87c27534d69a9ac76baf7c528246713 (diff)
downloadllm-functions-docker-afbd03f963b08419a3835c9473d757bf936c8b92.tar.gz
fix(scripts): ignore declarations without a description (#122)
-rwxr-xr-xscripts/build-declarations.js8
-rwxr-xr-xscripts/build-declarations.py6
-rwxr-xr-xscripts/build-declarations.sh2
3 files changed, 10 insertions, 6 deletions
diff --git a/scripts/build-declarations.js b/scripts/build-declarations.js
index a9846fe..88a6b97 100755
--- a/scripts/build-declarations.js
+++ b/scripts/build-declarations.js
@@ -10,11 +10,13 @@ function main() {
const isTool = path.dirname(scriptfile) == "tools";
const contents = fs.readFileSync(process.argv[2], "utf8");
const functions = extractFunctions(contents, isTool);
- let declarations = functions.map(({ funcName, jsdoc }) => {
+ let declarations = [];
+ for (const { funcName, jsdoc } of functions) {
const { description, params } = parseJsDoc(jsdoc, funcName);
+ if (!description) continue;
const declaration = buildDeclaration(funcName, description, params);
- return declaration;
- });
+ declarations.push(declaration);
+ }
if (isTool) {
const name = getBasename(scriptfile);
if (declarations.length > 0) {
diff --git a/scripts/build-declarations.py b/scripts/build-declarations.py
index 72b6aff..3b70e8d 100755
--- a/scripts/build-declarations.py
+++ b/scripts/build-declarations.py
@@ -22,6 +22,8 @@ def main(is_tool=True):
for function in functions:
func_name, docstring, func_args = function
description, params = parse_docstring(docstring)
+ if not description:
+ continue
declarations.append(
build_declaration(func_name, description, params, func_args)
)
@@ -42,10 +44,10 @@ def extract_functions(contents: str, is_tool: bool):
if not isinstance(node, ast.FunctionDef):
continue
func_name = node.name
- if func_name.startswith("_"):
- continue
if is_tool and func_name != TOOL_ENTRY_FUNC:
continue
+ if func_name.startswith("_"):
+ continue
docstring = ast.get_docstring(node) or ""
func_args = OrderedDict()
for arg in node.args.args:
diff --git a/scripts/build-declarations.sh b/scripts/build-declarations.sh
index f01ad7d..af23590 100755
--- a/scripts/build-declarations.sh
+++ b/scripts/build-declarations.sh
@@ -59,7 +59,7 @@ build_declarations() {
parameters: parse_parameter([.flag_options[] | select(.id != "help" and .id != "version")])
};
[
- .[] | parse_declaration | select(.name | startswith("_") | not)
+ .[] | parse_declaration | select(.name | startswith("_") | not) | select(.description != "")
]'
}