From 040a0c8ff80ca071399394873b5118f63baac634 Mon Sep 17 00:00:00 2001 From: Peli de Halleux Date: Sat, 22 Feb 2025 17:49:56 +0000 Subject: [PATCH 01/12] move prompt files to cli --- .../{core/src => cli}/genaisrc/.gitattributes | 0 .../{core/src => cli}/genaisrc/.gitignore | 0 .../genaisrc/system.agent_data.genai.mjs} | 0 .../genaisrc/system.agent_docs.genai.mjs} | 0 .../genaisrc/system.agent_fs.genai.mjs} | 0 .../genaisrc/system.agent_git.genai.mjs} | 0 .../genaisrc/system.agent_github.genai.mjs} | 0 .../system.agent_interpreter.genai.mjs} | 0 .../genaisrc/system.agent_planner.genai.mjs} | 0 .../system.agent_user_input.genai.mjs} | 0 .../genaisrc/system.agent_video.genai.mjs} | 0 .../genaisrc/system.agent_web.genai.mjs} | 0 .../genaisrc/system.annotations.genai.mjs} | 0 .../genaisrc/system.assistant.genai.mjs} | 0 .../genaisrc/system.changelog.genai.mjs} | 0 .../genaisrc/system.diagrams.genai.mjs} | 0 .../genaisrc/system.diff.genai.mjs} | 0 .../genaisrc/system.english.genai.mjs} | 0 .../genaisrc/system.explanations.genai.mjs} | 0 .../genaisrc/system.files.genai.mjs} | 0 .../genaisrc/system.files_schema.genai.mjs} | 0 .../genaisrc/system.fs_ask_file.genai.mjs} | 0 .../genaisrc/system.fs_data_query.genai.mjs} | 0 .../genaisrc/system.fs_diff_files.genai.mjs} | 0 .../genaisrc/system.fs_find_files.genai.mjs} | 0 .../genaisrc/system.fs_read_file.genai.mjs} | 0 .../genaisrc/system.genai.mjs} | 0 .../genaisrc/system.git.genai.mjs} | 0 .../genaisrc/system.git_diff.genai.mjs} | 0 .../genaisrc/system.git_info.genai.mjs} | 0 .../genaisrc/system.github_actions.genai.mjs} | 0 .../genaisrc/system.github_files.genai.mjs} | 0 .../genaisrc/system.github_info.genai.mjs} | 0 .../genaisrc/system.github_issues.genai.mjs} | 0 .../genaisrc/system.github_pulls.genai.mjs} | 0 .../genaisrc/system.math.genai.mjs} | 0 .../genaisrc/system.md_find_files.genai.mjs} | 0 .../genaisrc/system.md_frontmatter.genai.mjs} | 0 .../genaisrc/system.meta_prompt.genai.mjs} | 0 .../genaisrc/system.meta_schema.genai.mjs} | 0 .../genaisrc/system.node_info.genai.mjs} | 0 .../genaisrc/system.node_test.genai.mjs} | 0 .../genaisrc/system.output_ini.genai.mjs} | 0 .../genaisrc/system.output_json.genai.mjs} | 0 .../system.output_markdown.genai.mjs} | 0 .../system.output_plaintext.genai.mjs} | 0 .../genaisrc/system.output_yaml.genai.mjs} | 0 .../genaisrc/system.planner.genai.mjs} | 0 .../genaisrc/system.python.genai.mjs} | 0 .../system.python_code_interpreter.genai.mjs} | 0 .../genaisrc/system.python_types.genai.mjs} | 0 .../system.retrieval_fuzz_search.genai.mjs} | 0 .../system.retrieval_vector_search.genai.mjs} | 0 .../system.retrieval_web_search.genai.mjs} | 0 .../system.safety_canary_word.genai.mjs} | 0 .../system.safety_harmful_content.genai.mjs} | 0 .../system.safety_jailbreak.genai.mjs} | 0 ...ystem.safety_protected_material.genai.mjs} | 0 ...ngrounded_content_summarization.genai.mjs} | 0 ...safety_validate_harmful_content.genai.mjs} | 0 .../genaisrc/system.schema.genai.mjs} | 0 .../genaisrc/system.tasks.genai.mjs} | 0 .../genaisrc/system.technical.genai.mjs} | 0 .../genaisrc/system.tool_calls.genai.mjs} | 0 .../genaisrc/system.tools.genai.mjs} | 0 .../genaisrc/system.transcribe.genai.mjs} | 0 .../genaisrc/system.typescript.genai.mjs} | 0 .../genaisrc/system.user_input.genai.mjs} | 0 .../genaisrc/system.video.genai.mjs} | 0 .../system.vision_ask_images.genai.mjs} | 0 .../genaisrc/system.zero_shot_cot.genai.mjs} | 0 packages/cli/package.json | 3 ++- packages/core/bundleprompts.js | 4 ++-- packages/core/src/genaisrc/jsconfig.json | 17 --------------- packages/core/src/genaisrc/tsconfig.json | 21 ------------------- 75 files changed, 4 insertions(+), 41 deletions(-) rename packages/{core/src => cli}/genaisrc/.gitattributes (100%) rename packages/{core/src => cli}/genaisrc/.gitignore (100%) rename packages/{core/src/genaisrc/system.agent_data.genai.js => cli/genaisrc/system.agent_data.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.agent_docs.genai.js => cli/genaisrc/system.agent_docs.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.agent_fs.genai.js => cli/genaisrc/system.agent_fs.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.agent_git.genai.js => cli/genaisrc/system.agent_git.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.agent_github.genai.js => cli/genaisrc/system.agent_github.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.agent_interpreter.genai.js => cli/genaisrc/system.agent_interpreter.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.agent_planner.genai.js => cli/genaisrc/system.agent_planner.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.agent_user_input.genai.js => cli/genaisrc/system.agent_user_input.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.agent_video.genai.js => cli/genaisrc/system.agent_video.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.agent_web.genai.js => cli/genaisrc/system.agent_web.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.annotations.genai.js => cli/genaisrc/system.annotations.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.assistant.genai.js => cli/genaisrc/system.assistant.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.changelog.genai.js => cli/genaisrc/system.changelog.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.diagrams.genai.js => cli/genaisrc/system.diagrams.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.diff.genai.js => cli/genaisrc/system.diff.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.english.genai.js => cli/genaisrc/system.english.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.explanations.genai.js => cli/genaisrc/system.explanations.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.files.genai.js => cli/genaisrc/system.files.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.files_schema.genai.js => cli/genaisrc/system.files_schema.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.fs_ask_file.genai.js => cli/genaisrc/system.fs_ask_file.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.fs_data_query.genai.js => cli/genaisrc/system.fs_data_query.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.fs_diff_files.genai.js => cli/genaisrc/system.fs_diff_files.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.fs_find_files.genai.js => cli/genaisrc/system.fs_find_files.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.fs_read_file.genai.js => cli/genaisrc/system.fs_read_file.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.genai.js => cli/genaisrc/system.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.git.genai.js => cli/genaisrc/system.git.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.git_diff.genai.js => cli/genaisrc/system.git_diff.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.git_info.genai.js => cli/genaisrc/system.git_info.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.github_actions.genai.js => cli/genaisrc/system.github_actions.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.github_files.genai.js => cli/genaisrc/system.github_files.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.github_info.genai.js => cli/genaisrc/system.github_info.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.github_issues.genai.js => cli/genaisrc/system.github_issues.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.github_pulls.genai.js => cli/genaisrc/system.github_pulls.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.math.genai.js => cli/genaisrc/system.math.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.md_find_files.genai.js => cli/genaisrc/system.md_find_files.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.md_frontmatter.genai.js => cli/genaisrc/system.md_frontmatter.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.meta_prompt.genai.js => cli/genaisrc/system.meta_prompt.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.meta_schema.genai.js => cli/genaisrc/system.meta_schema.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.node_info.genai.js => cli/genaisrc/system.node_info.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.node_test.genai.js => cli/genaisrc/system.node_test.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.output_ini.genai.js => cli/genaisrc/system.output_ini.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.output_json.genai.js => cli/genaisrc/system.output_json.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.output_markdown.genai.js => cli/genaisrc/system.output_markdown.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.output_plaintext.genai.js => cli/genaisrc/system.output_plaintext.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.output_yaml.genai.js => cli/genaisrc/system.output_yaml.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.planner.genai.js => cli/genaisrc/system.planner.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.python.genai.js => cli/genaisrc/system.python.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.python_code_interpreter.genai.js => cli/genaisrc/system.python_code_interpreter.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.python_types.genai.js => cli/genaisrc/system.python_types.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.retrieval_fuzz_search.genai.js => cli/genaisrc/system.retrieval_fuzz_search.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.retrieval_vector_search.genai.js => cli/genaisrc/system.retrieval_vector_search.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.retrieval_web_search.genai.js => cli/genaisrc/system.retrieval_web_search.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.safety_canary_word.genai.js => cli/genaisrc/system.safety_canary_word.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.safety_harmful_content.genai.js => cli/genaisrc/system.safety_harmful_content.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.safety_jailbreak.genai.js => cli/genaisrc/system.safety_jailbreak.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.safety_protected_material.genai.js => cli/genaisrc/system.safety_protected_material.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.safety_ungrounded_content_summarization.genai.js => cli/genaisrc/system.safety_ungrounded_content_summarization.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.safety_validate_harmful_content.genai.js => cli/genaisrc/system.safety_validate_harmful_content.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.schema.genai.js => cli/genaisrc/system.schema.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.tasks.genai.js => cli/genaisrc/system.tasks.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.technical.genai.js => cli/genaisrc/system.technical.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.tool_calls.genai.js => cli/genaisrc/system.tool_calls.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.tools.genai.js => cli/genaisrc/system.tools.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.transcribe.genai.js => cli/genaisrc/system.transcribe.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.typescript.genai.js => cli/genaisrc/system.typescript.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.user_input.genai.js => cli/genaisrc/system.user_input.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.video.genai.js => cli/genaisrc/system.video.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.vision_ask_images.genai.js => cli/genaisrc/system.vision_ask_images.genai.mjs} (100%) rename packages/{core/src/genaisrc/system.zero_shot_cot.genai.js => cli/genaisrc/system.zero_shot_cot.genai.mjs} (100%) delete mode 100644 packages/core/src/genaisrc/jsconfig.json delete mode 100644 packages/core/src/genaisrc/tsconfig.json diff --git a/packages/core/src/genaisrc/.gitattributes b/packages/cli/genaisrc/.gitattributes similarity index 100% rename from packages/core/src/genaisrc/.gitattributes rename to packages/cli/genaisrc/.gitattributes diff --git a/packages/core/src/genaisrc/.gitignore b/packages/cli/genaisrc/.gitignore similarity index 100% rename from packages/core/src/genaisrc/.gitignore rename to packages/cli/genaisrc/.gitignore diff --git a/packages/core/src/genaisrc/system.agent_data.genai.js b/packages/cli/genaisrc/system.agent_data.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.agent_data.genai.js rename to packages/cli/genaisrc/system.agent_data.genai.mjs diff --git a/packages/core/src/genaisrc/system.agent_docs.genai.js b/packages/cli/genaisrc/system.agent_docs.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.agent_docs.genai.js rename to packages/cli/genaisrc/system.agent_docs.genai.mjs diff --git a/packages/core/src/genaisrc/system.agent_fs.genai.js b/packages/cli/genaisrc/system.agent_fs.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.agent_fs.genai.js rename to packages/cli/genaisrc/system.agent_fs.genai.mjs diff --git a/packages/core/src/genaisrc/system.agent_git.genai.js b/packages/cli/genaisrc/system.agent_git.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.agent_git.genai.js rename to packages/cli/genaisrc/system.agent_git.genai.mjs diff --git a/packages/core/src/genaisrc/system.agent_github.genai.js b/packages/cli/genaisrc/system.agent_github.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.agent_github.genai.js rename to packages/cli/genaisrc/system.agent_github.genai.mjs diff --git a/packages/core/src/genaisrc/system.agent_interpreter.genai.js b/packages/cli/genaisrc/system.agent_interpreter.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.agent_interpreter.genai.js rename to packages/cli/genaisrc/system.agent_interpreter.genai.mjs diff --git a/packages/core/src/genaisrc/system.agent_planner.genai.js b/packages/cli/genaisrc/system.agent_planner.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.agent_planner.genai.js rename to packages/cli/genaisrc/system.agent_planner.genai.mjs diff --git a/packages/core/src/genaisrc/system.agent_user_input.genai.js b/packages/cli/genaisrc/system.agent_user_input.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.agent_user_input.genai.js rename to packages/cli/genaisrc/system.agent_user_input.genai.mjs diff --git a/packages/core/src/genaisrc/system.agent_video.genai.js b/packages/cli/genaisrc/system.agent_video.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.agent_video.genai.js rename to packages/cli/genaisrc/system.agent_video.genai.mjs diff --git a/packages/core/src/genaisrc/system.agent_web.genai.js b/packages/cli/genaisrc/system.agent_web.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.agent_web.genai.js rename to packages/cli/genaisrc/system.agent_web.genai.mjs diff --git a/packages/core/src/genaisrc/system.annotations.genai.js b/packages/cli/genaisrc/system.annotations.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.annotations.genai.js rename to packages/cli/genaisrc/system.annotations.genai.mjs diff --git a/packages/core/src/genaisrc/system.assistant.genai.js b/packages/cli/genaisrc/system.assistant.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.assistant.genai.js rename to packages/cli/genaisrc/system.assistant.genai.mjs diff --git a/packages/core/src/genaisrc/system.changelog.genai.js b/packages/cli/genaisrc/system.changelog.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.changelog.genai.js rename to packages/cli/genaisrc/system.changelog.genai.mjs diff --git a/packages/core/src/genaisrc/system.diagrams.genai.js b/packages/cli/genaisrc/system.diagrams.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.diagrams.genai.js rename to packages/cli/genaisrc/system.diagrams.genai.mjs diff --git a/packages/core/src/genaisrc/system.diff.genai.js b/packages/cli/genaisrc/system.diff.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.diff.genai.js rename to packages/cli/genaisrc/system.diff.genai.mjs diff --git a/packages/core/src/genaisrc/system.english.genai.js b/packages/cli/genaisrc/system.english.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.english.genai.js rename to packages/cli/genaisrc/system.english.genai.mjs diff --git a/packages/core/src/genaisrc/system.explanations.genai.js b/packages/cli/genaisrc/system.explanations.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.explanations.genai.js rename to packages/cli/genaisrc/system.explanations.genai.mjs diff --git a/packages/core/src/genaisrc/system.files.genai.js b/packages/cli/genaisrc/system.files.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.files.genai.js rename to packages/cli/genaisrc/system.files.genai.mjs diff --git a/packages/core/src/genaisrc/system.files_schema.genai.js b/packages/cli/genaisrc/system.files_schema.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.files_schema.genai.js rename to packages/cli/genaisrc/system.files_schema.genai.mjs diff --git a/packages/core/src/genaisrc/system.fs_ask_file.genai.js b/packages/cli/genaisrc/system.fs_ask_file.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.fs_ask_file.genai.js rename to packages/cli/genaisrc/system.fs_ask_file.genai.mjs diff --git a/packages/core/src/genaisrc/system.fs_data_query.genai.js b/packages/cli/genaisrc/system.fs_data_query.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.fs_data_query.genai.js rename to packages/cli/genaisrc/system.fs_data_query.genai.mjs diff --git a/packages/core/src/genaisrc/system.fs_diff_files.genai.js b/packages/cli/genaisrc/system.fs_diff_files.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.fs_diff_files.genai.js rename to packages/cli/genaisrc/system.fs_diff_files.genai.mjs diff --git a/packages/core/src/genaisrc/system.fs_find_files.genai.js b/packages/cli/genaisrc/system.fs_find_files.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.fs_find_files.genai.js rename to packages/cli/genaisrc/system.fs_find_files.genai.mjs diff --git a/packages/core/src/genaisrc/system.fs_read_file.genai.js b/packages/cli/genaisrc/system.fs_read_file.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.fs_read_file.genai.js rename to packages/cli/genaisrc/system.fs_read_file.genai.mjs diff --git a/packages/core/src/genaisrc/system.genai.js b/packages/cli/genaisrc/system.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.genai.js rename to packages/cli/genaisrc/system.genai.mjs diff --git a/packages/core/src/genaisrc/system.git.genai.js b/packages/cli/genaisrc/system.git.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.git.genai.js rename to packages/cli/genaisrc/system.git.genai.mjs diff --git a/packages/core/src/genaisrc/system.git_diff.genai.js b/packages/cli/genaisrc/system.git_diff.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.git_diff.genai.js rename to packages/cli/genaisrc/system.git_diff.genai.mjs diff --git a/packages/core/src/genaisrc/system.git_info.genai.js b/packages/cli/genaisrc/system.git_info.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.git_info.genai.js rename to packages/cli/genaisrc/system.git_info.genai.mjs diff --git a/packages/core/src/genaisrc/system.github_actions.genai.js b/packages/cli/genaisrc/system.github_actions.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.github_actions.genai.js rename to packages/cli/genaisrc/system.github_actions.genai.mjs diff --git a/packages/core/src/genaisrc/system.github_files.genai.js b/packages/cli/genaisrc/system.github_files.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.github_files.genai.js rename to packages/cli/genaisrc/system.github_files.genai.mjs diff --git a/packages/core/src/genaisrc/system.github_info.genai.js b/packages/cli/genaisrc/system.github_info.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.github_info.genai.js rename to packages/cli/genaisrc/system.github_info.genai.mjs diff --git a/packages/core/src/genaisrc/system.github_issues.genai.js b/packages/cli/genaisrc/system.github_issues.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.github_issues.genai.js rename to packages/cli/genaisrc/system.github_issues.genai.mjs diff --git a/packages/core/src/genaisrc/system.github_pulls.genai.js b/packages/cli/genaisrc/system.github_pulls.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.github_pulls.genai.js rename to packages/cli/genaisrc/system.github_pulls.genai.mjs diff --git a/packages/core/src/genaisrc/system.math.genai.js b/packages/cli/genaisrc/system.math.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.math.genai.js rename to packages/cli/genaisrc/system.math.genai.mjs diff --git a/packages/core/src/genaisrc/system.md_find_files.genai.js b/packages/cli/genaisrc/system.md_find_files.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.md_find_files.genai.js rename to packages/cli/genaisrc/system.md_find_files.genai.mjs diff --git a/packages/core/src/genaisrc/system.md_frontmatter.genai.js b/packages/cli/genaisrc/system.md_frontmatter.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.md_frontmatter.genai.js rename to packages/cli/genaisrc/system.md_frontmatter.genai.mjs diff --git a/packages/core/src/genaisrc/system.meta_prompt.genai.js b/packages/cli/genaisrc/system.meta_prompt.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.meta_prompt.genai.js rename to packages/cli/genaisrc/system.meta_prompt.genai.mjs diff --git a/packages/core/src/genaisrc/system.meta_schema.genai.js b/packages/cli/genaisrc/system.meta_schema.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.meta_schema.genai.js rename to packages/cli/genaisrc/system.meta_schema.genai.mjs diff --git a/packages/core/src/genaisrc/system.node_info.genai.js b/packages/cli/genaisrc/system.node_info.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.node_info.genai.js rename to packages/cli/genaisrc/system.node_info.genai.mjs diff --git a/packages/core/src/genaisrc/system.node_test.genai.js b/packages/cli/genaisrc/system.node_test.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.node_test.genai.js rename to packages/cli/genaisrc/system.node_test.genai.mjs diff --git a/packages/core/src/genaisrc/system.output_ini.genai.js b/packages/cli/genaisrc/system.output_ini.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.output_ini.genai.js rename to packages/cli/genaisrc/system.output_ini.genai.mjs diff --git a/packages/core/src/genaisrc/system.output_json.genai.js b/packages/cli/genaisrc/system.output_json.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.output_json.genai.js rename to packages/cli/genaisrc/system.output_json.genai.mjs diff --git a/packages/core/src/genaisrc/system.output_markdown.genai.js b/packages/cli/genaisrc/system.output_markdown.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.output_markdown.genai.js rename to packages/cli/genaisrc/system.output_markdown.genai.mjs diff --git a/packages/core/src/genaisrc/system.output_plaintext.genai.js b/packages/cli/genaisrc/system.output_plaintext.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.output_plaintext.genai.js rename to packages/cli/genaisrc/system.output_plaintext.genai.mjs diff --git a/packages/core/src/genaisrc/system.output_yaml.genai.js b/packages/cli/genaisrc/system.output_yaml.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.output_yaml.genai.js rename to packages/cli/genaisrc/system.output_yaml.genai.mjs diff --git a/packages/core/src/genaisrc/system.planner.genai.js b/packages/cli/genaisrc/system.planner.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.planner.genai.js rename to packages/cli/genaisrc/system.planner.genai.mjs diff --git a/packages/core/src/genaisrc/system.python.genai.js b/packages/cli/genaisrc/system.python.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.python.genai.js rename to packages/cli/genaisrc/system.python.genai.mjs diff --git a/packages/core/src/genaisrc/system.python_code_interpreter.genai.js b/packages/cli/genaisrc/system.python_code_interpreter.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.python_code_interpreter.genai.js rename to packages/cli/genaisrc/system.python_code_interpreter.genai.mjs diff --git a/packages/core/src/genaisrc/system.python_types.genai.js b/packages/cli/genaisrc/system.python_types.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.python_types.genai.js rename to packages/cli/genaisrc/system.python_types.genai.mjs diff --git a/packages/core/src/genaisrc/system.retrieval_fuzz_search.genai.js b/packages/cli/genaisrc/system.retrieval_fuzz_search.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.retrieval_fuzz_search.genai.js rename to packages/cli/genaisrc/system.retrieval_fuzz_search.genai.mjs diff --git a/packages/core/src/genaisrc/system.retrieval_vector_search.genai.js b/packages/cli/genaisrc/system.retrieval_vector_search.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.retrieval_vector_search.genai.js rename to packages/cli/genaisrc/system.retrieval_vector_search.genai.mjs diff --git a/packages/core/src/genaisrc/system.retrieval_web_search.genai.js b/packages/cli/genaisrc/system.retrieval_web_search.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.retrieval_web_search.genai.js rename to packages/cli/genaisrc/system.retrieval_web_search.genai.mjs diff --git a/packages/core/src/genaisrc/system.safety_canary_word.genai.js b/packages/cli/genaisrc/system.safety_canary_word.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.safety_canary_word.genai.js rename to packages/cli/genaisrc/system.safety_canary_word.genai.mjs diff --git a/packages/core/src/genaisrc/system.safety_harmful_content.genai.js b/packages/cli/genaisrc/system.safety_harmful_content.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.safety_harmful_content.genai.js rename to packages/cli/genaisrc/system.safety_harmful_content.genai.mjs diff --git a/packages/core/src/genaisrc/system.safety_jailbreak.genai.js b/packages/cli/genaisrc/system.safety_jailbreak.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.safety_jailbreak.genai.js rename to packages/cli/genaisrc/system.safety_jailbreak.genai.mjs diff --git a/packages/core/src/genaisrc/system.safety_protected_material.genai.js b/packages/cli/genaisrc/system.safety_protected_material.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.safety_protected_material.genai.js rename to packages/cli/genaisrc/system.safety_protected_material.genai.mjs diff --git a/packages/core/src/genaisrc/system.safety_ungrounded_content_summarization.genai.js b/packages/cli/genaisrc/system.safety_ungrounded_content_summarization.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.safety_ungrounded_content_summarization.genai.js rename to packages/cli/genaisrc/system.safety_ungrounded_content_summarization.genai.mjs diff --git a/packages/core/src/genaisrc/system.safety_validate_harmful_content.genai.js b/packages/cli/genaisrc/system.safety_validate_harmful_content.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.safety_validate_harmful_content.genai.js rename to packages/cli/genaisrc/system.safety_validate_harmful_content.genai.mjs diff --git a/packages/core/src/genaisrc/system.schema.genai.js b/packages/cli/genaisrc/system.schema.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.schema.genai.js rename to packages/cli/genaisrc/system.schema.genai.mjs diff --git a/packages/core/src/genaisrc/system.tasks.genai.js b/packages/cli/genaisrc/system.tasks.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.tasks.genai.js rename to packages/cli/genaisrc/system.tasks.genai.mjs diff --git a/packages/core/src/genaisrc/system.technical.genai.js b/packages/cli/genaisrc/system.technical.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.technical.genai.js rename to packages/cli/genaisrc/system.technical.genai.mjs diff --git a/packages/core/src/genaisrc/system.tool_calls.genai.js b/packages/cli/genaisrc/system.tool_calls.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.tool_calls.genai.js rename to packages/cli/genaisrc/system.tool_calls.genai.mjs diff --git a/packages/core/src/genaisrc/system.tools.genai.js b/packages/cli/genaisrc/system.tools.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.tools.genai.js rename to packages/cli/genaisrc/system.tools.genai.mjs diff --git a/packages/core/src/genaisrc/system.transcribe.genai.js b/packages/cli/genaisrc/system.transcribe.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.transcribe.genai.js rename to packages/cli/genaisrc/system.transcribe.genai.mjs diff --git a/packages/core/src/genaisrc/system.typescript.genai.js b/packages/cli/genaisrc/system.typescript.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.typescript.genai.js rename to packages/cli/genaisrc/system.typescript.genai.mjs diff --git a/packages/core/src/genaisrc/system.user_input.genai.js b/packages/cli/genaisrc/system.user_input.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.user_input.genai.js rename to packages/cli/genaisrc/system.user_input.genai.mjs diff --git a/packages/core/src/genaisrc/system.video.genai.js b/packages/cli/genaisrc/system.video.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.video.genai.js rename to packages/cli/genaisrc/system.video.genai.mjs diff --git a/packages/core/src/genaisrc/system.vision_ask_images.genai.js b/packages/cli/genaisrc/system.vision_ask_images.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.vision_ask_images.genai.js rename to packages/cli/genaisrc/system.vision_ask_images.genai.mjs diff --git a/packages/core/src/genaisrc/system.zero_shot_cot.genai.js b/packages/cli/genaisrc/system.zero_shot_cot.genai.mjs similarity index 100% rename from packages/core/src/genaisrc/system.zero_shot_cot.genai.js rename to packages/cli/genaisrc/system.zero_shot_cot.genai.mjs diff --git a/packages/cli/package.json b/packages/cli/package.json index 4ff31a6dd5..82f0b9bedd 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -25,7 +25,8 @@ "built/markdown.css", "built/codicon.css", "built/codicon.ttf", - "built/favicon.svg" + "built/favicon.svg", + "genaisrc/*.genai.mjs" ], "publisher": "Microsoft", "repository": { diff --git a/packages/core/bundleprompts.js b/packages/core/bundleprompts.js index 5835137e21..d422afc61d 100644 --- a/packages/core/bundleprompts.js +++ b/packages/core/bundleprompts.js @@ -2,7 +2,7 @@ const { readdirSync, readFileSync, writeFileSync } = require("fs") const { parse } = require("json5") async function main() { - const dir = "./src/genaisrc" + const dir = "../cli/genaisrc" const fp = "./src/default_prompts.ts" const fmp = "../../docs/src/content/docs/reference/scripts/system.mdx" const fnp = "../../docs/src/components/BuiltinTools.mdx" @@ -11,7 +11,7 @@ async function main() { const promptMap = {} const prompts = readdirSync(dir) for (const prompt of prompts) { - if (!/\.genai\.js$/.test(prompt)) continue + if (!/\.genai\.m?js$/.test(prompt)) continue const text = readFileSync(`${dir}/${prompt}`, "utf-8") if (/^system\./.test(prompt)) { const id = prompt.replace(/\.genai\.m?js$/i, "") diff --git a/packages/core/src/genaisrc/jsconfig.json b/packages/core/src/genaisrc/jsconfig.json deleted file mode 100644 index 4c21c58ce6..0000000000 --- a/packages/core/src/genaisrc/jsconfig.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "compilerOptions": { - "lib": [ - "ES2022" - ], - "target": "ES2022", - "module": "ES2022", - "moduleDetection": "force", - "checkJs": true, - "allowJs": true, - "skipLibCheck": true - }, - "include": [ - "*.js", - "./genaiscript.d.ts" - ] -} \ No newline at end of file diff --git a/packages/core/src/genaisrc/tsconfig.json b/packages/core/src/genaisrc/tsconfig.json deleted file mode 100644 index 510eefe8f9..0000000000 --- a/packages/core/src/genaisrc/tsconfig.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "compilerOptions": { - "lib": [ - "ES2022" - ], - "target": "ES2023", - "module": "NodeNext", - "moduleDetection": "force", - "moduleResolution": "nodenext", - "checkJs": true, - "allowJs": true, - "skipLibCheck": true, - "noEmit": true, - "allowImportingTsExtensions": true - }, - "include": [ - "*.mjs", - "*.mts", - "./genaiscript.d.ts" - ] -} \ No newline at end of file From 1e990430d4f5fae57446fc5cf1f9dffa57435085 Mon Sep 17 00:00:00 2001 From: Peli de Halleux Date: Sat, 22 Feb 2025 18:08:02 +0000 Subject: [PATCH 02/12] move to mts files --- ....genai.mjs => system.agent_data.genai.mts} | 0 ....genai.mjs => system.agent_docs.genai.mts} | 0 ...fs.genai.mjs => system.agent_fs.genai.mts} | 0 ...t.genai.mjs => system.agent_git.genai.mts} | 0 ...enai.mjs => system.agent_github.genai.mts} | 0 ...mjs => system.agent_interpreter.genai.mts} | 0 ...nai.mjs => system.agent_planner.genai.mts} | 0 ....mjs => system.agent_user_input.genai.mts} | 0 ...genai.mjs => system.agent_video.genai.mts} | 0 ...b.genai.mjs => system.agent_web.genai.mts} | 0 ...genai.mjs => system.annotations.genai.mts} | 0 ...t.genai.mjs => system.assistant.genai.mts} | 0 ...g.genai.mjs => system.changelog.genai.mts} | 0 ...ms.genai.mjs => system.diagrams.genai.mts} | 0 ...m.diff.genai.mjs => system.diff.genai.mts} | 0 ...ish.genai.mjs => system.english.genai.mts} | 0 ...enai.mjs => system.explanations.genai.mts} | 0 ...files.genai.mjs => system.files.genai.mts} | 0 ...enai.mjs => system.files_schema.genai.mts} | 0 ...genai.mjs => system.fs_ask_file.genai.mts} | 0 ...nai.mjs => system.fs_data_query.genai.mts} | 0 ...nai.mjs => system.fs_diff_files.genai.mts} | 0 ...nai.mjs => system.fs_find_files.genai.mts} | 0 ...enai.mjs => system.fs_read_file.genai.mts} | 0 .../{system.genai.mjs => system.genai.mts} | 0 ...tem.git.genai.mjs => system.git.genai.mts} | 0 ...ff.genai.mjs => system.git_diff.genai.mts} | 0 ...fo.genai.mjs => system.git_info.genai.mts} | 0 ...ai.mjs => system.github_actions.genai.mts} | 0 ...enai.mjs => system.github_files.genai.mts} | 0 ...genai.mjs => system.github_info.genai.mts} | 0 ...nai.mjs => system.github_issues.genai.mts} | 0 ...enai.mjs => system.github_pulls.genai.mts} | 0 ...m.math.genai.mjs => system.math.genai.mts} | 0 ...nai.mjs => system.md_find_files.genai.mts} | 0 ...ai.mjs => system.md_frontmatter.genai.mts} | 0 ...genai.mjs => system.meta_prompt.genai.mts} | 0 ...genai.mjs => system.meta_schema.genai.mts} | 0 ...o.genai.mjs => system.node_info.genai.mts} | 0 ...t.genai.mjs => system.node_test.genai.mts} | 0 ....genai.mjs => system.output_ini.genai.mts} | 0 ...genai.mjs => system.output_json.genai.mts} | 0 ...i.mjs => system.output_markdown.genai.mts} | 0 ....mjs => system.output_plaintext.genai.mts} | 0 ...genai.mjs => system.output_yaml.genai.mts} | 0 ...ner.genai.mjs => system.planner.genai.mts} | 0 ...thon.genai.mjs => system.python.genai.mts} | 0 ... system.python_code_interpreter.genai.mts} | 0 ...enai.mjs => system.python_types.genai.mts} | 0 ...=> system.retrieval_fuzz_search.genai.mts} | 0 ... system.retrieval_vector_search.genai.mts} | 0 ... => system.retrieval_web_search.genai.mts} | 0 ...js => system.safety_canary_word.genai.mts} | 0 ...> system.safety_harmful_content.genai.mts} | 0 ....mjs => system.safety_jailbreak.genai.mts} | 0 ...ystem.safety_protected_material.genai.mts} | 0 ...ngrounded_content_summarization.genai.mts} | 0 ...safety_validate_harmful_content.genai.mts} | 0 ...hema.genai.mjs => system.schema.genai.mts} | 0 ...tasks.genai.mjs => system.tasks.genai.mts} | 0 ...l.genai.mjs => system.technical.genai.mts} | 0 ....genai.mjs => system.tool_calls.genai.mts} | 0 ...tools.genai.mjs => system.tools.genai.mts} | 0 ....genai.mjs => system.transcribe.genai.mts} | 0 ....genai.mjs => system.typescript.genai.mts} | 0 ....genai.mjs => system.user_input.genai.mts} | 0 ...video.genai.mjs => system.video.genai.mts} | 0 ...mjs => system.vision_ask_images.genai.mts} | 0 ...nai.mjs => system.zero_shot_cot.genai.mts} | 0 packages/cli/package.json | 2 +- packages/core/bundleprompts.js | 4 +-- packages/core/src/parser.ts | 31 ++++++++++--------- packages/core/src/template.ts | 30 +++++++++--------- 73 files changed, 34 insertions(+), 33 deletions(-) rename packages/cli/genaisrc/{system.agent_data.genai.mjs => system.agent_data.genai.mts} (100%) rename packages/cli/genaisrc/{system.agent_docs.genai.mjs => system.agent_docs.genai.mts} (100%) rename packages/cli/genaisrc/{system.agent_fs.genai.mjs => system.agent_fs.genai.mts} (100%) rename packages/cli/genaisrc/{system.agent_git.genai.mjs => system.agent_git.genai.mts} (100%) rename packages/cli/genaisrc/{system.agent_github.genai.mjs => system.agent_github.genai.mts} (100%) rename packages/cli/genaisrc/{system.agent_interpreter.genai.mjs => system.agent_interpreter.genai.mts} (100%) rename packages/cli/genaisrc/{system.agent_planner.genai.mjs => system.agent_planner.genai.mts} (100%) rename packages/cli/genaisrc/{system.agent_user_input.genai.mjs => system.agent_user_input.genai.mts} (100%) rename packages/cli/genaisrc/{system.agent_video.genai.mjs => system.agent_video.genai.mts} (100%) rename packages/cli/genaisrc/{system.agent_web.genai.mjs => system.agent_web.genai.mts} (100%) rename packages/cli/genaisrc/{system.annotations.genai.mjs => system.annotations.genai.mts} (100%) rename packages/cli/genaisrc/{system.assistant.genai.mjs => system.assistant.genai.mts} (100%) rename packages/cli/genaisrc/{system.changelog.genai.mjs => system.changelog.genai.mts} (100%) rename packages/cli/genaisrc/{system.diagrams.genai.mjs => system.diagrams.genai.mts} (100%) rename packages/cli/genaisrc/{system.diff.genai.mjs => system.diff.genai.mts} (100%) rename packages/cli/genaisrc/{system.english.genai.mjs => system.english.genai.mts} (100%) rename packages/cli/genaisrc/{system.explanations.genai.mjs => system.explanations.genai.mts} (100%) rename packages/cli/genaisrc/{system.files.genai.mjs => system.files.genai.mts} (100%) rename packages/cli/genaisrc/{system.files_schema.genai.mjs => system.files_schema.genai.mts} (100%) rename packages/cli/genaisrc/{system.fs_ask_file.genai.mjs => system.fs_ask_file.genai.mts} (100%) rename packages/cli/genaisrc/{system.fs_data_query.genai.mjs => system.fs_data_query.genai.mts} (100%) rename packages/cli/genaisrc/{system.fs_diff_files.genai.mjs => system.fs_diff_files.genai.mts} (100%) rename packages/cli/genaisrc/{system.fs_find_files.genai.mjs => system.fs_find_files.genai.mts} (100%) rename packages/cli/genaisrc/{system.fs_read_file.genai.mjs => system.fs_read_file.genai.mts} (100%) rename packages/cli/genaisrc/{system.genai.mjs => system.genai.mts} (100%) rename packages/cli/genaisrc/{system.git.genai.mjs => system.git.genai.mts} (100%) rename packages/cli/genaisrc/{system.git_diff.genai.mjs => system.git_diff.genai.mts} (100%) rename packages/cli/genaisrc/{system.git_info.genai.mjs => system.git_info.genai.mts} (100%) rename packages/cli/genaisrc/{system.github_actions.genai.mjs => system.github_actions.genai.mts} (100%) rename packages/cli/genaisrc/{system.github_files.genai.mjs => system.github_files.genai.mts} (100%) rename packages/cli/genaisrc/{system.github_info.genai.mjs => system.github_info.genai.mts} (100%) rename packages/cli/genaisrc/{system.github_issues.genai.mjs => system.github_issues.genai.mts} (100%) rename packages/cli/genaisrc/{system.github_pulls.genai.mjs => system.github_pulls.genai.mts} (100%) rename packages/cli/genaisrc/{system.math.genai.mjs => system.math.genai.mts} (100%) rename packages/cli/genaisrc/{system.md_find_files.genai.mjs => system.md_find_files.genai.mts} (100%) rename packages/cli/genaisrc/{system.md_frontmatter.genai.mjs => system.md_frontmatter.genai.mts} (100%) rename packages/cli/genaisrc/{system.meta_prompt.genai.mjs => system.meta_prompt.genai.mts} (100%) rename packages/cli/genaisrc/{system.meta_schema.genai.mjs => system.meta_schema.genai.mts} (100%) rename packages/cli/genaisrc/{system.node_info.genai.mjs => system.node_info.genai.mts} (100%) rename packages/cli/genaisrc/{system.node_test.genai.mjs => system.node_test.genai.mts} (100%) rename packages/cli/genaisrc/{system.output_ini.genai.mjs => system.output_ini.genai.mts} (100%) rename packages/cli/genaisrc/{system.output_json.genai.mjs => system.output_json.genai.mts} (100%) rename packages/cli/genaisrc/{system.output_markdown.genai.mjs => system.output_markdown.genai.mts} (100%) rename packages/cli/genaisrc/{system.output_plaintext.genai.mjs => system.output_plaintext.genai.mts} (100%) rename packages/cli/genaisrc/{system.output_yaml.genai.mjs => system.output_yaml.genai.mts} (100%) rename packages/cli/genaisrc/{system.planner.genai.mjs => system.planner.genai.mts} (100%) rename packages/cli/genaisrc/{system.python.genai.mjs => system.python.genai.mts} (100%) rename packages/cli/genaisrc/{system.python_code_interpreter.genai.mjs => system.python_code_interpreter.genai.mts} (100%) rename packages/cli/genaisrc/{system.python_types.genai.mjs => system.python_types.genai.mts} (100%) rename packages/cli/genaisrc/{system.retrieval_fuzz_search.genai.mjs => system.retrieval_fuzz_search.genai.mts} (100%) rename packages/cli/genaisrc/{system.retrieval_vector_search.genai.mjs => system.retrieval_vector_search.genai.mts} (100%) rename packages/cli/genaisrc/{system.retrieval_web_search.genai.mjs => system.retrieval_web_search.genai.mts} (100%) rename packages/cli/genaisrc/{system.safety_canary_word.genai.mjs => system.safety_canary_word.genai.mts} (100%) rename packages/cli/genaisrc/{system.safety_harmful_content.genai.mjs => system.safety_harmful_content.genai.mts} (100%) rename packages/cli/genaisrc/{system.safety_jailbreak.genai.mjs => system.safety_jailbreak.genai.mts} (100%) rename packages/cli/genaisrc/{system.safety_protected_material.genai.mjs => system.safety_protected_material.genai.mts} (100%) rename packages/cli/genaisrc/{system.safety_ungrounded_content_summarization.genai.mjs => system.safety_ungrounded_content_summarization.genai.mts} (100%) rename packages/cli/genaisrc/{system.safety_validate_harmful_content.genai.mjs => system.safety_validate_harmful_content.genai.mts} (100%) rename packages/cli/genaisrc/{system.schema.genai.mjs => system.schema.genai.mts} (100%) rename packages/cli/genaisrc/{system.tasks.genai.mjs => system.tasks.genai.mts} (100%) rename packages/cli/genaisrc/{system.technical.genai.mjs => system.technical.genai.mts} (100%) rename packages/cli/genaisrc/{system.tool_calls.genai.mjs => system.tool_calls.genai.mts} (100%) rename packages/cli/genaisrc/{system.tools.genai.mjs => system.tools.genai.mts} (100%) rename packages/cli/genaisrc/{system.transcribe.genai.mjs => system.transcribe.genai.mts} (100%) rename packages/cli/genaisrc/{system.typescript.genai.mjs => system.typescript.genai.mts} (100%) rename packages/cli/genaisrc/{system.user_input.genai.mjs => system.user_input.genai.mts} (100%) rename packages/cli/genaisrc/{system.video.genai.mjs => system.video.genai.mts} (100%) rename packages/cli/genaisrc/{system.vision_ask_images.genai.mjs => system.vision_ask_images.genai.mts} (100%) rename packages/cli/genaisrc/{system.zero_shot_cot.genai.mjs => system.zero_shot_cot.genai.mts} (100%) diff --git a/packages/cli/genaisrc/system.agent_data.genai.mjs b/packages/cli/genaisrc/system.agent_data.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.agent_data.genai.mjs rename to packages/cli/genaisrc/system.agent_data.genai.mts diff --git a/packages/cli/genaisrc/system.agent_docs.genai.mjs b/packages/cli/genaisrc/system.agent_docs.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.agent_docs.genai.mjs rename to packages/cli/genaisrc/system.agent_docs.genai.mts diff --git a/packages/cli/genaisrc/system.agent_fs.genai.mjs b/packages/cli/genaisrc/system.agent_fs.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.agent_fs.genai.mjs rename to packages/cli/genaisrc/system.agent_fs.genai.mts diff --git a/packages/cli/genaisrc/system.agent_git.genai.mjs b/packages/cli/genaisrc/system.agent_git.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.agent_git.genai.mjs rename to packages/cli/genaisrc/system.agent_git.genai.mts diff --git a/packages/cli/genaisrc/system.agent_github.genai.mjs b/packages/cli/genaisrc/system.agent_github.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.agent_github.genai.mjs rename to packages/cli/genaisrc/system.agent_github.genai.mts diff --git a/packages/cli/genaisrc/system.agent_interpreter.genai.mjs b/packages/cli/genaisrc/system.agent_interpreter.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.agent_interpreter.genai.mjs rename to packages/cli/genaisrc/system.agent_interpreter.genai.mts diff --git a/packages/cli/genaisrc/system.agent_planner.genai.mjs b/packages/cli/genaisrc/system.agent_planner.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.agent_planner.genai.mjs rename to packages/cli/genaisrc/system.agent_planner.genai.mts diff --git a/packages/cli/genaisrc/system.agent_user_input.genai.mjs b/packages/cli/genaisrc/system.agent_user_input.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.agent_user_input.genai.mjs rename to packages/cli/genaisrc/system.agent_user_input.genai.mts diff --git a/packages/cli/genaisrc/system.agent_video.genai.mjs b/packages/cli/genaisrc/system.agent_video.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.agent_video.genai.mjs rename to packages/cli/genaisrc/system.agent_video.genai.mts diff --git a/packages/cli/genaisrc/system.agent_web.genai.mjs b/packages/cli/genaisrc/system.agent_web.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.agent_web.genai.mjs rename to packages/cli/genaisrc/system.agent_web.genai.mts diff --git a/packages/cli/genaisrc/system.annotations.genai.mjs b/packages/cli/genaisrc/system.annotations.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.annotations.genai.mjs rename to packages/cli/genaisrc/system.annotations.genai.mts diff --git a/packages/cli/genaisrc/system.assistant.genai.mjs b/packages/cli/genaisrc/system.assistant.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.assistant.genai.mjs rename to packages/cli/genaisrc/system.assistant.genai.mts diff --git a/packages/cli/genaisrc/system.changelog.genai.mjs b/packages/cli/genaisrc/system.changelog.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.changelog.genai.mjs rename to packages/cli/genaisrc/system.changelog.genai.mts diff --git a/packages/cli/genaisrc/system.diagrams.genai.mjs b/packages/cli/genaisrc/system.diagrams.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.diagrams.genai.mjs rename to packages/cli/genaisrc/system.diagrams.genai.mts diff --git a/packages/cli/genaisrc/system.diff.genai.mjs b/packages/cli/genaisrc/system.diff.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.diff.genai.mjs rename to packages/cli/genaisrc/system.diff.genai.mts diff --git a/packages/cli/genaisrc/system.english.genai.mjs b/packages/cli/genaisrc/system.english.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.english.genai.mjs rename to packages/cli/genaisrc/system.english.genai.mts diff --git a/packages/cli/genaisrc/system.explanations.genai.mjs b/packages/cli/genaisrc/system.explanations.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.explanations.genai.mjs rename to packages/cli/genaisrc/system.explanations.genai.mts diff --git a/packages/cli/genaisrc/system.files.genai.mjs b/packages/cli/genaisrc/system.files.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.files.genai.mjs rename to packages/cli/genaisrc/system.files.genai.mts diff --git a/packages/cli/genaisrc/system.files_schema.genai.mjs b/packages/cli/genaisrc/system.files_schema.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.files_schema.genai.mjs rename to packages/cli/genaisrc/system.files_schema.genai.mts diff --git a/packages/cli/genaisrc/system.fs_ask_file.genai.mjs b/packages/cli/genaisrc/system.fs_ask_file.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.fs_ask_file.genai.mjs rename to packages/cli/genaisrc/system.fs_ask_file.genai.mts diff --git a/packages/cli/genaisrc/system.fs_data_query.genai.mjs b/packages/cli/genaisrc/system.fs_data_query.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.fs_data_query.genai.mjs rename to packages/cli/genaisrc/system.fs_data_query.genai.mts diff --git a/packages/cli/genaisrc/system.fs_diff_files.genai.mjs b/packages/cli/genaisrc/system.fs_diff_files.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.fs_diff_files.genai.mjs rename to packages/cli/genaisrc/system.fs_diff_files.genai.mts diff --git a/packages/cli/genaisrc/system.fs_find_files.genai.mjs b/packages/cli/genaisrc/system.fs_find_files.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.fs_find_files.genai.mjs rename to packages/cli/genaisrc/system.fs_find_files.genai.mts diff --git a/packages/cli/genaisrc/system.fs_read_file.genai.mjs b/packages/cli/genaisrc/system.fs_read_file.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.fs_read_file.genai.mjs rename to packages/cli/genaisrc/system.fs_read_file.genai.mts diff --git a/packages/cli/genaisrc/system.genai.mjs b/packages/cli/genaisrc/system.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.genai.mjs rename to packages/cli/genaisrc/system.genai.mts diff --git a/packages/cli/genaisrc/system.git.genai.mjs b/packages/cli/genaisrc/system.git.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.git.genai.mjs rename to packages/cli/genaisrc/system.git.genai.mts diff --git a/packages/cli/genaisrc/system.git_diff.genai.mjs b/packages/cli/genaisrc/system.git_diff.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.git_diff.genai.mjs rename to packages/cli/genaisrc/system.git_diff.genai.mts diff --git a/packages/cli/genaisrc/system.git_info.genai.mjs b/packages/cli/genaisrc/system.git_info.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.git_info.genai.mjs rename to packages/cli/genaisrc/system.git_info.genai.mts diff --git a/packages/cli/genaisrc/system.github_actions.genai.mjs b/packages/cli/genaisrc/system.github_actions.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.github_actions.genai.mjs rename to packages/cli/genaisrc/system.github_actions.genai.mts diff --git a/packages/cli/genaisrc/system.github_files.genai.mjs b/packages/cli/genaisrc/system.github_files.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.github_files.genai.mjs rename to packages/cli/genaisrc/system.github_files.genai.mts diff --git a/packages/cli/genaisrc/system.github_info.genai.mjs b/packages/cli/genaisrc/system.github_info.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.github_info.genai.mjs rename to packages/cli/genaisrc/system.github_info.genai.mts diff --git a/packages/cli/genaisrc/system.github_issues.genai.mjs b/packages/cli/genaisrc/system.github_issues.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.github_issues.genai.mjs rename to packages/cli/genaisrc/system.github_issues.genai.mts diff --git a/packages/cli/genaisrc/system.github_pulls.genai.mjs b/packages/cli/genaisrc/system.github_pulls.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.github_pulls.genai.mjs rename to packages/cli/genaisrc/system.github_pulls.genai.mts diff --git a/packages/cli/genaisrc/system.math.genai.mjs b/packages/cli/genaisrc/system.math.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.math.genai.mjs rename to packages/cli/genaisrc/system.math.genai.mts diff --git a/packages/cli/genaisrc/system.md_find_files.genai.mjs b/packages/cli/genaisrc/system.md_find_files.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.md_find_files.genai.mjs rename to packages/cli/genaisrc/system.md_find_files.genai.mts diff --git a/packages/cli/genaisrc/system.md_frontmatter.genai.mjs b/packages/cli/genaisrc/system.md_frontmatter.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.md_frontmatter.genai.mjs rename to packages/cli/genaisrc/system.md_frontmatter.genai.mts diff --git a/packages/cli/genaisrc/system.meta_prompt.genai.mjs b/packages/cli/genaisrc/system.meta_prompt.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.meta_prompt.genai.mjs rename to packages/cli/genaisrc/system.meta_prompt.genai.mts diff --git a/packages/cli/genaisrc/system.meta_schema.genai.mjs b/packages/cli/genaisrc/system.meta_schema.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.meta_schema.genai.mjs rename to packages/cli/genaisrc/system.meta_schema.genai.mts diff --git a/packages/cli/genaisrc/system.node_info.genai.mjs b/packages/cli/genaisrc/system.node_info.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.node_info.genai.mjs rename to packages/cli/genaisrc/system.node_info.genai.mts diff --git a/packages/cli/genaisrc/system.node_test.genai.mjs b/packages/cli/genaisrc/system.node_test.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.node_test.genai.mjs rename to packages/cli/genaisrc/system.node_test.genai.mts diff --git a/packages/cli/genaisrc/system.output_ini.genai.mjs b/packages/cli/genaisrc/system.output_ini.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.output_ini.genai.mjs rename to packages/cli/genaisrc/system.output_ini.genai.mts diff --git a/packages/cli/genaisrc/system.output_json.genai.mjs b/packages/cli/genaisrc/system.output_json.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.output_json.genai.mjs rename to packages/cli/genaisrc/system.output_json.genai.mts diff --git a/packages/cli/genaisrc/system.output_markdown.genai.mjs b/packages/cli/genaisrc/system.output_markdown.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.output_markdown.genai.mjs rename to packages/cli/genaisrc/system.output_markdown.genai.mts diff --git a/packages/cli/genaisrc/system.output_plaintext.genai.mjs b/packages/cli/genaisrc/system.output_plaintext.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.output_plaintext.genai.mjs rename to packages/cli/genaisrc/system.output_plaintext.genai.mts diff --git a/packages/cli/genaisrc/system.output_yaml.genai.mjs b/packages/cli/genaisrc/system.output_yaml.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.output_yaml.genai.mjs rename to packages/cli/genaisrc/system.output_yaml.genai.mts diff --git a/packages/cli/genaisrc/system.planner.genai.mjs b/packages/cli/genaisrc/system.planner.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.planner.genai.mjs rename to packages/cli/genaisrc/system.planner.genai.mts diff --git a/packages/cli/genaisrc/system.python.genai.mjs b/packages/cli/genaisrc/system.python.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.python.genai.mjs rename to packages/cli/genaisrc/system.python.genai.mts diff --git a/packages/cli/genaisrc/system.python_code_interpreter.genai.mjs b/packages/cli/genaisrc/system.python_code_interpreter.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.python_code_interpreter.genai.mjs rename to packages/cli/genaisrc/system.python_code_interpreter.genai.mts diff --git a/packages/cli/genaisrc/system.python_types.genai.mjs b/packages/cli/genaisrc/system.python_types.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.python_types.genai.mjs rename to packages/cli/genaisrc/system.python_types.genai.mts diff --git a/packages/cli/genaisrc/system.retrieval_fuzz_search.genai.mjs b/packages/cli/genaisrc/system.retrieval_fuzz_search.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.retrieval_fuzz_search.genai.mjs rename to packages/cli/genaisrc/system.retrieval_fuzz_search.genai.mts diff --git a/packages/cli/genaisrc/system.retrieval_vector_search.genai.mjs b/packages/cli/genaisrc/system.retrieval_vector_search.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.retrieval_vector_search.genai.mjs rename to packages/cli/genaisrc/system.retrieval_vector_search.genai.mts diff --git a/packages/cli/genaisrc/system.retrieval_web_search.genai.mjs b/packages/cli/genaisrc/system.retrieval_web_search.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.retrieval_web_search.genai.mjs rename to packages/cli/genaisrc/system.retrieval_web_search.genai.mts diff --git a/packages/cli/genaisrc/system.safety_canary_word.genai.mjs b/packages/cli/genaisrc/system.safety_canary_word.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.safety_canary_word.genai.mjs rename to packages/cli/genaisrc/system.safety_canary_word.genai.mts diff --git a/packages/cli/genaisrc/system.safety_harmful_content.genai.mjs b/packages/cli/genaisrc/system.safety_harmful_content.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.safety_harmful_content.genai.mjs rename to packages/cli/genaisrc/system.safety_harmful_content.genai.mts diff --git a/packages/cli/genaisrc/system.safety_jailbreak.genai.mjs b/packages/cli/genaisrc/system.safety_jailbreak.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.safety_jailbreak.genai.mjs rename to packages/cli/genaisrc/system.safety_jailbreak.genai.mts diff --git a/packages/cli/genaisrc/system.safety_protected_material.genai.mjs b/packages/cli/genaisrc/system.safety_protected_material.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.safety_protected_material.genai.mjs rename to packages/cli/genaisrc/system.safety_protected_material.genai.mts diff --git a/packages/cli/genaisrc/system.safety_ungrounded_content_summarization.genai.mjs b/packages/cli/genaisrc/system.safety_ungrounded_content_summarization.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.safety_ungrounded_content_summarization.genai.mjs rename to packages/cli/genaisrc/system.safety_ungrounded_content_summarization.genai.mts diff --git a/packages/cli/genaisrc/system.safety_validate_harmful_content.genai.mjs b/packages/cli/genaisrc/system.safety_validate_harmful_content.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.safety_validate_harmful_content.genai.mjs rename to packages/cli/genaisrc/system.safety_validate_harmful_content.genai.mts diff --git a/packages/cli/genaisrc/system.schema.genai.mjs b/packages/cli/genaisrc/system.schema.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.schema.genai.mjs rename to packages/cli/genaisrc/system.schema.genai.mts diff --git a/packages/cli/genaisrc/system.tasks.genai.mjs b/packages/cli/genaisrc/system.tasks.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.tasks.genai.mjs rename to packages/cli/genaisrc/system.tasks.genai.mts diff --git a/packages/cli/genaisrc/system.technical.genai.mjs b/packages/cli/genaisrc/system.technical.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.technical.genai.mjs rename to packages/cli/genaisrc/system.technical.genai.mts diff --git a/packages/cli/genaisrc/system.tool_calls.genai.mjs b/packages/cli/genaisrc/system.tool_calls.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.tool_calls.genai.mjs rename to packages/cli/genaisrc/system.tool_calls.genai.mts diff --git a/packages/cli/genaisrc/system.tools.genai.mjs b/packages/cli/genaisrc/system.tools.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.tools.genai.mjs rename to packages/cli/genaisrc/system.tools.genai.mts diff --git a/packages/cli/genaisrc/system.transcribe.genai.mjs b/packages/cli/genaisrc/system.transcribe.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.transcribe.genai.mjs rename to packages/cli/genaisrc/system.transcribe.genai.mts diff --git a/packages/cli/genaisrc/system.typescript.genai.mjs b/packages/cli/genaisrc/system.typescript.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.typescript.genai.mjs rename to packages/cli/genaisrc/system.typescript.genai.mts diff --git a/packages/cli/genaisrc/system.user_input.genai.mjs b/packages/cli/genaisrc/system.user_input.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.user_input.genai.mjs rename to packages/cli/genaisrc/system.user_input.genai.mts diff --git a/packages/cli/genaisrc/system.video.genai.mjs b/packages/cli/genaisrc/system.video.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.video.genai.mjs rename to packages/cli/genaisrc/system.video.genai.mts diff --git a/packages/cli/genaisrc/system.vision_ask_images.genai.mjs b/packages/cli/genaisrc/system.vision_ask_images.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.vision_ask_images.genai.mjs rename to packages/cli/genaisrc/system.vision_ask_images.genai.mts diff --git a/packages/cli/genaisrc/system.zero_shot_cot.genai.mjs b/packages/cli/genaisrc/system.zero_shot_cot.genai.mts similarity index 100% rename from packages/cli/genaisrc/system.zero_shot_cot.genai.mjs rename to packages/cli/genaisrc/system.zero_shot_cot.genai.mts diff --git a/packages/cli/package.json b/packages/cli/package.json index 82f0b9bedd..c68f1a22cc 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -26,7 +26,7 @@ "built/codicon.css", "built/codicon.ttf", "built/favicon.svg", - "genaisrc/*.genai.mjs" + "genaisrc/*.genai.mts" ], "publisher": "Microsoft", "repository": { diff --git a/packages/core/bundleprompts.js b/packages/core/bundleprompts.js index d422afc61d..9324f8adb8 100644 --- a/packages/core/bundleprompts.js +++ b/packages/core/bundleprompts.js @@ -11,10 +11,10 @@ async function main() { const promptMap = {} const prompts = readdirSync(dir) for (const prompt of prompts) { - if (!/\.genai\.m?js$/.test(prompt)) continue + if (!/\.genai\.m?ts$/.test(prompt)) continue const text = readFileSync(`${dir}/${prompt}`, "utf-8") if (/^system\./.test(prompt)) { - const id = prompt.replace(/\.genai\.m?js$/i, "") + const id = prompt.replace(/\.genai\.m?ts$/i, "") if (promptMap[id]) throw new Error(`duplicate prompt ${id}`) promptMap[id] = text } diff --git a/packages/core/src/parser.ts b/packages/core/src/parser.ts index 5d214154a8..50be91a323 100644 --- a/packages/core/src/parser.ts +++ b/packages/core/src/parser.ts @@ -1,12 +1,15 @@ // Importing utility functions and constants from other files import { logVerbose, strcmp } from "./util" // String comparison function -import { defaultPrompts } from "./default_prompts" // Default prompt data import { parsePromptScript } from "./template" // Function to parse scripts import { readText } from "./fs" // Function to read text from a file -import { BUILTIN_PREFIX } from "./constants" // Constants for MIME types and prefixes +import { GENAI_ANYTS_REGEX } from "./constants" // Constants for MIME types and prefixes import { Project } from "./server/messages" import { resolveSystems } from "./systems" import { resolveScriptParametersSchema } from "./vars" +import { dirname, join } from "node:path" +import { fileURLToPath } from "node:url" +import { readdir } from "node:fs/promises" +import { uniq } from "es-toolkit" /** * Converts a string to a character position represented as [row, column]. @@ -30,27 +33,25 @@ export async function parseProject(options: { scriptFiles: string[] }) { const prj: Project = { scripts: [], diagnostics: [], - } // Initialize a new project instance - - // Clone the default prompts - const deflPr: Record = Object.assign({}, defaultPrompts) - + } + const genaisrcDir = join( + dirname(dirname(__filename ?? fileURLToPath(import.meta.url))), + "genaisrc" + ) // ignore esbuild warning + const systemPrompts = await ( + await readdir(genaisrcDir) + ).filter((f) => GENAI_ANYTS_REGEX.test(f)) + console.log(systemPrompts) // Process each script file, parsing its content and updating the project - for (const f of scriptFiles) { - const tmpl = await parsePromptScript(f, await readText(f), prj) + for (const f of uniq([...scriptFiles, ...systemPrompts])) { + const tmpl = await parsePromptScript(f, await readText(f)) if (!tmpl) { logVerbose(`skipping invalid script file: ${f}`) continue } // Skip if no template is parsed - delete deflPr[tmpl.id] // Remove the parsed template from defaults prj.scripts.push(tmpl) // Add to project templates } - // Add remaining default prompts to the project - for (const [id, v] of Object.entries(deflPr)) { - prj.scripts.push(await parsePromptScript(BUILTIN_PREFIX + id, v, prj)) - } - /** * Generates a sorting key for a PromptScript * Determines priority based on whether a script is unlisted or has a filename. diff --git a/packages/core/src/template.ts b/packages/core/src/template.ts index 155f9cc11e..986719803e 100644 --- a/packages/core/src/template.ts +++ b/packages/core/src/template.ts @@ -4,14 +4,13 @@ * data types and formats. */ -import { Project } from "./server/messages" import { BUILTIN_PREFIX, GENAI_ANY_REGEX, PROMPTY_REGEX } from "./constants" -import { errorMessage } from "./error" import { host } from "./host" import { JSON5TryParse } from "./json5" import { humanize } from "inflection" -import { validateSchema } from "./schema" import { promptyParse, promptyToGenAIScript } from "./prompty" +import { fileURLToPath } from "node:url" +import { dirname, join } from "node:path" /** * Extracts a template ID from the given filename by removing specific extensions @@ -76,11 +75,7 @@ function parsePromptScriptTools(jsSource: string) { * @param finalizer - Finalizer function to perform additional validation. * @returns The parsed PromptScript or undefined in case of errors. */ -async function parsePromptTemplateCore( - filename: string, - content: string, - prj: Project -) { +async function parsePromptTemplateCore(filename: string, content: string) { const r = { id: templateIdFromFileName(filename), title: humanize( @@ -88,8 +83,17 @@ async function parsePromptTemplateCore( ), jsSource: content, } as PromptScript - if (!filename.startsWith(BUILTIN_PREFIX)) + if (filename.startsWith(BUILTIN_PREFIX)) { + const genaisrcDir = join( + dirname(dirname(__filename ?? fileURLToPath(import.meta.url))), + "genaisrc" + ) // ignore esbuild warning + const id = filename.slice(BUILTIN_PREFIX.length) + r.filename = host.path.join(genaisrcDir, id) + console.log(r) + } else { r.filename = host.path.resolve(filename) + } const meta = parsePromptScriptMeta(r.jsSource) Object.assign(r, meta) return r @@ -103,11 +107,7 @@ async function parsePromptTemplateCore( * @param prj - The Project instance containing diagnostics. * @returns The parsed PromptScript or undefined in case of errors. */ -export async function parsePromptScript( - filename: string, - content: string, - prj: Project -) { +export async function parsePromptScript(filename: string, content: string) { let text: string = undefined if (PROMPTY_REGEX.test(filename)) { text = content @@ -115,7 +115,7 @@ export async function parsePromptScript( content = await promptyToGenAIScript(doc) } - const script = await parsePromptTemplateCore(filename, content, prj) + const script = await parsePromptTemplateCore(filename, content) if (text) script.text = text return script } From ead7387fd4e4d0689c64fdacb8c72868fe44ecc1 Mon Sep 17 00:00:00 2001 From: Peli de Halleux Date: Sat, 22 Feb 2025 18:11:25 +0000 Subject: [PATCH 03/12] log prompt files --- packages/core/src/parser.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/core/src/parser.ts b/packages/core/src/parser.ts index 50be91a323..01552a6dfe 100644 --- a/packages/core/src/parser.ts +++ b/packages/core/src/parser.ts @@ -41,9 +41,9 @@ export async function parseProject(options: { scriptFiles: string[] }) { const systemPrompts = await ( await readdir(genaisrcDir) ).filter((f) => GENAI_ANYTS_REGEX.test(f)) - console.log(systemPrompts) + const promptFiles = uniq([...scriptFiles, ...systemPrompts]) // Process each script file, parsing its content and updating the project - for (const f of uniq([...scriptFiles, ...systemPrompts])) { + for (const f of promptFiles) { const tmpl = await parsePromptScript(f, await readText(f)) if (!tmpl) { logVerbose(`skipping invalid script file: ${f}`) From 55427f14b826d036c9c1e649e40efc84483e6d4c Mon Sep 17 00:00:00 2001 From: Peli de Halleux Date: Sat, 22 Feb 2025 18:44:01 +0000 Subject: [PATCH 04/12] update gitignore, don't destroy --- packages/core/src/scripts.ts | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/packages/core/src/scripts.ts b/packages/core/src/scripts.ts index b9dab61354..cad00426d8 100644 --- a/packages/core/src/scripts.ts +++ b/packages/core/src/scripts.ts @@ -33,14 +33,13 @@ export async function fixPromptDefinitions(project: Project) { const { dirname, ts, js } = folder { const fn = host.path.join(dirname, ".gitignore") - const current = await tryReadText(fn) - const content = dedent`# auto-generated - genaiscript.d.ts + const current = (await tryReadText(fn)) || "" + const content = dedent`genaiscript.d.ts tsconfig.json jsconfig.json` - if (current !== content) { + if (current?.includes(content)) { logVerbose(`updating ${fn}`) - await writeText(fn, content) + await writeText(fn, current + "\n#GenAIScript\n" + content) } } for (let [defName, defContent] of Object.entries(promptDefinitions)) { From c73b820bbbe9a61ae9d1f78d76cd19e59161e390 Mon Sep 17 00:00:00 2001 From: Peli de Halleux Date: Sat, 22 Feb 2025 18:49:21 +0000 Subject: [PATCH 05/12] parse/update --- packages/core/src/parser.ts | 27 +++++++++++++++++++++------ packages/core/src/scripts.ts | 2 +- 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/packages/core/src/parser.ts b/packages/core/src/parser.ts index 01552a6dfe..24dc113dd4 100644 --- a/packages/core/src/parser.ts +++ b/packages/core/src/parser.ts @@ -1,15 +1,14 @@ // Importing utility functions and constants from other files -import { logVerbose, strcmp } from "./util" // String comparison function +import { logWarn, strcmp } from "./util" // String comparison function import { parsePromptScript } from "./template" // Function to parse scripts import { readText } from "./fs" // Function to read text from a file -import { GENAI_ANYTS_REGEX } from "./constants" // Constants for MIME types and prefixes +import { BUILTIN_PREFIX, GENAI_ANYTS_REGEX } from "./constants" // Constants for MIME types and prefixes import { Project } from "./server/messages" import { resolveSystems } from "./systems" import { resolveScriptParametersSchema } from "./vars" import { dirname, join } from "node:path" import { fileURLToPath } from "node:url" import { readdir } from "node:fs/promises" -import { uniq } from "es-toolkit" /** * Converts a string to a character position represented as [row, column]. @@ -41,15 +40,31 @@ export async function parseProject(options: { scriptFiles: string[] }) { const systemPrompts = await ( await readdir(genaisrcDir) ).filter((f) => GENAI_ANYTS_REGEX.test(f)) - const promptFiles = uniq([...scriptFiles, ...systemPrompts]) // Process each script file, parsing its content and updating the project - for (const f of promptFiles) { + const ids = new Set() + for (const f of scriptFiles) { const tmpl = await parsePromptScript(f, await readText(f)) if (!tmpl) { - logVerbose(`skipping invalid script file: ${f}`) + logWarn(`skipping invalid script ${f}`) continue } // Skip if no template is parsed prj.scripts.push(tmpl) // Add to project templates + ids.add(tmpl.id) + } + for (const f of systemPrompts) { + const tmpl = await parsePromptScript( + join(genaisrcDir, f), + await readText(f) + ) + if (!tmpl) { + logWarn(`skipping invalid system scruipt: ${f}`) + continue + } // Skip if no template is parsed + if (!ids.has(tmpl.id)) { + tmpl.filename = BUILTIN_PREFIX + f + prj.scripts.push(tmpl) // Add to project templates + ids.add(tmpl.id) + } } /** diff --git a/packages/core/src/scripts.ts b/packages/core/src/scripts.ts index cad00426d8..54b2760d6f 100644 --- a/packages/core/src/scripts.ts +++ b/packages/core/src/scripts.ts @@ -37,7 +37,7 @@ export async function fixPromptDefinitions(project: Project) { const content = dedent`genaiscript.d.ts tsconfig.json jsconfig.json` - if (current?.includes(content)) { + if (!current.includes(content)) { logVerbose(`updating ${fn}`) await writeText(fn, current + "\n#GenAIScript\n" + content) } From 8853f9d0f39927da7a7b48b085b55407a1d4b750 Mon Sep 17 00:00:00 2001 From: Peli de Halleux Date: Sat, 22 Feb 2025 18:53:14 +0000 Subject: [PATCH 06/12] fix typing errors in system scripts --- packages/cli/genaisrc/system.fs_find_files.genai.mts | 2 +- packages/cli/genaisrc/system.md_find_files.genai.mts | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/cli/genaisrc/system.fs_find_files.genai.mts b/packages/cli/genaisrc/system.fs_find_files.genai.mts index 072c780eb2..77daa91315 100644 --- a/packages/cli/genaisrc/system.fs_find_files.genai.mts +++ b/packages/cli/genaisrc/system.fs_find_files.genai.mts @@ -60,7 +60,7 @@ defTool( if (frontmatter) { const files = [] for (const { filename } of res) { - const file = { + const file: WorkspaceFile & { frontmatter?: string } = { filename, } files.push(file) diff --git a/packages/cli/genaisrc/system.md_find_files.genai.mts b/packages/cli/genaisrc/system.md_find_files.genai.mts index 62991c4f15..f2b60e1600 100644 --- a/packages/cli/genaisrc/system.md_find_files.genai.mts +++ b/packages/cli/genaisrc/system.md_find_files.genai.mts @@ -36,7 +36,11 @@ defTool( if (!matches?.length) return "No files found." const q = await host.promiseQueue(5) const files = await q.mapAll(matches, async ({ filename, content }) => { - const file = { + const file: WorkspaceFile & { + title?: string + description?: string + summary?: string + } = { filename, } try { From 8feba3a3d92efb34355731bbbc0cf80a42a0ae9d Mon Sep 17 00:00:00 2001 From: Peli de Halleux Date: Sat, 22 Feb 2025 18:57:22 +0000 Subject: [PATCH 07/12] updated test:system --- docs/src/content/docs/reference/scripts/system.mdx | 8 ++++++-- package.json | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/docs/src/content/docs/reference/scripts/system.mdx b/docs/src/content/docs/reference/scripts/system.mdx index 30b4303f59..39d3209a25 100644 --- a/docs/src/content/docs/reference/scripts/system.mdx +++ b/docs/src/content/docs/reference/scripts/system.mdx @@ -1090,7 +1090,7 @@ defTool( if (frontmatter) { const files = [] for (const { filename } of res) { - const file = { + const file: WorkspaceFile & { frontmatter?: string } = { filename, } files.push(file) @@ -2108,7 +2108,11 @@ defTool( if (!matches?.length) return "No files found." const q = await host.promiseQueue(5) const files = await q.mapAll(matches, async ({ filename, content }) => { - const file = { + const file: WorkspaceFile & { + title?: string + description?: string + summary?: string + } = { filename, } try { diff --git a/package.json b/package.json index 665577e99e..213436d718 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,7 @@ "retrieval:search": "node packages/cli/built/genaiscript.cjs retrieval search lorem \"packages/sample/src/rag/*\"", "retrieval:codequery": "node packages/cli/built/genaiscript.cjs code query packages/core/src/progress.ts \"(interface_declaration) @i\"", "test:tokens": "node packages/cli/built/genaiscript.cjs retrieval tokens packages/sample/src/rag/*", - "test:system": "cd packages/core && node ../cli/built/genaiscript.cjs scripts compile", + "test:system": "cd packages/cli && node ./built/genaiscript.cjs scripts compile", "test:compile": "node packages/cli/built/genaiscript.cjs scripts compile", "test:fix": "node packages/cli/built/genaiscript.cjs scripts fix", "test:infomodel": "node packages/cli/built/genaiscript.cjs scripts model", From b67d6d12d7e23d30f759647f0ac312359018b52a Mon Sep 17 00:00:00 2001 From: Peli de Halleux Date: Sat, 22 Feb 2025 19:51:03 +0000 Subject: [PATCH 08/12] parsing system files first --- packages/core/bundleprompts.js | 6 --- packages/core/src/ast.ts | 2 + packages/core/src/constants.ts | 2 +- packages/core/src/parser.ts | 51 +++++++++++-------- packages/core/src/template.ts | 6 +-- .../vscode/src/markdowndocumentprovider.ts | 17 ------- packages/vscode/src/promptcommands.ts | 5 +- 7 files changed, 37 insertions(+), 52 deletions(-) diff --git a/packages/core/bundleprompts.js b/packages/core/bundleprompts.js index 9324f8adb8..f1a8142287 100644 --- a/packages/core/bundleprompts.js +++ b/packages/core/bundleprompts.js @@ -105,12 +105,6 @@ async function main() { console.log(`found ${functions.length} tools`) const text = `// autogenerated - node bundleprompts.mjs -export const defaultPrompts = Object.freeze>(${JSON.stringify( - promptMap, - null, - 4 - )}); - export const promptDefinitions = Object.freeze>(${JSON.stringify( promptDefs, null, diff --git a/packages/core/src/ast.ts b/packages/core/src/ast.ts index 5277da06b8..29d754c1f9 100644 --- a/packages/core/src/ast.ts +++ b/packages/core/src/ast.ts @@ -1,6 +1,7 @@ /// // Import necessary regular expressions for file type detection and host utilities import { + BUILTIN_SCRIPT_PREFIX, GENAI_ANYJS_REGEX, GENAI_ANYTS_REGEX, PROMPTY_REGEX, @@ -69,6 +70,7 @@ export function collectFolders(prj: Project) { (t) => t.filename && !PROMPTY_REGEX.test(t.filename) )) { const dirname = host.path.dirname(t.filename) // Get directory name from the filename + if ((dirname + "/").startsWith(BUILTIN_SCRIPT_PREFIX)) continue const folder = folders[dirname] || (folders[dirname] = { dirname }) folder.js = folder.js || GENAI_ANYJS_REGEX.test(t.filename) // Check for presence of JS files folder.ts = folder.ts || GENAI_ANYTS_REGEX.test(t.filename) // Check for presence of TS files diff --git a/packages/core/src/constants.ts b/packages/core/src/constants.ts index b02d2c06b7..8d77301e68 100644 --- a/packages/core/src/constants.ts +++ b/packages/core/src/constants.ts @@ -71,7 +71,7 @@ export const TRANSCRIPTION_MODEL_ID = "transcription" export const SPEECH_MODEL_ID = "speech" export const DEFAULT_FENCE_FORMAT: FenceFormat = "xml" export const DEFAULT_TEMPERATURE = 0.8 -export const BUILTIN_PREFIX = "_builtin/" +export const BUILTIN_SCRIPT_PREFIX = ".genaiscript/__system/" export const CACHE_LLMREQUEST_PREFIX = "genaiscript/cache/llm/" export const CACHE_AIREQUEST_TRACE_PREFIX = "genaiscript/cache/ai/trace/" export const CACHE_AIREQUEST_TEXT_PREFIX = "genaiscript/cache/ai/text/" diff --git a/packages/core/src/parser.ts b/packages/core/src/parser.ts index 24dc113dd4..489b836621 100644 --- a/packages/core/src/parser.ts +++ b/packages/core/src/parser.ts @@ -1,14 +1,15 @@ // Importing utility functions and constants from other files -import { logWarn, strcmp } from "./util" // String comparison function +import { logVerbose, logWarn, strcmp } from "./util" // String comparison function import { parsePromptScript } from "./template" // Function to parse scripts import { readText } from "./fs" // Function to read text from a file -import { BUILTIN_PREFIX, GENAI_ANYTS_REGEX } from "./constants" // Constants for MIME types and prefixes +import { BUILTIN_SCRIPT_PREFIX, GENAI_ANYTS_REGEX } from "./constants" // Constants for MIME types and prefixes import { Project } from "./server/messages" import { resolveSystems } from "./systems" import { resolveScriptParametersSchema } from "./vars" -import { dirname, join } from "node:path" +import { dirname, join, resolve } from "node:path" import { fileURLToPath } from "node:url" import { readdir } from "node:fs/promises" +import { uniq } from "es-toolkit" /** * Converts a string to a character position represented as [row, column]. @@ -33,38 +34,46 @@ export async function parseProject(options: { scriptFiles: string[] }) { scripts: [], diagnostics: [], } - const genaisrcDir = join( - dirname(dirname(__filename ?? fileURLToPath(import.meta.url))), - "genaisrc" + const genaisrcDir = resolve( + join( + dirname(dirname(__filename ?? fileURLToPath(import.meta.url))), + "genaisrc" + ) ) // ignore esbuild warning const systemPrompts = await ( await readdir(genaisrcDir) ).filter((f) => GENAI_ANYTS_REGEX.test(f)) // Process each script file, parsing its content and updating the project - const ids = new Set() - for (const f of scriptFiles) { - const tmpl = await parsePromptScript(f, await readText(f)) + const scripts: Record = {} + for (const fn of systemPrompts) { + const f = join(genaisrcDir, fn) + const tmpl = await parsePromptScript( + BUILTIN_SCRIPT_PREFIX + fn, + await readText(f) + ) if (!tmpl) { - logWarn(`skipping invalid script ${f}`) + logWarn(`skipping invalid system scruipt: ${fn}`) continue } // Skip if no template is parsed prj.scripts.push(tmpl) // Add to project templates - ids.add(tmpl.id) + scripts[tmpl.id] = tmpl } - for (const f of systemPrompts) { - const tmpl = await parsePromptScript( - join(genaisrcDir, f), - await readText(f) - ) + + for (const f of uniq(scriptFiles).filter( + (f) => resolve(dirname(f)) !== genaisrcDir + )) { + const tmpl = await parsePromptScript(f, await readText(f)) if (!tmpl) { - logWarn(`skipping invalid system scruipt: ${f}`) + logWarn(`skipping invalid script ${f}`) continue } // Skip if no template is parsed - if (!ids.has(tmpl.id)) { - tmpl.filename = BUILTIN_PREFIX + f - prj.scripts.push(tmpl) // Add to project templates - ids.add(tmpl.id) + if (scripts[tmpl.id]) { + logWarn(`duplicate script ${tmpl.id} (${f})`) + logVerbose(` already defined in ${scripts[tmpl.id]}`) + continue } + prj.scripts.push(tmpl) // Add t + scripts[tmpl.id] = tmpl } /** diff --git a/packages/core/src/template.ts b/packages/core/src/template.ts index 986719803e..208eb72543 100644 --- a/packages/core/src/template.ts +++ b/packages/core/src/template.ts @@ -4,7 +4,7 @@ * data types and formats. */ -import { BUILTIN_PREFIX, GENAI_ANY_REGEX, PROMPTY_REGEX } from "./constants" +import { BUILTIN_SCRIPT_PREFIX, GENAI_ANY_REGEX, PROMPTY_REGEX } from "./constants" import { host } from "./host" import { JSON5TryParse } from "./json5" import { humanize } from "inflection" @@ -83,12 +83,12 @@ async function parsePromptTemplateCore(filename: string, content: string) { ), jsSource: content, } as PromptScript - if (filename.startsWith(BUILTIN_PREFIX)) { + if (filename.startsWith(BUILTIN_SCRIPT_PREFIX)) { const genaisrcDir = join( dirname(dirname(__filename ?? fileURLToPath(import.meta.url))), "genaisrc" ) // ignore esbuild warning - const id = filename.slice(BUILTIN_PREFIX.length) + const id = filename.slice(BUILTIN_SCRIPT_PREFIX.length) r.filename = host.path.join(genaisrcDir, id) console.log(r) } else { diff --git a/packages/vscode/src/markdowndocumentprovider.ts b/packages/vscode/src/markdowndocumentprovider.ts index 1447cb40ae..c2c5a50bd6 100644 --- a/packages/vscode/src/markdowndocumentprovider.ts +++ b/packages/vscode/src/markdowndocumentprovider.ts @@ -13,12 +13,8 @@ import { TRACE_NODE_PREFIX, CACHE_LLMREQUEST_PREFIX, CACHE_AIREQUEST_TRACE_PREFIX, - BUILTIN_PREFIX, - GENAI_ANY_REGEX, CACHE_AIREQUEST_TEXT_PREFIX, - GENAI_MJS_EXT, } from "../../core/src/constants" -import { defaultPrompts } from "../../core/src/default_prompts" import { extractFenced, renderFencedVariables } from "../../core/src/fence" import { prettifyMarkdown } from "../../core/src/markdown" import { @@ -131,12 +127,6 @@ ${prettifyMarkdown(md)} .replace(/\.md$/, "") return this.previewAIRequest(sha, "text") } - if (uri.path.startsWith(BUILTIN_PREFIX)) { - const id = uri.path - .slice(BUILTIN_PREFIX.length) - .replace(GENAI_ANY_REGEX, "") - return defaultPrompts[id] ?? `No such builtin prompt: ${id}` - } return "" } @@ -207,13 +197,6 @@ export function infoUri(path: string) { return vscode.Uri.from({ scheme: SCHEME, path }) } -export function builtinPromptUri(id: string) { - return vscode.Uri.from({ - scheme: SCHEME, - path: BUILTIN_PREFIX + id + GENAI_MJS_EXT, - }) -} - export function activateMarkdownTextDocumentContentProvider( state: ExtensionState ) { diff --git a/packages/vscode/src/promptcommands.ts b/packages/vscode/src/promptcommands.ts index e5fe3137d7..69f7fd9e2b 100644 --- a/packages/vscode/src/promptcommands.ts +++ b/packages/vscode/src/promptcommands.ts @@ -1,6 +1,5 @@ import * as vscode from "vscode" import { ExtensionState } from "./state" -import { builtinPromptUri } from "./markdowndocumentprovider" import { templatesToQuickPickItems } from "./fragmentcommands" import { registerCommand } from "./commands" import { createScript } from "../../core/src/scripts" @@ -67,9 +66,7 @@ export function activatePromptCommands(state: ExtensionState) { registerCommand( "genaiscript.prompt.navigate", async (prompt: PromptScript) => { - const uri = prompt.filename - ? host.toUri(prompt.filename) - : builtinPromptUri(prompt.id) + const uri = host.toUri(prompt.filename) await vscode.window.showTextDocument(uri) } ) From 4658ea001dd079cd94f3f3d57584b8b6d9bdc5dc Mon Sep 17 00:00:00 2001 From: Peli de Halleux Date: Sat, 22 Feb 2025 19:55:12 +0000 Subject: [PATCH 09/12] updated note --- packages/core/src/parser.ts | 2 +- packages/core/src/template.ts | 18 ++++++------------ 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/packages/core/src/parser.ts b/packages/core/src/parser.ts index 489b836621..62db8dd9a1 100644 --- a/packages/core/src/parser.ts +++ b/packages/core/src/parser.ts @@ -69,7 +69,7 @@ export async function parseProject(options: { scriptFiles: string[] }) { } // Skip if no template is parsed if (scripts[tmpl.id]) { logWarn(`duplicate script ${tmpl.id} (${f})`) - logVerbose(` already defined in ${scripts[tmpl.id]}`) + logVerbose(` already defined in ${scripts[tmpl.id].filename}`) continue } prj.scripts.push(tmpl) // Add t diff --git a/packages/core/src/template.ts b/packages/core/src/template.ts index 208eb72543..b9f1c9fae1 100644 --- a/packages/core/src/template.ts +++ b/packages/core/src/template.ts @@ -4,13 +4,15 @@ * data types and formats. */ -import { BUILTIN_SCRIPT_PREFIX, GENAI_ANY_REGEX, PROMPTY_REGEX } from "./constants" +import { + BUILTIN_SCRIPT_PREFIX, + GENAI_ANY_REGEX, + PROMPTY_REGEX, +} from "./constants" import { host } from "./host" import { JSON5TryParse } from "./json5" import { humanize } from "inflection" import { promptyParse, promptyToGenAIScript } from "./prompty" -import { fileURLToPath } from "node:url" -import { dirname, join } from "node:path" /** * Extracts a template ID from the given filename by removing specific extensions @@ -83,15 +85,7 @@ async function parsePromptTemplateCore(filename: string, content: string) { ), jsSource: content, } as PromptScript - if (filename.startsWith(BUILTIN_SCRIPT_PREFIX)) { - const genaisrcDir = join( - dirname(dirname(__filename ?? fileURLToPath(import.meta.url))), - "genaisrc" - ) // ignore esbuild warning - const id = filename.slice(BUILTIN_SCRIPT_PREFIX.length) - r.filename = host.path.join(genaisrcDir, id) - console.log(r) - } else { + if (!filename.startsWith(BUILTIN_SCRIPT_PREFIX)) { r.filename = host.path.resolve(filename) } const meta = parsePromptScriptMeta(r.jsSource) From 00f3cfa19205df756a179f33b028161d9ce7baff Mon Sep 17 00:00:00 2001 From: Peli de Halleux Date: Sat, 22 Feb 2025 19:56:27 +0000 Subject: [PATCH 10/12] clean duplicates --- docs/genaisrc/{technical.genai.js => review-docs.genai.js} | 0 packages/core/src/parser.ts | 2 +- packages/sample/src/{poem.prompty => short-poem.prompty} | 0 3 files changed, 1 insertion(+), 1 deletion(-) rename docs/genaisrc/{technical.genai.js => review-docs.genai.js} (100%) rename packages/sample/src/{poem.prompty => short-poem.prompty} (100%) diff --git a/docs/genaisrc/technical.genai.js b/docs/genaisrc/review-docs.genai.js similarity index 100% rename from docs/genaisrc/technical.genai.js rename to docs/genaisrc/review-docs.genai.js diff --git a/packages/core/src/parser.ts b/packages/core/src/parser.ts index 62db8dd9a1..7800ea4cde 100644 --- a/packages/core/src/parser.ts +++ b/packages/core/src/parser.ts @@ -68,7 +68,7 @@ export async function parseProject(options: { scriptFiles: string[] }) { continue } // Skip if no template is parsed if (scripts[tmpl.id]) { - logWarn(`duplicate script ${tmpl.id} (${f})`) + logWarn(`duplicate script '${tmpl.id}' (${f})`) logVerbose(` already defined in ${scripts[tmpl.id].filename}`) continue } diff --git a/packages/sample/src/poem.prompty b/packages/sample/src/short-poem.prompty similarity index 100% rename from packages/sample/src/poem.prompty rename to packages/sample/src/short-poem.prompty From 0cddad8c8070ed88c6d63523ef743f1b25213fcb Mon Sep 17 00:00:00 2001 From: Peli de Halleux Date: Sun, 23 Feb 2025 03:36:37 +0000 Subject: [PATCH 11/12] removed builtin prefix --- packages/core/src/ast.ts | 2 -- packages/core/src/constants.ts | 1 - packages/core/src/parser.ts | 9 +++------ packages/core/src/template.ts | 10 ++-------- 4 files changed, 5 insertions(+), 17 deletions(-) diff --git a/packages/core/src/ast.ts b/packages/core/src/ast.ts index 29d754c1f9..5277da06b8 100644 --- a/packages/core/src/ast.ts +++ b/packages/core/src/ast.ts @@ -1,7 +1,6 @@ /// // Import necessary regular expressions for file type detection and host utilities import { - BUILTIN_SCRIPT_PREFIX, GENAI_ANYJS_REGEX, GENAI_ANYTS_REGEX, PROMPTY_REGEX, @@ -70,7 +69,6 @@ export function collectFolders(prj: Project) { (t) => t.filename && !PROMPTY_REGEX.test(t.filename) )) { const dirname = host.path.dirname(t.filename) // Get directory name from the filename - if ((dirname + "/").startsWith(BUILTIN_SCRIPT_PREFIX)) continue const folder = folders[dirname] || (folders[dirname] = { dirname }) folder.js = folder.js || GENAI_ANYJS_REGEX.test(t.filename) // Check for presence of JS files folder.ts = folder.ts || GENAI_ANYTS_REGEX.test(t.filename) // Check for presence of TS files diff --git a/packages/core/src/constants.ts b/packages/core/src/constants.ts index 8d77301e68..c8538d216c 100644 --- a/packages/core/src/constants.ts +++ b/packages/core/src/constants.ts @@ -71,7 +71,6 @@ export const TRANSCRIPTION_MODEL_ID = "transcription" export const SPEECH_MODEL_ID = "speech" export const DEFAULT_FENCE_FORMAT: FenceFormat = "xml" export const DEFAULT_TEMPERATURE = 0.8 -export const BUILTIN_SCRIPT_PREFIX = ".genaiscript/__system/" export const CACHE_LLMREQUEST_PREFIX = "genaiscript/cache/llm/" export const CACHE_AIREQUEST_TRACE_PREFIX = "genaiscript/cache/ai/trace/" export const CACHE_AIREQUEST_TEXT_PREFIX = "genaiscript/cache/ai/text/" diff --git a/packages/core/src/parser.ts b/packages/core/src/parser.ts index 7800ea4cde..891b2a45ae 100644 --- a/packages/core/src/parser.ts +++ b/packages/core/src/parser.ts @@ -2,7 +2,7 @@ import { logVerbose, logWarn, strcmp } from "./util" // String comparison function import { parsePromptScript } from "./template" // Function to parse scripts import { readText } from "./fs" // Function to read text from a file -import { BUILTIN_SCRIPT_PREFIX, GENAI_ANYTS_REGEX } from "./constants" // Constants for MIME types and prefixes +import { GENAI_ANYTS_REGEX } from "./constants" // Constants for MIME types and prefixes import { Project } from "./server/messages" import { resolveSystems } from "./systems" import { resolveScriptParametersSchema } from "./vars" @@ -47,12 +47,9 @@ export async function parseProject(options: { scriptFiles: string[] }) { const scripts: Record = {} for (const fn of systemPrompts) { const f = join(genaisrcDir, fn) - const tmpl = await parsePromptScript( - BUILTIN_SCRIPT_PREFIX + fn, - await readText(f) - ) + const tmpl = await parsePromptScript(f, await readText(f)) if (!tmpl) { - logWarn(`skipping invalid system scruipt: ${fn}`) + logWarn(`skipping invalid system script: ${fn}`) continue } // Skip if no template is parsed prj.scripts.push(tmpl) // Add to project templates diff --git a/packages/core/src/template.ts b/packages/core/src/template.ts index b9f1c9fae1..20f8249635 100644 --- a/packages/core/src/template.ts +++ b/packages/core/src/template.ts @@ -4,11 +4,7 @@ * data types and formats. */ -import { - BUILTIN_SCRIPT_PREFIX, - GENAI_ANY_REGEX, - PROMPTY_REGEX, -} from "./constants" +import { GENAI_ANY_REGEX, PROMPTY_REGEX } from "./constants" import { host } from "./host" import { JSON5TryParse } from "./json5" import { humanize } from "inflection" @@ -85,9 +81,7 @@ async function parsePromptTemplateCore(filename: string, content: string) { ), jsSource: content, } as PromptScript - if (!filename.startsWith(BUILTIN_SCRIPT_PREFIX)) { - r.filename = host.path.resolve(filename) - } + r.filename = host.path.resolve(filename) const meta = parsePromptScriptMeta(r.jsSource) Object.assign(r, meta) return r From 58f807acdfd79b39ca65a3641d8fd801e4096a94 Mon Sep 17 00:00:00 2001 From: Peli de Halleux Date: Sun, 23 Feb 2025 03:51:39 +0000 Subject: [PATCH 12/12] use resolvedTools info --- packages/core/src/systems.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/src/systems.ts b/packages/core/src/systems.ts index 50b82f0d1b..299c7d955c 100644 --- a/packages/core/src/systems.ts +++ b/packages/core/src/systems.ts @@ -101,7 +101,7 @@ export function resolveSystems( if (responseSchema && !responseType) systems.push("system.output_json") // Include tools-related systems if specified in the script - if (tools.length) { + if (tools.length || resolvedTools?.length) { systems.push("system.tools") // Resolve and add each tool's systems based on its definition in the project tools.forEach((tool) =>