This is page 20 of 145. Use http://codebase.md/microsoft/semanticworkbench?format=md&lines=true&page={x} to view the full context.

# Directory Structure

```
├── .devcontainer
│   ├── .vscode
│   │   └── settings.json
│   ├── devcontainer.json
│   ├── OPTIMIZING_FOR_CODESPACES.md
│   ├── POST_SETUP_README.md
│   └── README.md
├── .dockerignore
├── .gitattributes
├── .github
│   ├── policheck.yml
│   └── workflows
│       ├── assistants-codespace-assistant.yml
│       ├── assistants-document-assistant.yml
│       ├── assistants-explorer-assistant.yml
│       ├── assistants-guided-conversation-assistant.yml
│       ├── assistants-knowledge-transfer-assistant.yml
│       ├── assistants-navigator-assistant.yml
│       ├── assistants-project-assistant.yml
│       ├── assistants-prospector-assistant.yml
│       ├── assistants-skill-assistant.yml
│       ├── libraries.yml
│       ├── mcp-server-giphy.yml
│       ├── mcp-server-memory-filesystem-edit.yml
│       ├── mcp-server-memory-user-bio.yml
│       ├── mcp-server-memory-whiteboard.yml
│       ├── mcp-server-open-deep-research-clone.yml
│       ├── mcp-server-web-research.yml
│       ├── workbench-app.yml
│       └── workbench-service.yml
├── .gitignore
├── .multi-root-tools
│   ├── Makefile
│   └── README.md
├── .vscode
│   ├── extensions.json
│   ├── launch.json
│   └── settings.json
├── ai_context
│   └── generated
│       ├── ASPIRE_ORCHESTRATOR.md
│       ├── ASSISTANT_CODESPACE.md
│       ├── ASSISTANT_DOCUMENT.md
│       ├── ASSISTANT_NAVIGATOR.md
│       ├── ASSISTANT_PROJECT.md
│       ├── ASSISTANT_PROSPECTOR.md
│       ├── ASSISTANTS_OTHER.md
│       ├── ASSISTANTS_OVERVIEW.md
│       ├── CONFIGURATION.md
│       ├── DOTNET_LIBRARIES.md
│       ├── EXAMPLES.md
│       ├── MCP_SERVERS.md
│       ├── PYTHON_LIBRARIES_AI_CLIENTS.md
│       ├── PYTHON_LIBRARIES_CORE.md
│       ├── PYTHON_LIBRARIES_EXTENSIONS.md
│       ├── PYTHON_LIBRARIES_SKILLS.md
│       ├── PYTHON_LIBRARIES_SPECIALIZED.md
│       ├── TOOLS.md
│       ├── WORKBENCH_FRONTEND.md
│       └── WORKBENCH_SERVICE.md
├── aspire-orchestrator
│   ├── .editorconfig
│   ├── Aspire.AppHost
│   │   ├── .gitignore
│   │   ├── appsettings.json
│   │   ├── Aspire.AppHost.csproj
│   │   ├── Program.cs
│   │   └── Properties
│   │       └── launchSettings.json
│   ├── Aspire.Extensions
│   │   ├── Aspire.Extensions.csproj
│   │   ├── Dashboard.cs
│   │   ├── DockerFileExtensions.cs
│   │   ├── PathNormalizer.cs
│   │   ├── UvAppHostingExtensions.cs
│   │   ├── UvAppResource.cs
│   │   ├── VirtualEnvironment.cs
│   │   └── WorkbenchServiceHostingExtensions.cs
│   ├── Aspire.ServiceDefaults
│   │   ├── Aspire.ServiceDefaults.csproj
│   │   └── Extensions.cs
│   ├── README.md
│   ├── run.sh
│   ├── SemanticWorkbench.Aspire.sln
│   └── SemanticWorkbench.Aspire.sln.DotSettings
├── assistants
│   ├── codespace-assistant
│   │   ├── .claude
│   │   │   └── settings.local.json
│   │   ├── .env.example
│   │   ├── .vscode
│   │   │   ├── extensions.json
│   │   │   ├── launch.json
│   │   │   └── settings.json
│   │   ├── assistant
│   │   │   ├── __init__.py
│   │   │   ├── assets
│   │   │   │   ├── icon_context_transfer.svg
│   │   │   │   └── icon.svg
│   │   │   ├── chat.py
│   │   │   ├── config.py
│   │   │   ├── helpers.py
│   │   │   ├── response
│   │   │   │   ├── __init__.py
│   │   │   │   ├── completion_handler.py
│   │   │   │   ├── models.py
│   │   │   │   ├── request_builder.py
│   │   │   │   ├── response.py
│   │   │   │   ├── step_handler.py
│   │   │   │   └── utils
│   │   │   │       ├── __init__.py
│   │   │   │       ├── abbreviations.py
│   │   │   │       ├── formatting_utils.py
│   │   │   │       ├── message_utils.py
│   │   │   │       └── openai_utils.py
│   │   │   ├── text_includes
│   │   │   │   ├── card_content_context_transfer.md
│   │   │   │   ├── card_content.md
│   │   │   │   ├── codespace_assistant_info.md
│   │   │   │   ├── context_transfer_assistant_info.md
│   │   │   │   ├── guardrails_prompt.txt
│   │   │   │   ├── guidance_prompt_context_transfer.txt
│   │   │   │   ├── guidance_prompt.txt
│   │   │   │   ├── instruction_prompt_context_transfer.txt
│   │   │   │   └── instruction_prompt.txt
│   │   │   └── whiteboard
│   │   │       ├── __init__.py
│   │   │       ├── _inspector.py
│   │   │       └── _whiteboard.py
│   │   ├── assistant.code-workspace
│   │   ├── Makefile
│   │   ├── pyproject.toml
│   │   ├── README.md
│   │   └── uv.lock
│   ├── document-assistant
│   │   ├── .env.example
│   │   ├── .vscode
│   │   │   ├── launch.json
│   │   │   └── settings.json
│   │   ├── assistant
│   │   │   ├── __init__.py
│   │   │   ├── assets
│   │   │   │   └── icon.svg
│   │   │   ├── chat.py
│   │   │   ├── config.py
│   │   │   ├── context_management
│   │   │   │   ├── __init__.py
│   │   │   │   └── inspector.py
│   │   │   ├── filesystem
│   │   │   │   ├── __init__.py
│   │   │   │   ├── _convert.py
│   │   │   │   ├── _file_sources.py
│   │   │   │   ├── _filesystem.py
│   │   │   │   ├── _inspector.py
│   │   │   │   ├── _model.py
│   │   │   │   ├── _prompts.py
│   │   │   │   └── _tasks.py
│   │   │   ├── guidance
│   │   │   │   ├── __init__.py
│   │   │   │   ├── dynamic_ui_inspector.py
│   │   │   │   ├── guidance_config.py
│   │   │   │   ├── guidance_prompts.py
│   │   │   │   └── README.md
│   │   │   ├── response
│   │   │   │   ├── __init__.py
│   │   │   │   ├── completion_handler.py
│   │   │   │   ├── models.py
│   │   │   │   ├── prompts.py
│   │   │   │   ├── responder.py
│   │   │   │   └── utils
│   │   │   │       ├── __init__.py
│   │   │   │       ├── formatting_utils.py
│   │   │   │       ├── message_utils.py
│   │   │   │       ├── openai_utils.py
│   │   │   │       ├── tokens_tiktoken.py
│   │   │   │       └── workbench_messages.py
│   │   │   ├── text_includes
│   │   │   │   └── document_assistant_info.md
│   │   │   ├── types.py
│   │   │   └── whiteboard
│   │   │       ├── __init__.py
│   │   │       ├── _inspector.py
│   │   │       └── _whiteboard.py
│   │   ├── assistant.code-workspace
│   │   ├── CLAUDE.md
│   │   ├── Makefile
│   │   ├── pyproject.toml
│   │   ├── README.md
│   │   ├── tests
│   │   │   ├── __init__.py
│   │   │   ├── test_convert.py
│   │   │   └── test_data
│   │   │       ├── blank_image.png
│   │   │       ├── Formatting Test.docx
│   │   │       ├── sample_data.csv
│   │   │       ├── sample_data.xlsx
│   │   │       ├── sample_page.html
│   │   │       ├── sample_presentation.pptx
│   │   │       └── simple_pdf.pdf
│   │   └── uv.lock
│   ├── explorer-assistant
│   │   ├── .env.example
│   │   ├── .vscode
│   │   │   ├── launch.json
│   │   │   └── settings.json
│   │   ├── assistant
│   │   │   ├── __init__.py
│   │   │   ├── chat.py
│   │   │   ├── config.py
│   │   │   ├── helpers.py
│   │   │   ├── response
│   │   │   │   ├── __init__.py
│   │   │   │   ├── model.py
│   │   │   │   ├── response_anthropic.py
│   │   │   │   ├── response_openai.py
│   │   │   │   └── response.py
│   │   │   └── text_includes
│   │   │       └── guardrails_prompt.txt
│   │   ├── assistant.code-workspace
│   │   ├── Makefile
│   │   ├── pyproject.toml
│   │   ├── README.md
│   │   └── uv.lock
│   ├── guided-conversation-assistant
│   │   ├── .env.example
│   │   ├── .vscode
│   │   │   ├── launch.json
│   │   │   └── settings.json
│   │   ├── assistant
│   │   │   ├── __init__.py
│   │   │   ├── agents
│   │   │   │   ├── guided_conversation
│   │   │   │   │   ├── config.py
│   │   │   │   │   ├── definition.py
│   │   │   │   │   └── definitions
│   │   │   │   │       ├── er_triage.py
│   │   │   │   │       ├── interview.py
│   │   │   │   │       ├── patient_intake.py
│   │   │   │   │       └── poem_feedback.py
│   │   │   │   └── guided_conversation_agent.py
│   │   │   ├── chat.py
│   │   │   ├── config.py
│   │   │   └── text_includes
│   │   │       └── guardrails_prompt.txt
│   │   ├── assistant.code-workspace
│   │   ├── Makefile
│   │   ├── pyproject.toml
│   │   ├── README.md
│   │   └── uv.lock
│   ├── knowledge-transfer-assistant
│   │   ├── .claude
│   │   │   └── settings.local.json
│   │   ├── .env.example
│   │   ├── .vscode
│   │   │   ├── launch.json
│   │   │   └── settings.json
│   │   ├── assistant
│   │   │   ├── __init__.py
│   │   │   ├── agentic
│   │   │   │   ├── __init__.py
│   │   │   │   ├── analysis.py
│   │   │   │   ├── coordinator_support.py
│   │   │   │   └── team_welcome.py
│   │   │   ├── assets
│   │   │   │   ├── icon-knowledge-transfer.svg
│   │   │   │   └── icon.svg
│   │   │   ├── assistant.py
│   │   │   ├── common.py
│   │   │   ├── config.py
│   │   │   ├── conversation_clients.py
│   │   │   ├── conversation_share_link.py
│   │   │   ├── data.py
│   │   │   ├── domain
│   │   │   │   ├── __init__.py
│   │   │   │   ├── audience_manager.py
│   │   │   │   ├── information_request_manager.py
│   │   │   │   ├── knowledge_brief_manager.py
│   │   │   │   ├── knowledge_digest_manager.py
│   │   │   │   ├── learning_objectives_manager.py
│   │   │   │   └── share_manager.py
│   │   │   ├── files.py
│   │   │   ├── logging.py
│   │   │   ├── notifications.py
│   │   │   ├── respond.py
│   │   │   ├── storage_models.py
│   │   │   ├── storage.py
│   │   │   ├── string_utils.py
│   │   │   ├── text_includes
│   │   │   │   ├── assistant_info.md
│   │   │   │   ├── card_content.md
│   │   │   │   ├── coordinator_instructions.txt
│   │   │   │   ├── coordinator_role.txt
│   │   │   │   ├── knowledge_digest_instructions.txt
│   │   │   │   ├── knowledge_digest_prompt.txt
│   │   │   │   ├── share_information_request_detection.txt
│   │   │   │   ├── team_instructions.txt
│   │   │   │   ├── team_role.txt
│   │   │   │   └── welcome_message_generation.txt
│   │   │   ├── tools
│   │   │   │   ├── __init__.py
│   │   │   │   ├── base.py
│   │   │   │   ├── information_requests.py
│   │   │   │   ├── learning_objectives.py
│   │   │   │   ├── learning_outcomes.py
│   │   │   │   ├── progress_tracking.py
│   │   │   │   └── share_setup.py
│   │   │   ├── ui_tabs
│   │   │   │   ├── __init__.py
│   │   │   │   ├── brief.py
│   │   │   │   ├── common.py
│   │   │   │   ├── debug.py
│   │   │   │   ├── learning.py
│   │   │   │   └── sharing.py
│   │   │   └── utils.py
│   │   ├── CLAUDE.md
│   │   ├── docs
│   │   │   ├── design
│   │   │   │   ├── actions.md
│   │   │   │   └── inference.md
│   │   │   ├── DEV_GUIDE.md
│   │   │   ├── how-kta-works.md
│   │   │   ├── JTBD.md
│   │   │   ├── knowledge-transfer-goals.md
│   │   │   ├── learning_assistance.md
│   │   │   ├── notable_claude_conversations
│   │   │   │   ├── clarifying_quad_modal_design.md
│   │   │   │   ├── CLAUDE_PROMPTS.md
│   │   │   │   ├── transfer_state.md
│   │   │   │   └── trying_the_context_agent.md
│   │   │   └── opportunities-of-knowledge-transfer.md
│   │   ├── knowledge-transfer-assistant.code-workspace
│   │   ├── Makefile
│   │   ├── pyproject.toml
│   │   ├── README.md
│   │   ├── tests
│   │   │   ├── __init__.py
│   │   │   ├── test_artifact_loading.py
│   │   │   ├── test_inspector.py
│   │   │   ├── test_share_manager.py
│   │   │   ├── test_share_storage.py
│   │   │   ├── test_share_tools.py
│   │   │   └── test_team_mode.py
│   │   └── uv.lock
│   ├── Makefile
│   ├── navigator-assistant
│   │   ├── .env.example
│   │   ├── .vscode
│   │   │   ├── launch.json
│   │   │   └── settings.json
│   │   ├── assistant
│   │   │   ├── __init__.py
│   │   │   ├── assets
│   │   │   │   ├── card_content.md
│   │   │   │   └── icon.svg
│   │   │   ├── chat.py
│   │   │   ├── config.py
│   │   │   ├── helpers.py
│   │   │   ├── response
│   │   │   │   ├── __init__.py
│   │   │   │   ├── completion_handler.py
│   │   │   │   ├── completion_requestor.py
│   │   │   │   ├── local_tool
│   │   │   │   │   ├── __init__.py
│   │   │   │   │   ├── add_assistant_to_conversation.py
│   │   │   │   │   ├── list_assistant_services.py
│   │   │   │   │   └── model.py
│   │   │   │   ├── models.py
│   │   │   │   ├── prompt.py
│   │   │   │   ├── request_builder.py
│   │   │   │   ├── response.py
│   │   │   │   ├── step_handler.py
│   │   │   │   └── utils
│   │   │   │       ├── __init__.py
│   │   │   │       ├── formatting_utils.py
│   │   │   │       ├── message_utils.py
│   │   │   │       ├── openai_utils.py
│   │   │   │       └── tools.py
│   │   │   ├── text_includes
│   │   │   │   ├── guardrails_prompt.md
│   │   │   │   ├── guidance_prompt.md
│   │   │   │   ├── instruction_prompt.md
│   │   │   │   ├── navigator_assistant_info.md
│   │   │   │   └── semantic_workbench_features.md
│   │   │   └── whiteboard
│   │   │       ├── __init__.py
│   │   │       ├── _inspector.py
│   │   │       └── _whiteboard.py
│   │   ├── Makefile
│   │   ├── pyproject.toml
│   │   ├── README.md
│   │   └── uv.lock
│   ├── project-assistant
│   │   ├── .cspell
│   │   │   └── custom-dictionary-workspace.txt
│   │   ├── .env.example
│   │   ├── .vscode
│   │   │   ├── launch.json
│   │   │   └── settings.json
│   │   ├── assistant
│   │   │   ├── __init__.py
│   │   │   ├── agentic
│   │   │   │   ├── __init__.py
│   │   │   │   ├── act.py
│   │   │   │   ├── coordinator_next_action.py
│   │   │   │   ├── create_invitation.py
│   │   │   │   ├── detect_audience_and_takeaways.py
│   │   │   │   ├── detect_coordinator_actions.py
│   │   │   │   ├── detect_information_request_needs.py
│   │   │   │   ├── detect_knowledge_package_gaps.py
│   │   │   │   ├── focus.py
│   │   │   │   ├── respond.py
│   │   │   │   ├── team_welcome.py
│   │   │   │   └── update_digest.py
│   │   │   ├── assets
│   │   │   │   ├── icon-knowledge-transfer.svg
│   │   │   │   └── icon.svg
│   │   │   ├── assistant.py
│   │   │   ├── common.py
│   │   │   ├── config.py
│   │   │   ├── conversation_clients.py
│   │   │   ├── data.py
│   │   │   ├── domain
│   │   │   │   ├── __init__.py
│   │   │   │   ├── audience_manager.py
│   │   │   │   ├── conversation_preferences_manager.py
│   │   │   │   ├── information_request_manager.py
│   │   │   │   ├── knowledge_brief_manager.py
│   │   │   │   ├── knowledge_digest_manager.py
│   │   │   │   ├── learning_objectives_manager.py
│   │   │   │   ├── share_manager.py
│   │   │   │   ├── tasks_manager.py
│   │   │   │   └── transfer_manager.py
│   │   │   ├── errors.py
│   │   │   ├── files.py
│   │   │   ├── logging.py
│   │   │   ├── notifications.py
│   │   │   ├── prompt_utils.py
│   │   │   ├── storage.py
│   │   │   ├── string_utils.py
│   │   │   ├── text_includes
│   │   │   │   ├── actor_instructions.md
│   │   │   │   ├── assistant_info.md
│   │   │   │   ├── card_content.md
│   │   │   │   ├── coordinator_instructions copy.md
│   │   │   │   ├── coordinator_instructions.md
│   │   │   │   ├── create_invitation.md
│   │   │   │   ├── detect_audience.md
│   │   │   │   ├── detect_coordinator_actions.md
│   │   │   │   ├── detect_information_request_needs.md
│   │   │   │   ├── detect_knowledge_package_gaps.md
│   │   │   │   ├── focus.md
│   │   │   │   ├── knowledge_digest_instructions.txt
│   │   │   │   ├── team_instructions.txt
│   │   │   │   ├── to_do.md
│   │   │   │   ├── update_knowledge_brief.md
│   │   │   │   ├── update_knowledge_digest.md
│   │   │   │   └── welcome_message_generation.txt
│   │   │   ├── tools
│   │   │   │   ├── __init__.py
│   │   │   │   ├── base.py
│   │   │   │   ├── conversation_preferences.py
│   │   │   │   ├── information_requests.py
│   │   │   │   ├── learning_objectives.py
│   │   │   │   ├── learning_outcomes.py
│   │   │   │   ├── progress_tracking.py
│   │   │   │   ├── share_setup.py
│   │   │   │   ├── system_reminders.py
│   │   │   │   ├── tasks.py
│   │   │   │   └── todo.py
│   │   │   ├── ui_tabs
│   │   │   │   ├── __init__.py
│   │   │   │   ├── brief.py
│   │   │   │   ├── common.py
│   │   │   │   ├── debug.py
│   │   │   │   ├── learning.py
│   │   │   │   └── sharing.py
│   │   │   └── utils.py
│   │   ├── CLAUDE.md
│   │   ├── docs
│   │   │   ├── design
│   │   │   │   ├── actions.md
│   │   │   │   ├── control_options.md
│   │   │   │   ├── design.md
│   │   │   │   ├── inference.md
│   │   │   │   └── PXL_20250814_190140267.jpg
│   │   │   ├── DEV_GUIDE.md
│   │   │   ├── how-kta-works.md
│   │   │   ├── JTBD.md
│   │   │   ├── knowledge-transfer-goals.md
│   │   │   ├── learning_assistance.md
│   │   │   ├── notable_claude_conversations
│   │   │   │   ├── clarifying_quad_modal_design.md
│   │   │   │   ├── CLAUDE_PROMPTS.md
│   │   │   │   ├── transfer_state.md
│   │   │   │   └── trying_the_context_agent.md
│   │   │   └── opportunities-of-knowledge-transfer.md
│   │   ├── knowledge-transfer-assistant.code-workspace
│   │   ├── Makefile
│   │   ├── pyproject.toml
│   │   ├── README.md
│   │   ├── tests
│   │   │   ├── __init__.py
│   │   │   ├── test_artifact_loading.py
│   │   │   ├── test_inspector.py
│   │   │   ├── test_share_manager.py
│   │   │   ├── test_share_storage.py
│   │   │   └── test_team_mode.py
│   │   └── uv.lock
│   ├── prospector-assistant
│   │   ├── .env.example
│   │   ├── .vscode
│   │   │   ├── launch.json
│   │   │   └── settings.json
│   │   ├── assistant
│   │   │   ├── __init__.py
│   │   │   ├── agents
│   │   │   │   ├── artifact_agent.py
│   │   │   │   ├── document
│   │   │   │   │   ├── config.py
│   │   │   │   │   ├── gc_draft_content_feedback_config.py
│   │   │   │   │   ├── gc_draft_outline_feedback_config.py
│   │   │   │   │   ├── guided_conversation.py
│   │   │   │   │   └── state.py
│   │   │   │   └── document_agent.py
│   │   │   ├── artifact_creation_extension
│   │   │   │   ├── __init__.py
│   │   │   │   ├── _llm.py
│   │   │   │   ├── config.py
│   │   │   │   ├── document.py
│   │   │   │   ├── extension.py
│   │   │   │   ├── store.py
│   │   │   │   ├── test
│   │   │   │   │   ├── conftest.py
│   │   │   │   │   ├── evaluation.py
│   │   │   │   │   ├── test_completion_with_tools.py
│   │   │   │   │   └── test_extension.py
│   │   │   │   └── tools.py
│   │   │   ├── chat.py
│   │   │   ├── config.py
│   │   │   ├── form_fill_extension
│   │   │   │   ├── __init__.py
│   │   │   │   ├── config.py
│   │   │   │   ├── extension.py
│   │   │   │   ├── inspector.py
│   │   │   │   ├── state.py
│   │   │   │   └── steps
│   │   │   │       ├── __init__.py
│   │   │   │       ├── _guided_conversation.py
│   │   │   │       ├── _llm.py
│   │   │   │       ├── acquire_form_step.py
│   │   │   │       ├── extract_form_fields_step.py
│   │   │   │       ├── fill_form_step.py
│   │   │   │       └── types.py
│   │   │   ├── helpers.py
│   │   │   ├── legacy.py
│   │   │   └── text_includes
│   │   │       ├── artifact_agent_enabled.md
│   │   │       ├── guardrails_prompt.txt
│   │   │       ├── guided_conversation_agent_enabled.md
│   │   │       └── skills_agent_enabled.md
│   │   ├── assistant.code-workspace
│   │   ├── gc_learnings
│   │   │   ├── gc_learnings.md
│   │   │   └── images
│   │   │       ├── gc_conversation_plan_fcn.png
│   │   │       ├── gc_conversation_plan_template.png
│   │   │       ├── gc_execute_plan_callstack.png
│   │   │       ├── gc_functions.png
│   │   │       ├── gc_generate_plan_callstack.png
│   │   │       ├── gc_get_resource_instructions.png
│   │   │       ├── gc_get_termination_instructions.png
│   │   │       ├── gc_kernel_arguments.png
│   │   │       ├── gc_plan_calls.png
│   │   │       ├── gc_termination_instructions.png
│   │   │       ├── sk_get_chat_message_contents.png
│   │   │       ├── sk_inner_get_chat_message_contents.png
│   │   │       ├── sk_send_request_prep.png
│   │   │       └── sk_send_request.png
│   │   ├── Makefile
│   │   ├── pyproject.toml
│   │   ├── README.md
│   │   └── uv.lock
│   └── skill-assistant
│       ├── .env.example
│       ├── .vscode
│       │   ├── launch.json
│       │   └── settings.json
│       ├── assistant
│       │   ├── __init__.py
│       │   ├── config.py
│       │   ├── logging.py
│       │   ├── skill_assistant.py
│       │   ├── skill_engine_registry.py
│       │   ├── skill_event_mapper.py
│       │   ├── text_includes
│       │   │   └── guardrails_prompt.txt
│       │   └── workbench_helpers.py
│       ├── assistant.code-workspace
│       ├── Makefile
│       ├── pyproject.toml
│       ├── README.md
│       ├── tests
│       │   └── test_setup.py
│       └── uv.lock
├── CLAUDE.md
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── docs
│   ├── .vscode
│   │   └── settings.json
│   ├── ASSISTANT_CONFIG.md
│   ├── ASSISTANT_DEVELOPMENT_GUIDE.md
│   ├── CUSTOM_APP_REGISTRATION.md
│   ├── HOSTED_ASSISTANT_WITH_LOCAL_MCP_SERVERS.md
│   ├── images
│   │   ├── architecture-animation.gif
│   │   ├── configure_assistant.png
│   │   ├── conversation_canvas_open.png
│   │   ├── conversation_duplicate.png
│   │   ├── conversation_export.png
│   │   ├── conversation_share_dialog.png
│   │   ├── conversation_share_link.png
│   │   ├── dashboard_configured_view.png
│   │   ├── dashboard_view.png
│   │   ├── license_agreement.png
│   │   ├── message_bar.png
│   │   ├── message_inspection.png
│   │   ├── message_link.png
│   │   ├── new_prospector_assistant_dialog.png
│   │   ├── open_conversation_canvas.png
│   │   ├── prospector_example.png
│   │   ├── readme1.png
│   │   ├── readme2.png
│   │   ├── readme3.png
│   │   ├── rewind.png
│   │   ├── signin_page.png
│   │   └── splash_screen.png
│   ├── LOCAL_ASSISTANT_WITH_REMOTE_WORKBENCH.md
│   ├── SETUP_DEV_ENVIRONMENT.md
│   └── WORKBENCH_APP.md
├── examples
│   ├── dotnet
│   │   ├── .editorconfig
│   │   ├── dotnet-01-echo-bot
│   │   │   ├── appsettings.json
│   │   │   ├── dotnet-01-echo-bot.csproj
│   │   │   ├── MyAgent.cs
│   │   │   ├── MyAgentConfig.cs
│   │   │   ├── MyWorkbenchConnector.cs
│   │   │   ├── Program.cs
│   │   │   └── README.md
│   │   ├── dotnet-02-message-types-demo
│   │   │   ├── appsettings.json
│   │   │   ├── ConnectorExtensions.cs
│   │   │   ├── docs
│   │   │   │   ├── abc.png
│   │   │   │   ├── code.png
│   │   │   │   ├── config.png
│   │   │   │   ├── echo.png
│   │   │   │   ├── markdown.png
│   │   │   │   ├── mermaid.png
│   │   │   │   ├── reverse.png
│   │   │   │   └── safety-check.png
│   │   │   ├── dotnet-02-message-types-demo.csproj
│   │   │   ├── MyAgent.cs
│   │   │   ├── MyAgentConfig.cs
│   │   │   ├── MyWorkbenchConnector.cs
│   │   │   ├── Program.cs
│   │   │   └── README.md
│   │   └── dotnet-03-simple-chatbot
│   │       ├── appsettings.json
│   │       ├── ConnectorExtensions.cs
│   │       ├── dotnet-03-simple-chatbot.csproj
│   │       ├── MyAgent.cs
│   │       ├── MyAgentConfig.cs
│   │       ├── MyWorkbenchConnector.cs
│   │       ├── Program.cs
│   │       └── README.md
│   ├── Makefile
│   └── python
│       ├── python-01-echo-bot
│       │   ├── .env.example
│       │   ├── .vscode
│       │   │   ├── launch.json
│       │   │   └── settings.json
│       │   ├── assistant
│       │   │   ├── __init__.py
│       │   │   ├── chat.py
│       │   │   └── config.py
│       │   ├── assistant.code-workspace
│       │   ├── Makefile
│       │   ├── pyproject.toml
│       │   ├── README.md
│       │   └── uv.lock
│       ├── python-02-simple-chatbot
│       │   ├── .env.example
│       │   ├── .vscode
│       │   │   ├── launch.json
│       │   │   └── settings.json
│       │   ├── assistant
│       │   │   ├── __init__.py
│       │   │   ├── chat.py
│       │   │   ├── config.py
│       │   │   └── text_includes
│       │   │       └── guardrails_prompt.txt
│       │   ├── assistant.code-workspace
│       │   ├── Makefile
│       │   ├── pyproject.toml
│       │   ├── README.md
│       │   └── uv.lock
│       └── python-03-multimodel-chatbot
│           ├── .env.example
│           ├── .vscode
│           │   ├── launch.json
│           │   └── settings.json
│           ├── assistant
│           │   ├── __init__.py
│           │   ├── chat.py
│           │   ├── config.py
│           │   ├── model_adapters.py
│           │   └── text_includes
│           │       └── guardrails_prompt.txt
│           ├── assistant.code-workspace
│           ├── Makefile
│           ├── pyproject.toml
│           ├── README.md
│           └── uv.lock
├── KNOWN_ISSUES.md
├── libraries
│   ├── dotnet
│   │   ├── .editorconfig
│   │   ├── pack.sh
│   │   ├── README.md
│   │   ├── SemanticWorkbench.sln
│   │   ├── SemanticWorkbench.sln.DotSettings
│   │   └── WorkbenchConnector
│   │       ├── AgentBase.cs
│   │       ├── AgentConfig
│   │       │   ├── AgentConfigBase.cs
│   │       │   ├── AgentConfigPropertyAttribute.cs
│   │       │   └── ConfigUtils.cs
│   │       ├── Constants.cs
│   │       ├── IAgentBase.cs
│   │       ├── icon.png
│   │       ├── Models
│   │       │   ├── Command.cs
│   │       │   ├── Conversation.cs
│   │       │   ├── ConversationEvent.cs
│   │       │   ├── DebugInfo.cs
│   │       │   ├── Insight.cs
│   │       │   ├── Message.cs
│   │       │   ├── MessageMetadata.cs
│   │       │   ├── Participant.cs
│   │       │   ├── Sender.cs
│   │       │   └── ServiceInfo.cs
│   │       ├── Storage
│   │       │   ├── AgentInfo.cs
│   │       │   ├── AgentServiceStorage.cs
│   │       │   └── IAgentServiceStorage.cs
│   │       ├── StringLoggingExtensions.cs
│   │       ├── Webservice.cs
│   │       ├── WorkbenchConfig.cs
│   │       ├── WorkbenchConnector.cs
│   │       └── WorkbenchConnector.csproj
│   ├── Makefile
│   └── python
│       ├── anthropic-client
│       │   ├── .vscode
│       │   │   └── settings.json
│       │   ├── anthropic_client
│       │   │   ├── __init__.py
│       │   │   ├── client.py
│       │   │   ├── config.py
│       │   │   └── messages.py
│       │   ├── Makefile
│       │   ├── pyproject.toml
│       │   ├── README.md
│       │   └── uv.lock
│       ├── assistant-data-gen
│       │   ├── .vscode
│       │   │   ├── launch.json
│       │   │   └── settings.json
│       │   ├── assistant_data_gen
│       │   │   ├── __init__.py
│       │   │   ├── assistant_api.py
│       │   │   ├── config.py
│       │   │   ├── gce
│       │   │   │   ├── __init__.py
│       │   │   │   ├── gce_agent.py
│       │   │   │   └── prompts.py
│       │   │   └── pydantic_ai_utils.py
│       │   ├── configs
│       │   │   └── document_assistant_example_config.yaml
│       │   ├── Makefile
│       │   ├── pyproject.toml
│       │   ├── README.md
│       │   ├── scripts
│       │   │   ├── gce_simulation.py
│       │   │   └── generate_scenario.py
│       │   └── uv.lock
│       ├── assistant-drive
│       │   ├── .gitignore
│       │   ├── .vscode
│       │   │   ├── extensions.json
│       │   │   └── settings.json
│       │   ├── assistant_drive
│       │   │   ├── __init__.py
│       │   │   ├── drive.py
│       │   │   └── tests
│       │   │       └── test_basic.py
│       │   ├── Makefile
│       │   ├── pyproject.toml
│       │   ├── pytest.ini
│       │   ├── README.md
│       │   ├── usage.ipynb
│       │   └── uv.lock
│       ├── assistant-extensions
│       │   ├── .vscode
│       │   │   └── settings.json
│       │   ├── assistant_extensions
│       │   │   ├── __init__.py
│       │   │   ├── ai_clients
│       │   │   │   └── config.py
│       │   │   ├── artifacts
│       │   │   │   ├── __init__.py
│       │   │   │   ├── _artifacts.py
│       │   │   │   ├── _inspector.py
│       │   │   │   └── _model.py
│       │   │   ├── attachments
│       │   │   │   ├── __init__.py
│       │   │   │   ├── _attachments.py
│       │   │   │   ├── _convert.py
│       │   │   │   ├── _model.py
│       │   │   │   ├── _shared.py
│       │   │   │   └── _summarizer.py
│       │   │   ├── chat_context_toolkit
│       │   │   │   ├── __init__.py
│       │   │   │   ├── _config.py
│       │   │   │   ├── archive
│       │   │   │   │   ├── __init__.py
│       │   │   │   │   ├── _archive.py
│       │   │   │   │   └── _summarizer.py
│       │   │   │   ├── message_history
│       │   │   │   │   ├── __init__.py
│       │   │   │   │   ├── _history.py
│       │   │   │   │   └── _message.py
│       │   │   │   └── virtual_filesystem
│       │   │   │       ├── __init__.py
│       │   │   │       ├── _archive_file_source.py
│       │   │   │       └── _attachments_file_source.py
│       │   │   ├── dashboard_card
│       │   │   │   ├── __init__.py
│       │   │   │   └── _dashboard_card.py
│       │   │   ├── document_editor
│       │   │   │   ├── __init__.py
│       │   │   │   ├── _extension.py
│       │   │   │   ├── _inspector.py
│       │   │   │   └── _model.py
│       │   │   ├── mcp
│       │   │   │   ├── __init__.py
│       │   │   │   ├── _assistant_file_resource_handler.py
│       │   │   │   ├── _client_utils.py
│       │   │   │   ├── _devtunnel.py
│       │   │   │   ├── _model.py
│       │   │   │   ├── _openai_utils.py
│       │   │   │   ├── _sampling_handler.py
│       │   │   │   ├── _tool_utils.py
│       │   │   │   └── _workbench_file_resource_handler.py
│       │   │   ├── navigator
│       │   │   │   ├── __init__.py
│       │   │   │   └── _navigator.py
│       │   │   └── workflows
│       │   │       ├── __init__.py
│       │   │       ├── _model.py
│       │   │       ├── _workflows.py
│       │   │       └── runners
│       │   │           └── _user_proxy.py
│       │   ├── Makefile
│       │   ├── pyproject.toml
│       │   ├── README.md
│       │   ├── test
│       │   │   └── attachments
│       │   │       └── test_attachments.py
│       │   └── uv.lock
│       ├── chat-context-toolkit
│       │   ├── .claude
│       │   │   └── settings.local.json
│       │   ├── .env.sample
│       │   ├── .vscode
│       │   │   └── settings.json
│       │   ├── assets
│       │   │   ├── archive_v1.png
│       │   │   ├── history_v1.png
│       │   │   └── vfs_v1.png
│       │   ├── chat_context_toolkit
│       │   │   ├── __init__.py
│       │   │   ├── archive
│       │   │   │   ├── __init__.py
│       │   │   │   ├── _archive_reader.py
│       │   │   │   ├── _archive_task_queue.py
│       │   │   │   ├── _state.py
│       │   │   │   ├── _types.py
│       │   │   │   └── summarization
│       │   │   │       ├── __init__.py
│       │   │   │       └── _summarizer.py
│       │   │   ├── history
│       │   │   │   ├── __init__.py
│       │   │   │   ├── _budget.py
│       │   │   │   ├── _decorators.py
│       │   │   │   ├── _history.py
│       │   │   │   ├── _prioritize.py
│       │   │   │   ├── _types.py
│       │   │   │   └── tool_abbreviations
│       │   │   │       ├── __init__.py
│       │   │   │       └── _tool_abbreviations.py
│       │   │   └── virtual_filesystem
│       │   │       ├── __init__.py
│       │   │       ├── _types.py
│       │   │       ├── _virtual_filesystem.py
│       │   │       ├── README.md
│       │   │       └── tools
│       │   │           ├── __init__.py
│       │   │           ├── _ls_tool.py
│       │   │           ├── _tools.py
│       │   │           └── _view_tool.py
│       │   ├── CLAUDE.md
│       │   ├── Makefile
│       │   ├── pyproject.toml
│       │   ├── README.md
│       │   ├── test
│       │   │   ├── archive
│       │   │   │   └── test_archive_reader.py
│       │   │   ├── history
│       │   │   │   ├── test_abbreviate_messages.py
│       │   │   │   ├── test_history.py
│       │   │   │   ├── test_pair_and_order_tool_messages.py
│       │   │   │   ├── test_prioritize.py
│       │   │   │   └── test_truncate_messages.py
│       │   │   └── virtual_filesystem
│       │   │       ├── test_virtual_filesystem.py
│       │   │       └── tools
│       │   │           ├── test_ls_tool.py
│       │   │           ├── test_tools.py
│       │   │           └── test_view_tool.py
│       │   └── uv.lock
│       ├── content-safety
│       │   ├── .vscode
│       │   │   └── settings.json
│       │   ├── content_safety
│       │   │   ├── __init__.py
│       │   │   ├── evaluators
│       │   │   │   ├── __init__.py
│       │   │   │   ├── azure_content_safety
│       │   │   │   │   ├── __init__.py
│       │   │   │   │   ├── config.py
│       │   │   │   │   └── evaluator.py
│       │   │   │   ├── config.py
│       │   │   │   ├── evaluator.py
│       │   │   │   └── openai_moderations
│       │   │   │       ├── __init__.py
│       │   │   │       ├── config.py
│       │   │   │       └── evaluator.py
│       │   │   └── README.md
│       │   ├── Makefile
│       │   ├── pyproject.toml
│       │   ├── README.md
│       │   └── uv.lock
│       ├── events
│       │   ├── .vscode
│       │   │   └── settings.json
│       │   ├── events
│       │   │   ├── __init__.py
│       │   │   └── events.py
│       │   ├── Makefile
│       │   ├── pyproject.toml
│       │   ├── README.md
│       │   └── uv.lock
│       ├── guided-conversation
│       │   ├── .vscode
│       │   │   └── settings.json
│       │   ├── guided_conversation
│       │   │   ├── __init__.py
│       │   │   ├── functions
│       │   │   │   ├── __init__.py
│       │   │   │   ├── conversation_plan.py
│       │   │   │   ├── execution.py
│       │   │   │   └── final_update_plan.py
│       │   │   ├── guided_conversation_agent.py
│       │   │   ├── plugins
│       │   │   │   ├── __init__.py
│       │   │   │   ├── agenda.py
│       │   │   │   └── artifact.py
│       │   │   └── utils
│       │   │       ├── __init__.py
│       │   │       ├── base_model_llm.py
│       │   │       ├── conversation_helpers.py
│       │   │       ├── openai_tool_calling.py
│       │   │       ├── plugin_helpers.py
│       │   │       └── resources.py
│       │   ├── Makefile
│       │   ├── pyproject.toml
│       │   ├── README.md
│       │   └── uv.lock
│       ├── llm-client
│       │   ├── .vscode
│       │   │   └── settings.json
│       │   ├── llm_client
│       │   │   ├── __init__.py
│       │   │   └── model.py
│       │   ├── Makefile
│       │   ├── pyproject.toml
│       │   ├── README.md
│       │   └── uv.lock
│       ├── Makefile
│       ├── mcp-extensions
│       │   ├── .vscode
│       │   │   └── settings.json
│       │   ├── Makefile
│       │   ├── mcp_extensions
│       │   │   ├── __init__.py
│       │   │   ├── _client_session.py
│       │   │   ├── _model.py
│       │   │   ├── _sampling.py
│       │   │   ├── _server_extensions.py
│       │   │   ├── _tool_utils.py
│       │   │   ├── llm
│       │   │   │   ├── __init__.py
│       │   │   │   ├── chat_completion.py
│       │   │   │   ├── helpers.py
│       │   │   │   ├── llm_types.py
│       │   │   │   ├── mcp_chat_completion.py
│       │   │   │   └── openai_chat_completion.py
│       │   │   └── server
│       │   │       ├── __init__.py
│       │   │       └── storage.py
│       │   ├── pyproject.toml
│       │   ├── README.md
│       │   ├── tests
│       │   │   └── test_tool_utils.py
│       │   └── uv.lock
│       ├── mcp-tunnel
│       │   ├── .vscode
│       │   │   └── settings.json
│       │   ├── Makefile
│       │   ├── mcp_tunnel
│       │   │   ├── __init__.py
│       │   │   ├── _devtunnel.py
│       │   │   ├── _dir.py
│       │   │   └── _main.py
│       │   ├── pyproject.toml
│       │   ├── README.md
│       │   └── uv.lock
│       ├── openai-client
│       │   ├── .vscode
│       │   │   └── settings.json
│       │   ├── Makefile
│       │   ├── openai_client
│       │   │   ├── __init__.py
│       │   │   ├── chat_driver
│       │   │   │   ├── __init__.py
│       │   │   │   ├── chat_driver.ipynb
│       │   │   │   ├── chat_driver.py
│       │   │   │   ├── message_history_providers
│       │   │   │   │   ├── __init__.py
│       │   │   │   │   ├── in_memory_message_history_provider.py
│       │   │   │   │   ├── local_message_history_provider.py
│       │   │   │   │   ├── message_history_provider.py
│       │   │   │   │   └── tests
│       │   │   │   │       └── formatted_instructions_test.py
│       │   │   │   └── README.md
│       │   │   ├── client.py
│       │   │   ├── completion.py
│       │   │   ├── config.py
│       │   │   ├── errors.py
│       │   │   ├── logging.py
│       │   │   ├── messages.py
│       │   │   ├── tokens.py
│       │   │   └── tools.py
│       │   ├── pyproject.toml
│       │   ├── README.md
│       │   ├── tests
│       │   │   ├── test_command_parsing.py
│       │   │   ├── test_formatted_messages.py
│       │   │   ├── test_messages.py
│       │   │   └── test_tokens.py
│       │   └── uv.lock
│       ├── semantic-workbench-api-model
│       │   ├── .vscode
│       │   │   └── settings.json
│       │   ├── Makefile
│       │   ├── pyproject.toml
│       │   ├── README.md
│       │   ├── semantic_workbench_api_model
│       │   │   ├── __init__.py
│       │   │   ├── assistant_model.py
│       │   │   ├── assistant_service_client.py
│       │   │   ├── workbench_model.py
│       │   │   └── workbench_service_client.py
│       │   └── uv.lock
│       ├── semantic-workbench-assistant
│       │   ├── .vscode
│       │   │   ├── launch.json
│       │   │   └── settings.json
│       │   ├── Makefile
│       │   ├── pyproject.toml
│       │   ├── README.md
│       │   ├── semantic_workbench_assistant
│       │   │   ├── __init__.py
│       │   │   ├── assistant_app
│       │   │   │   ├── __init__.py
│       │   │   │   ├── assistant.py
│       │   │   │   ├── config.py
│       │   │   │   ├── content_safety.py
│       │   │   │   ├── context.py
│       │   │   │   ├── error.py
│       │   │   │   ├── export_import.py
│       │   │   │   ├── protocol.py
│       │   │   │   └── service.py
│       │   │   ├── assistant_service.py
│       │   │   ├── auth.py
│       │   │   ├── canonical.py
│       │   │   ├── command.py
│       │   │   ├── config.py
│       │   │   ├── logging_config.py
│       │   │   ├── settings.py
│       │   │   ├── start.py
│       │   │   └── storage.py
│       │   ├── tests
│       │   │   ├── conftest.py
│       │   │   ├── test_assistant_app.py
│       │   │   ├── test_canonical.py
│       │   │   ├── test_config.py
│       │   │   └── test_storage.py
│       │   └── uv.lock
│       └── skills
│           ├── .vscode
│           │   └── settings.json
│           ├── Makefile
│           ├── README.md
│           └── skill-library
│               ├── .vscode
│               │   └── settings.json
│               ├── docs
│               │   └── vs-recipe-tool.md
│               ├── Makefile
│               ├── pyproject.toml
│               ├── README.md
│               ├── skill_library
│               │   ├── __init__.py
│               │   ├── chat_driver_helpers.py
│               │   ├── cli
│               │   │   ├── azure_openai.py
│               │   │   ├── conversation_history.py
│               │   │   ├── README.md
│               │   │   ├── run_routine.py
│               │   │   ├── settings.py
│               │   │   └── skill_logger.py
│               │   ├── engine.py
│               │   ├── llm_info.txt
│               │   ├── logging.py
│               │   ├── README.md
│               │   ├── routine_stack.py
│               │   ├── skill.py
│               │   ├── skills
│               │   │   ├── common
│               │   │   │   ├── __init__.py
│               │   │   │   ├── common_skill.py
│               │   │   │   └── routines
│               │   │   │       ├── bing_search.py
│               │   │   │       ├── consolidate.py
│               │   │   │       ├── echo.py
│               │   │   │       ├── gather_context.py
│               │   │   │       ├── get_content_from_url.py
│               │   │   │       ├── gpt_complete.py
│               │   │   │       ├── select_user_intent.py
│               │   │   │       └── summarize.py
│               │   │   ├── eval
│               │   │   │   ├── __init__.py
│               │   │   │   ├── eval_skill.py
│               │   │   │   └── routines
│               │   │   │       └── eval.py
│               │   │   ├── fabric
│               │   │   │   ├── __init__.py
│               │   │   │   ├── fabric_skill.py
│               │   │   │   ├── patterns
│               │   │   │   │   ├── agility_story
│               │   │   │   │   │   ├── system.md
│               │   │   │   │   │   └── user.md
│               │   │   │   │   ├── ai
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── analyze_answers
│               │   │   │   │   │   ├── README.md
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── analyze_candidates
│               │   │   │   │   │   ├── system.md
│               │   │   │   │   │   └── user.md
│               │   │   │   │   ├── analyze_cfp_submission
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── analyze_claims
│               │   │   │   │   │   ├── system.md
│               │   │   │   │   │   └── user.md
│               │   │   │   │   ├── analyze_comments
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── analyze_debate
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── analyze_email_headers
│               │   │   │   │   │   ├── system.md
│               │   │   │   │   │   └── user.md
│               │   │   │   │   ├── analyze_incident
│               │   │   │   │   │   ├── system.md
│               │   │   │   │   │   └── user.md
│               │   │   │   │   ├── analyze_interviewer_techniques
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── analyze_logs
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── analyze_malware
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── analyze_military_strategy
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── analyze_mistakes
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── analyze_paper
│               │   │   │   │   │   ├── system.md
│               │   │   │   │   │   └── user.md
│               │   │   │   │   ├── analyze_patent
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── analyze_personality
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── analyze_presentation
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── analyze_product_feedback
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── analyze_proposition
│               │   │   │   │   │   ├── system.md
│               │   │   │   │   │   └── user.md
│               │   │   │   │   ├── analyze_prose
│               │   │   │   │   │   ├── system.md
│               │   │   │   │   │   └── user.md
│               │   │   │   │   ├── analyze_prose_json
│               │   │   │   │   │   ├── system.md
│               │   │   │   │   │   └── user.md
│               │   │   │   │   ├── analyze_prose_pinker
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── analyze_risk
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── analyze_sales_call
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── analyze_spiritual_text
│               │   │   │   │   │   ├── system.md
│               │   │   │   │   │   └── user.md
│               │   │   │   │   ├── analyze_tech_impact
│               │   │   │   │   │   ├── system.md
│               │   │   │   │   │   └── user.md
│               │   │   │   │   ├── analyze_threat_report
│               │   │   │   │   │   ├── system.md
│               │   │   │   │   │   └── user.md
│               │   │   │   │   ├── analyze_threat_report_cmds
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── analyze_threat_report_trends
│               │   │   │   │   │   ├── system.md
│               │   │   │   │   │   └── user.md
│               │   │   │   │   ├── answer_interview_question
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── ask_secure_by_design_questions
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── ask_uncle_duke
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── capture_thinkers_work
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── check_agreement
│               │   │   │   │   │   ├── system.md
│               │   │   │   │   │   └── user.md
│               │   │   │   │   ├── clean_text
│               │   │   │   │   │   ├── system.md
│               │   │   │   │   │   └── user.md
│               │   │   │   │   ├── coding_master
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── compare_and_contrast
│               │   │   │   │   │   ├── system.md
│               │   │   │   │   │   └── user.md
│               │   │   │   │   ├── convert_to_markdown
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── create_5_sentence_summary
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── create_academic_paper
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── create_ai_jobs_analysis
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── create_aphorisms
│               │   │   │   │   │   ├── system.md
│               │   │   │   │   │   └── user.md
│               │   │   │   │   ├── create_art_prompt
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── create_better_frame
│               │   │   │   │   │   ├── system.md
│               │   │   │   │   │   └── user.md
│               │   │   │   │   ├── create_coding_project
│               │   │   │   │   │   ├── README.md
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── create_command
│               │   │   │   │   │   ├── README.md
│               │   │   │   │   │   ├── system.md
│               │   │   │   │   │   └── user.md
│               │   │   │   │   ├── create_cyber_summary
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── create_design_document
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── create_diy
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── create_formal_email
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── create_git_diff_commit
│               │   │   │   │   │   ├── README.md
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── create_graph_from_input
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── create_hormozi_offer
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── create_idea_compass
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── create_investigation_visualization
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── create_keynote
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── create_logo
│               │   │   │   │   │   ├── system.md
│               │   │   │   │   │   └── user.md
│               │   │   │   │   ├── create_markmap_visualization
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── create_mermaid_visualization
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── create_mermaid_visualization_for_github
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── create_micro_summary
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── create_network_threat_landscape
│               │   │   │   │   │   ├── system.md
│               │   │   │   │   │   └── user.md
│               │   │   │   │   ├── create_newsletter_entry
│               │   │   │   │   │   ├── system.md
│               │   │   │   │   │   └── user.md
│               │   │   │   │   ├── create_npc
│               │   │   │   │   │   ├── system.md
│               │   │   │   │   │   └── user.md
│               │   │   │   │   ├── create_pattern
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── create_prd
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── create_prediction_block
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── create_quiz
│               │   │   │   │   │   ├── README.md
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── create_reading_plan
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── create_recursive_outline
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── create_report_finding
│               │   │   │   │   │   ├── system.md
│               │   │   │   │   │   └── user.md
│               │   │   │   │   ├── create_rpg_summary
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── create_security_update
│               │   │   │   │   │   ├── system.md
│               │   │   │   │   │   └── user.md
│               │   │   │   │   ├── create_show_intro
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── create_sigma_rules
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── create_story_explanation
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── create_stride_threat_model
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── create_summary
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── create_tags
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── create_threat_scenarios
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── create_ttrc_graph
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── create_ttrc_narrative
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── create_upgrade_pack
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── create_user_story
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── create_video_chapters
│               │   │   │   │   │   ├── system.md
│               │   │   │   │   │   └── user.md
│               │   │   │   │   ├── create_visualization
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── dialog_with_socrates
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── enrich_blog_post
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── explain_code
│               │   │   │   │   │   ├── system.md
│               │   │   │   │   │   └── user.md
│               │   │   │   │   ├── explain_docs
│               │   │   │   │   │   ├── system.md
│               │   │   │   │   │   └── user.md
│               │   │   │   │   ├── explain_math
│               │   │   │   │   │   ├── README.md
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── explain_project
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── explain_terms
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── export_data_as_csv
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── extract_algorithm_update_recommendations
│               │   │   │   │   │   ├── system.md
│               │   │   │   │   │   └── user.md
│               │   │   │   │   ├── extract_article_wisdom
│               │   │   │   │   │   ├── dmiessler
│               │   │   │   │   │   │   └── extract_wisdom-1.0.0
│               │   │   │   │   │   │       ├── system.md
│               │   │   │   │   │   │       └── user.md
│               │   │   │   │   │   ├── README.md
│               │   │   │   │   │   ├── system.md
│               │   │   │   │   │   └── user.md
│               │   │   │   │   ├── extract_book_ideas
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── extract_book_recommendations
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── extract_business_ideas
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── extract_controversial_ideas
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── extract_core_message
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── extract_ctf_writeup
│               │   │   │   │   │   ├── README.md
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── extract_domains
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── extract_extraordinary_claims
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── extract_ideas
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── extract_insights
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── extract_insights_dm
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── extract_instructions
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── extract_jokes
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── extract_latest_video
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── extract_main_idea
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── extract_most_redeeming_thing
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── extract_patterns
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── extract_poc
│               │   │   │   │   │   ├── system.md
│               │   │   │   │   │   └── user.md
│               │   │   │   │   ├── extract_predictions
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── extract_primary_problem
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── extract_primary_solution
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── extract_product_features
│               │   │   │   │   │   ├── dmiessler
│               │   │   │   │   │   │   └── extract_wisdom-1.0.0
│               │   │   │   │   │   │       ├── system.md
│               │   │   │   │   │   │       └── user.md
│               │   │   │   │   │   ├── README.md
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── extract_questions
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── extract_recipe
│               │   │   │   │   │   ├── README.md
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── extract_recommendations
│               │   │   │   │   │   ├── system.md
│               │   │   │   │   │   └── user.md
│               │   │   │   │   ├── extract_references
│               │   │   │   │   │   ├── system.md
│               │   │   │   │   │   └── user.md
│               │   │   │   │   ├── extract_skills
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── extract_song_meaning
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── extract_sponsors
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── extract_videoid
│               │   │   │   │   │   ├── system.md
│               │   │   │   │   │   └── user.md
│               │   │   │   │   ├── extract_wisdom
│               │   │   │   │   │   ├── dmiessler
│               │   │   │   │   │   │   └── extract_wisdom-1.0.0
│               │   │   │   │   │   │       ├── system.md
│               │   │   │   │   │   │       └── user.md
│               │   │   │   │   │   ├── README.md
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── extract_wisdom_agents
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── extract_wisdom_dm
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── extract_wisdom_nometa
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── find_hidden_message
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── find_logical_fallacies
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── get_wow_per_minute
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── get_youtube_rss
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── humanize
│               │   │   │   │   │   ├── README.md
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── identify_dsrp_distinctions
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── identify_dsrp_perspectives
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── identify_dsrp_relationships
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── identify_dsrp_systems
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── identify_job_stories
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── improve_academic_writing
│               │   │   │   │   │   ├── system.md
│               │   │   │   │   │   └── user.md
│               │   │   │   │   ├── improve_prompt
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── improve_report_finding
│               │   │   │   │   │   ├── system.md
│               │   │   │   │   │   └── user.md
│               │   │   │   │   ├── improve_writing
│               │   │   │   │   │   ├── system.md
│               │   │   │   │   │   └── user.md
│               │   │   │   │   ├── judge_output
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── label_and_rate
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── loaded
│               │   │   │   │   ├── md_callout
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── official_pattern_template
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── pattern_explanations.md
│               │   │   │   │   ├── prepare_7s_strategy
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── provide_guidance
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── rate_ai_response
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── rate_ai_result
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── rate_content
│               │   │   │   │   │   ├── system.md
│               │   │   │   │   │   └── user.md
│               │   │   │   │   ├── rate_value
│               │   │   │   │   │   ├── README.md
│               │   │   │   │   │   ├── system.md
│               │   │   │   │   │   └── user.md
│               │   │   │   │   ├── raw_query
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── raycast
│               │   │   │   │   │   ├── capture_thinkers_work
│               │   │   │   │   │   ├── create_story_explanation
│               │   │   │   │   │   ├── extract_primary_problem
│               │   │   │   │   │   ├── extract_wisdom
│               │   │   │   │   │   └── yt
│               │   │   │   │   ├── recommend_artists
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── recommend_pipeline_upgrades
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── recommend_talkpanel_topics
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── refine_design_document
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── review_design
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── sanitize_broken_html_to_markdown
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── show_fabric_options_markmap
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── solve_with_cot
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── stringify
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── suggest_pattern
│               │   │   │   │   │   ├── system.md
│               │   │   │   │   │   └── user.md
│               │   │   │   │   ├── summarize
│               │   │   │   │   │   ├── dmiessler
│               │   │   │   │   │   │   └── summarize
│               │   │   │   │   │   │       ├── system.md
│               │   │   │   │   │   │       └── user.md
│               │   │   │   │   │   ├── system.md
│               │   │   │   │   │   └── user.md
│               │   │   │   │   ├── summarize_debate
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── summarize_git_changes
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── summarize_git_diff
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── summarize_lecture
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── summarize_legislation
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── summarize_meeting
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── summarize_micro
│               │   │   │   │   │   ├── system.md
│               │   │   │   │   │   └── user.md
│               │   │   │   │   ├── summarize_newsletter
│               │   │   │   │   │   ├── system.md
│               │   │   │   │   │   └── user.md
│               │   │   │   │   ├── summarize_paper
│               │   │   │   │   │   ├── README.md
│               │   │   │   │   │   ├── system.md
│               │   │   │   │   │   └── user.md
│               │   │   │   │   ├── summarize_prompt
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── summarize_pull-requests
│               │   │   │   │   │   ├── system.md
│               │   │   │   │   │   └── user.md
│               │   │   │   │   ├── summarize_rpg_session
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── t_analyze_challenge_handling
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── t_check_metrics
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── t_create_h3_career
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── t_create_opening_sentences
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── t_describe_life_outlook
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── t_extract_intro_sentences
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── t_extract_panel_topics
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── t_find_blindspots
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── t_find_negative_thinking
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── t_find_neglected_goals
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── t_give_encouragement
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── t_red_team_thinking
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── t_threat_model_plans
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── t_visualize_mission_goals_projects
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── t_year_in_review
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── to_flashcards
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── transcribe_minutes
│               │   │   │   │   │   ├── README.md
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── translate
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── tweet
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── write_essay
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── write_hackerone_report
│               │   │   │   │   │   ├── README.md
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── write_latex
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── write_micro_essay
│               │   │   │   │   │   └── system.md
│               │   │   │   │   ├── write_nuclei_template_rule
│               │   │   │   │   │   ├── system.md
│               │   │   │   │   │   └── user.md
│               │   │   │   │   ├── write_pull-request
│               │   │   │   │   │   └── system.md
│               │   │   │   │   └── write_semgrep_rule
│               │   │   │   │       ├── system.md
│               │   │   │   │       └── user.md
│               │   │   │   └── routines
│               │   │   │       ├── list.py
│               │   │   │       ├── run.py
│               │   │   │       └── show.py
│               │   │   ├── guided_conversation
│               │   │   │   ├── __init__.py
│               │   │   │   ├── agenda.py
│               │   │   │   ├── artifact_helpers.py
│               │   │   │   ├── chat_completions
│               │   │   │   │   ├── fix_agenda_error.py
│               │   │   │   │   ├── fix_artifact_error.py
│               │   │   │   │   ├── generate_agenda.py
│               │   │   │   │   ├── generate_artifact_updates.py
│               │   │   │   │   ├── generate_final_artifact.py
│               │   │   │   │   └── generate_message.py
│               │   │   │   ├── conversation_guides
│               │   │   │   │   ├── __init__.py
│               │   │   │   │   ├── acrostic_poem.py
│               │   │   │   │   ├── er_triage.py
│               │   │   │   │   ├── interview.py
│               │   │   │   │   └── patient_intake.py
│               │   │   │   ├── guide.py
│               │   │   │   ├── guided_conversation_skill.py
│               │   │   │   ├── logging.py
│               │   │   │   ├── message.py
│               │   │   │   ├── resources.py
│               │   │   │   ├── routines
│               │   │   │   │   └── guided_conversation.py
│               │   │   │   └── tests
│               │   │   │       ├── conftest.py
│               │   │   │       ├── test_artifact_helpers.py
│               │   │   │       ├── test_generate_agenda.py
│               │   │   │       ├── test_generate_artifact_updates.py
│               │   │   │       ├── test_generate_final_artifact.py
│               │   │   │       └── test_resource.py
│               │   │   ├── meta
│               │   │   │   ├── __init__.py
│               │   │   │   ├── meta_skill.py
│               │   │   │   ├── README.md
│               │   │   │   └── routines
│               │   │   │       └── generate_routine.py
│               │   │   ├── posix
│               │   │   │   ├── __init__.py
│               │   │   │   ├── posix_skill.py
│               │   │   │   ├── routines
│               │   │   │   │   ├── append_file.py
│               │   │   │   │   ├── cd.py
│               │   │   │   │   ├── ls.py
│               │   │   │   │   ├── make_home_dir.py
│               │   │   │   │   ├── mkdir.py
│               │   │   │   │   ├── mv.py
│               │   │   │   │   ├── pwd.py
│               │   │   │   │   ├── read_file.py
│               │   │   │   │   ├── rm.py
│               │   │   │   │   ├── touch.py
│               │   │   │   │   └── write_file.py
│               │   │   │   └── sandbox_shell.py
│               │   │   ├── README.md
│               │   │   ├── research
│               │   │   │   ├── __init__.py
│               │   │   │   ├── README.md
│               │   │   │   ├── research_skill.py
│               │   │   │   └── routines
│               │   │   │       ├── answer_question_about_content.py
│               │   │   │       ├── evaluate_answer.py
│               │   │   │       ├── generate_research_plan.py
│               │   │   │       ├── generate_search_query.py
│               │   │   │       ├── update_research_plan.py
│               │   │   │       ├── web_research.py
│               │   │   │       └── web_search.py
│               │   │   ├── research2
│               │   │   │   ├── __init__.py
│               │   │   │   ├── README.md
│               │   │   │   ├── research_skill.py
│               │   │   │   └── routines
│               │   │   │       ├── facts.py
│               │   │   │       ├── make_final_report.py
│               │   │   │       ├── research.py
│               │   │   │       ├── search_plan.py
│               │   │   │       ├── search.py
│               │   │   │       └── visit_pages.py
│               │   │   └── web_research
│               │   │       ├── __init__.py
│               │   │       ├── README.md
│               │   │       ├── research_skill.py
│               │   │       └── routines
│               │   │           ├── facts.py
│               │   │           ├── make_final_report.py
│               │   │           ├── research.py
│               │   │           ├── search_plan.py
│               │   │           ├── search.py
│               │   │           └── visit_pages.py
│               │   ├── tests
│               │   │   ├── test_common_skill.py
│               │   │   ├── test_integration.py
│               │   │   ├── test_routine_stack.py
│               │   │   ├── tst_skill
│               │   │   │   ├── __init__.py
│               │   │   │   └── routines
│               │   │   │       ├── __init__.py
│               │   │   │       └── a_routine.py
│               │   │   └── utilities
│               │   │       ├── test_find_template_vars.py
│               │   │       ├── test_make_arg_set.py
│               │   │       ├── test_paramspec.py
│               │   │       ├── test_parse_command_string.py
│               │   │       └── test_to_string.py
│               │   ├── types.py
│               │   ├── usage.py
│               │   └── utilities.py
│               └── uv.lock
├── LICENSE
├── Makefile
├── mcp-servers
│   ├── ai-assist-content
│   │   ├── .vscode
│   │   │   └── settings.json
│   │   ├── mcp-example-brave-search.md
│   │   ├── mcp-fastmcp-typescript-README.md
│   │   ├── mcp-llms-full.txt
│   │   ├── mcp-metadata-tips.md
│   │   ├── mcp-python-sdk-README.md
│   │   ├── mcp-typescript-sdk-README.md
│   │   ├── pydanticai-documentation.md
│   │   ├── pydanticai-example-question-graph.md
│   │   ├── pydanticai-example-weather.md
│   │   ├── pydanticai-tutorial.md
│   │   └── README.md
│   ├── Makefile
│   ├── mcp-server-bing-search
│   │   ├── .env.example
│   │   ├── .gitignore
│   │   ├── .vscode
│   │   │   ├── launch.json
│   │   │   └── settings.json
│   │   ├── Makefile
│   │   ├── mcp_server_bing_search
│   │   │   ├── __init__.py
│   │   │   ├── config.py
│   │   │   ├── prompts
│   │   │   │   ├── __init__.py
│   │   │   │   ├── clean_website.py
│   │   │   │   └── filter_links.py
│   │   │   ├── server.py
│   │   │   ├── start.py
│   │   │   ├── tools.py
│   │   │   ├── types.py
│   │   │   ├── utils.py
│   │   │   └── web
│   │   │       ├── __init__.py
│   │   │       ├── get_content.py
│   │   │       ├── llm_processing.py
│   │   │       ├── process_website.py
│   │   │       └── search_bing.py
│   │   ├── pyproject.toml
│   │   ├── README.md
│   │   ├── tests
│   │   │   └── test_tools.py
│   │   └── uv.lock
│   ├── mcp-server-bundle
│   │   ├── .vscode
│   │   │   ├── launch.json
│   │   │   └── settings.json
│   │   ├── Makefile
│   │   ├── mcp_server_bundle
│   │   │   ├── __init__.py
│   │   │   └── main.py
│   │   ├── pyinstaller.spec
│   │   ├── pyproject.toml
│   │   ├── README.md
│   │   └── uv.lock
│   ├── mcp-server-filesystem
│   │   ├── .env.example
│   │   ├── .github
│   │   │   └── workflows
│   │   │       └── ci.yml
│   │   ├── .gitignore
│   │   ├── .vscode
│   │   │   ├── launch.json
│   │   │   └── settings.json
│   │   ├── Makefile
│   │   ├── mcp_server_filesystem
│   │   │   ├── __init__.py
│   │   │   ├── config.py
│   │   │   ├── server.py
│   │   │   └── start.py
│   │   ├── pyproject.toml
│   │   ├── README.md
│   │   ├── tests
│   │   │   └── test_filesystem.py
│   │   └── uv.lock
│   ├── mcp-server-filesystem-edit
│   │   ├── .env.example
│   │   ├── .gitignore
│   │   ├── .vscode
│   │   │   ├── launch.json
│   │   │   └── settings.json
│   │   ├── data
│   │   │   ├── attachments
│   │   │   │   ├── Daily Game Ideas.txt
│   │   │   │   ├── Frontend Framework Proposal.txt
│   │   │   │   ├── ReDoodle.txt
│   │   │   │   └── Research Template.tex
│   │   │   ├── test_cases.yaml
│   │   │   └── transcripts
│   │   │       ├── transcript_research_simple.md
│   │   │       ├── transcript_Startup_Idea_1_202503031513.md
│   │   │       ├── transcript_Startup_Idea_2_202503031659.md
│   │   │       └── transcript_Web_Frontends_202502281551.md
│   │   ├── Makefile
│   │   ├── mcp_server_filesystem_edit
│   │   │   ├── __init__.py
│   │   │   ├── app_handling
│   │   │   │   ├── __init__.py
│   │   │   │   ├── excel.py
│   │   │   │   ├── miktex.py
│   │   │   │   ├── office_common.py
│   │   │   │   ├── powerpoint.py
│   │   │   │   └── word.py
│   │   │   ├── config.py
│   │   │   ├── evals
│   │   │   │   ├── __init__.py
│   │   │   │   ├── common.py
│   │   │   │   ├── run_comments.py
│   │   │   │   ├── run_edit.py
│   │   │   │   └── run_ppt_edit.py
│   │   │   ├── prompts
│   │   │   │   ├── __init__.py
│   │   │   │   ├── add_comments.py
│   │   │   │   ├── analyze_comments.py
│   │   │   │   ├── latex_edit.py
│   │   │   │   ├── markdown_draft.py
│   │   │   │   ├── markdown_edit.py
│   │   │   │   └── powerpoint_edit.py
│   │   │   ├── server.py
│   │   │   ├── start.py
│   │   │   ├── tools
│   │   │   │   ├── __init__.py
│   │   │   │   ├── add_comments.py
│   │   │   │   ├── edit_adapters
│   │   │   │   │   ├── __init__.py
│   │   │   │   │   ├── common.py
│   │   │   │   │   ├── latex.py
│   │   │   │   │   └── markdown.py
│   │   │   │   ├── edit.py
│   │   │   │   └── helpers.py
│   │   │   └── types.py
│   │   ├── pyproject.toml
│   │   ├── README.md
│   │   ├── tests
│   │   │   ├── app_handling
│   │   │   │   ├── test_excel.py
│   │   │   │   ├── test_miktext.py
│   │   │   │   ├── test_office_common.py
│   │   │   │   ├── test_powerpoint.py
│   │   │   │   └── test_word.py
│   │   │   ├── conftest.py
│   │   │   └── tools
│   │   │       └── edit_adapters
│   │   │           ├── test_latex.py
│   │   │           └── test_markdown.py
│   │   └── uv.lock
│   ├── mcp-server-fusion
│   │   ├── .gitignore
│   │   ├── .vscode
│   │   │   ├── launch.json
│   │   │   └── settings.json
│   │   ├── AddInIcon.svg
│   │   ├── config.py
│   │   ├── FusionMCPServerAddIn.manifest
│   │   ├── FusionMCPServerAddIn.py
│   │   ├── mcp_server_fusion
│   │   │   ├── __init__.py
│   │   │   ├── fusion_mcp_server.py
│   │   │   ├── fusion_utils
│   │   │   │   ├── __init__.py
│   │   │   │   ├── event_utils.py
│   │   │   │   ├── general_utils.py
│   │   │   │   └── tool_utils.py
│   │   │   ├── mcp_tools
│   │   │   │   ├── __init__.py
│   │   │   │   ├── fusion_3d_operation.py
│   │   │   │   ├── fusion_geometry.py
│   │   │   │   ├── fusion_pattern.py
│   │   │   │   └── fusion_sketch.py
│   │   │   └── vendor
│   │   │       └── README.md
│   │   ├── README.md
│   │   └── requirements.txt
│   ├── mcp-server-giphy
│   │   ├── .env.example
│   │   ├── .gitignore
│   │   ├── .vscode
│   │   │   ├── launch.json
│   │   │   └── settings.json
│   │   ├── Makefile
│   │   ├── mcp_server
│   │   │   ├── __init__.py
│   │   │   ├── config.py
│   │   │   ├── giphy_search.py
│   │   │   ├── sampling.py
│   │   │   ├── server.py
│   │   │   ├── start.py
│   │   │   └── utils.py
│   │   ├── pyproject.toml
│   │   ├── README.md
│   │   └── uv.lock
│   ├── mcp-server-memory-user-bio
│   │   ├── .env.example
│   │   ├── .gitignore
│   │   ├── .vscode
│   │   │   ├── launch.json
│   │   │   └── settings.json
│   │   ├── Makefile
│   │   ├── mcp_server_memory_user_bio
│   │   │   ├── __init__.py
│   │   │   ├── config.py
│   │   │   ├── server.py
│   │   │   └── start.py
│   │   ├── pyproject.toml
│   │   ├── README.md
│   │   └── uv.lock
│   ├── mcp-server-memory-whiteboard
│   │   ├── .env.example
│   │   ├── .gitignore
│   │   ├── .vscode
│   │   │   ├── launch.json
│   │   │   └── settings.json
│   │   ├── Makefile
│   │   ├── mcp_server_memory_whiteboard
│   │   │   ├── __init__.py
│   │   │   ├── config.py
│   │   │   ├── server.py
│   │   │   └── start.py
│   │   ├── pyproject.toml
│   │   ├── README.md
│   │   └── uv.lock
│   ├── mcp-server-office
│   │   ├── .env.example
│   │   ├── .vscode
│   │   │   ├── launch.json
│   │   │   └── settings.json
│   │   ├── build.sh
│   │   ├── data
│   │   │   ├── attachments
│   │   │   │   ├── Daily Game Ideas.txt
│   │   │   │   ├── Frontend Framework Proposal.txt
│   │   │   │   └── ReDoodle.txt
│   │   │   └── word
│   │   │       ├── test_cases.yaml
│   │   │       └── transcripts
│   │   │           ├── transcript_Startup_Idea_1_202503031513.md
│   │   │           ├── transcript_Startup_Idea_2_202503031659.md
│   │   │           └── transcript_Web_Frontends_202502281551.md
│   │   ├── Makefile
│   │   ├── mcp_server
│   │   │   ├── __init__.py
│   │   │   ├── app_interaction
│   │   │   │   ├── __init__.py
│   │   │   │   ├── excel_editor.py
│   │   │   │   ├── powerpoint_editor.py
│   │   │   │   └── word_editor.py
│   │   │   ├── config.py
│   │   │   ├── constants.py
│   │   │   ├── evals
│   │   │   │   ├── __init__.py
│   │   │   │   ├── common.py
│   │   │   │   ├── run_comment_analysis.py
│   │   │   │   ├── run_feedback.py
│   │   │   │   └── run_markdown_edit.py
│   │   │   ├── helpers.py
│   │   │   ├── markdown_edit
│   │   │   │   ├── __init__.py
│   │   │   │   ├── comment_analysis.py
│   │   │   │   ├── feedback_step.py
│   │   │   │   ├── markdown_edit.py
│   │   │   │   └── utils.py
│   │   │   ├── prompts
│   │   │   │   ├── __init__.py
│   │   │   │   ├── comment_analysis.py
│   │   │   │   ├── feedback.py
│   │   │   │   ├── markdown_draft.py
│   │   │   │   └── markdown_edit.py
│   │   │   ├── server.py
│   │   │   ├── start.py
│   │   │   └── types.py
│   │   ├── pyproject.toml
│   │   ├── README.md
│   │   ├── tests
│   │   │   └── test_word_editor.py
│   │   └── uv.lock
│   ├── mcp-server-open-deep-research
│   │   ├── .env.example
│   │   ├── .gitignore
│   │   ├── .vscode
│   │   │   ├── launch.json
│   │   │   └── settings.json
│   │   ├── Makefile
│   │   ├── mcp_server
│   │   │   ├── __init__.py
│   │   │   ├── config.py
│   │   │   ├── libs
│   │   │   │   └── open_deep_research
│   │   │   │       ├── cookies.py
│   │   │   │       ├── mdconvert.py
│   │   │   │       ├── run_agents.py
│   │   │   │       ├── text_inspector_tool.py
│   │   │   │       ├── text_web_browser.py
│   │   │   │       └── visual_qa.py
│   │   │   ├── open_deep_research.py
│   │   │   ├── server.py
│   │   │   └── start.py
│   │   ├── pyproject.toml
│   │   ├── README.md
│   │   └── uv.lock
│   ├── mcp-server-open-deep-research-clone
│   │   ├── .env.example
│   │   ├── .gitignore
│   │   ├── .vscode
│   │   │   ├── launch.json
│   │   │   └── settings.json
│   │   ├── Makefile
│   │   ├── mcp_server_open_deep_research_clone
│   │   │   ├── __init__.py
│   │   │   ├── azure_openai.py
│   │   │   ├── config.py
│   │   │   ├── logging.py
│   │   │   ├── sampling.py
│   │   │   ├── server.py
│   │   │   ├── start.py
│   │   │   ├── utils.py
│   │   │   └── web_research.py
│   │   ├── pyproject.toml
│   │   ├── README.md
│   │   ├── test
│   │   │   └── test_open_deep_research_clone.py
│   │   └── uv.lock
│   ├── mcp-server-template
│   │   ├── .taplo.toml
│   │   ├── .vscode
│   │   │   └── settings.json
│   │   ├── copier.yml
│   │   ├── README.md
│   │   └── template
│   │       └── {{ project_slug }}
│   │           ├── .env.example.jinja
│   │           ├── .gitignore
│   │           ├── .vscode
│   │           │   ├── launch.json.jinja
│   │           │   └── settings.json
│   │           ├── {{ module_name }}
│   │           │   ├── __init__.py
│   │           │   ├── config.py.jinja
│   │           │   ├── server.py.jinja
│   │           │   └── start.py.jinja
│   │           ├── Makefile.jinja
│   │           ├── pyproject.toml.jinja
│   │           └── README.md.jinja
│   ├── mcp-server-vscode
│   │   ├── .eslintrc.cjs
│   │   ├── .gitignore
│   │   ├── .npmrc
│   │   ├── .vscode
│   │   │   ├── extensions.json
│   │   │   ├── launch.json
│   │   │   ├── settings.json
│   │   │   └── tasks.json
│   │   ├── .vscode-test.mjs
│   │   ├── .vscodeignore
│   │   ├── ASSISTANT_BOOTSTRAP.md
│   │   ├── eslint.config.mjs
│   │   ├── images
│   │   │   └── icon.png
│   │   ├── LICENSE
│   │   ├── Makefile
│   │   ├── out
│   │   │   ├── extension.d.ts
│   │   │   ├── extension.js
│   │   │   ├── test
│   │   │   │   ├── extension.test.d.ts
│   │   │   │   └── extension.test.js
│   │   │   ├── tools
│   │   │   │   ├── code_checker.d.ts
│   │   │   │   ├── code_checker.js
│   │   │   │   ├── debug_tools.d.ts
│   │   │   │   ├── debug_tools.js
│   │   │   │   ├── focus_editor.d.ts
│   │   │   │   ├── focus_editor.js
│   │   │   │   ├── search_symbol.d.ts
│   │   │   │   └── search_symbol.js
│   │   │   └── utils
│   │   │       ├── port.d.ts
│   │   │       └── port.js
│   │   ├── package.json
│   │   ├── pnpm-lock.yaml
│   │   ├── prettier.config.cjs
│   │   ├── README.md
│   │   ├── src
│   │   │   ├── extension.d.ts
│   │   │   ├── extension.ts
│   │   │   ├── test
│   │   │   │   ├── extension.test.d.ts
│   │   │   │   └── extension.test.ts
│   │   │   ├── tools
│   │   │   │   ├── code_checker.d.ts
│   │   │   │   ├── code_checker.ts
│   │   │   │   ├── debug_tools.d.ts
│   │   │   │   ├── debug_tools.ts
│   │   │   │   ├── focus_editor.d.ts
│   │   │   │   ├── focus_editor.ts
│   │   │   │   ├── search_symbol.d.ts
│   │   │   │   └── search_symbol.ts
│   │   │   └── utils
│   │   │       ├── port.d.ts
│   │   │       └── port.ts
│   │   ├── tsconfig.json
│   │   ├── tsconfig.tsbuildinfo
│   │   ├── vsc-extension-quickstart.md
│   │   └── webpack.config.js
│   └── mcp-server-web-research
│       ├── .env.example
│       ├── .gitignore
│       ├── .vscode
│       │   ├── launch.json
│       │   └── settings.json
│       ├── Makefile
│       ├── mcp_server_web_research
│       │   ├── __init__.py
│       │   ├── azure_openai.py
│       │   ├── config.py
│       │   ├── logging.py
│       │   ├── sampling.py
│       │   ├── server.py
│       │   ├── start.py
│       │   ├── utils.py
│       │   └── web_research.py
│       ├── pyproject.toml
│       ├── README.md
│       ├── test
│       │   └── test_web_research.py
│       └── uv.lock
├── README.md
├── RESPONSIBLE_AI_FAQ.md
├── ruff.toml
├── SECURITY.md
├── semantic-workbench.code-workspace
├── SUPPORT.md
├── tools
│   ├── build_ai_context_files.py
│   ├── collect_files.py
│   ├── docker
│   │   ├── azure_website_sshd.conf
│   │   ├── docker-entrypoint.sh
│   │   ├── Dockerfile.assistant
│   │   └── Dockerfile.mcp-server
│   ├── makefiles
│   │   ├── docker-assistant.mk
│   │   ├── docker-mcp-server.mk
│   │   ├── docker.mk
│   │   ├── python.mk
│   │   ├── recursive.mk
│   │   └── shell.mk
│   ├── reset-service-data.ps1
│   ├── reset-service-data.sh
│   ├── run-app.ps1
│   ├── run-app.sh
│   ├── run-canonical-agent.ps1
│   ├── run-canonical-agent.sh
│   ├── run-dotnet-examples-with-aspire.sh
│   ├── run-python-example1.sh
│   ├── run-python-example2.ps1
│   ├── run-python-example2.sh
│   ├── run-service.ps1
│   ├── run-service.sh
│   ├── run-workbench-chatbot.ps1
│   └── run-workbench-chatbot.sh
├── workbench-app
│   ├── .dockerignore
│   ├── .env.example
│   ├── .eslintrc.cjs
│   ├── .gitignore
│   ├── .vscode
│   │   ├── launch.json
│   │   └── settings.json
│   ├── docker-entrypoint.sh
│   ├── Dockerfile
│   ├── docs
│   │   ├── APP_DEV_GUIDE.md
│   │   ├── MESSAGE_METADATA.md
│   │   ├── MESSAGE_TYPES.md
│   │   ├── README.md
│   │   └── STATE_INSPECTORS.md
│   ├── index.html
│   ├── Makefile
│   ├── nginx.conf
│   ├── package.json
│   ├── pnpm-lock.yaml
│   ├── prettier.config.cjs
│   ├── public
│   │   └── assets
│   │       ├── background-1-upscaled.jpg
│   │       ├── background-1-upscaled.png
│   │       ├── background-1.jpg
│   │       ├── background-1.png
│   │       ├── background-2.jpg
│   │       ├── background-2.png
│   │       ├── experimental-feature.jpg
│   │       ├── favicon.svg
│   │       ├── workflow-designer-1.jpg
│   │       ├── workflow-designer-outlets.jpg
│   │       ├── workflow-designer-states.jpg
│   │       └── workflow-designer-transitions.jpg
│   ├── README.md
│   ├── run.sh
│   ├── src
│   │   ├── components
│   │   │   ├── App
│   │   │   │   ├── AppFooter.tsx
│   │   │   │   ├── AppHeader.tsx
│   │   │   │   ├── AppMenu.tsx
│   │   │   │   ├── AppView.tsx
│   │   │   │   ├── CodeLabel.tsx
│   │   │   │   ├── CommandButton.tsx
│   │   │   │   ├── ConfirmLeave.tsx
│   │   │   │   ├── ContentExport.tsx
│   │   │   │   ├── ContentImport.tsx
│   │   │   │   ├── CopyButton.tsx
│   │   │   │   ├── DialogControl.tsx
│   │   │   │   ├── DynamicIframe.tsx
│   │   │   │   ├── ErrorListFromAppState.tsx
│   │   │   │   ├── ErrorMessageBar.tsx
│   │   │   │   ├── ExperimentalNotice.tsx
│   │   │   │   ├── FormWidgets
│   │   │   │   │   ├── BaseModelEditorWidget.tsx
│   │   │   │   │   ├── CustomizedArrayFieldTemplate.tsx
│   │   │   │   │   ├── CustomizedFieldTemplate.tsx
│   │   │   │   │   ├── CustomizedObjectFieldTemplate.tsx
│   │   │   │   │   └── InspectableWidget.tsx
│   │   │   │   ├── LabelWithDescription.tsx
│   │   │   │   ├── Loading.tsx
│   │   │   │   ├── MenuItemControl.tsx
│   │   │   │   ├── MiniControl.tsx
│   │   │   │   ├── MyAssistantServiceRegistrations.tsx
│   │   │   │   ├── MyItemsManager.tsx
│   │   │   │   ├── OverflowMenu.tsx
│   │   │   │   ├── PresenceMotionList.tsx
│   │   │   │   ├── ProfileSettings.tsx
│   │   │   │   └── TooltipWrapper.tsx
│   │   │   ├── Assistants
│   │   │   │   ├── ApplyConfigButton.tsx
│   │   │   │   ├── AssistantAdd.tsx
│   │   │   │   ├── AssistantConfigExportButton.tsx
│   │   │   │   ├── AssistantConfigImportButton.tsx
│   │   │   │   ├── AssistantConfiguration.tsx
│   │   │   │   ├── AssistantConfigure.tsx
│   │   │   │   ├── AssistantCreate.tsx
│   │   │   │   ├── AssistantDelete.tsx
│   │   │   │   ├── AssistantDuplicate.tsx
│   │   │   │   ├── AssistantExport.tsx
│   │   │   │   ├── AssistantImport.tsx
│   │   │   │   ├── AssistantRemove.tsx
│   │   │   │   ├── AssistantRename.tsx
│   │   │   │   ├── AssistantServiceInfo.tsx
│   │   │   │   ├── AssistantServiceMetadata.tsx
│   │   │   │   └── MyAssistants.tsx
│   │   │   ├── AssistantServiceRegistrations
│   │   │   │   ├── AssistantServiceRegistrationApiKey.tsx
│   │   │   │   ├── AssistantServiceRegistrationApiKeyReset.tsx
│   │   │   │   ├── AssistantServiceRegistrationCreate.tsx
│   │   │   │   └── AssistantServiceRegistrationRemove.tsx
│   │   │   ├── Conversations
│   │   │   │   ├── Canvas
│   │   │   │   │   ├── AssistantCanvas.tsx
│   │   │   │   │   ├── AssistantCanvasList.tsx
│   │   │   │   │   ├── AssistantInspector.tsx
│   │   │   │   │   ├── AssistantInspectorList.tsx
│   │   │   │   │   └── ConversationCanvas.tsx
│   │   │   │   ├── ChatInputPlugins
│   │   │   │   │   ├── ClearEditorPlugin.tsx
│   │   │   │   │   ├── LexicalMenu.ts
│   │   │   │   │   ├── ParticipantMentionsPlugin.tsx
│   │   │   │   │   ├── TypeaheadMenuPlugin.css
│   │   │   │   │   └── TypeaheadMenuPlugin.tsx
│   │   │   │   ├── ContentRenderers
│   │   │   │   │   ├── CodeContentRenderer.tsx
│   │   │   │   │   ├── ContentListRenderer.tsx
│   │   │   │   │   ├── ContentRenderer.tsx
│   │   │   │   │   ├── DiffRenderer.tsx
│   │   │   │   │   ├── HtmlContentRenderer.tsx
│   │   │   │   │   ├── JsonSchemaContentRenderer.tsx
│   │   │   │   │   ├── MarkdownContentRenderer.tsx
│   │   │   │   │   ├── MarkdownEditorRenderer.tsx
│   │   │   │   │   ├── MermaidContentRenderer.tsx
│   │   │   │   │   ├── MusicABCContentRenderer.css
│   │   │   │   │   └── MusicABCContentRenderer.tsx
│   │   │   │   ├── ContextWindow.tsx
│   │   │   │   ├── ConversationCreate.tsx
│   │   │   │   ├── ConversationDuplicate.tsx
│   │   │   │   ├── ConversationExport.tsx
│   │   │   │   ├── ConversationFileIcon.tsx
│   │   │   │   ├── ConversationRemove.tsx
│   │   │   │   ├── ConversationRename.tsx
│   │   │   │   ├── ConversationShare.tsx
│   │   │   │   ├── ConversationShareCreate.tsx
│   │   │   │   ├── ConversationShareList.tsx
│   │   │   │   ├── ConversationShareView.tsx
│   │   │   │   ├── ConversationsImport.tsx
│   │   │   │   ├── ConversationTranscript.tsx
│   │   │   │   ├── DebugInspector.tsx
│   │   │   │   ├── FileItem.tsx
│   │   │   │   ├── FileList.tsx
│   │   │   │   ├── InputAttachmentList.tsx
│   │   │   │   ├── InputOptionsControl.tsx
│   │   │   │   ├── InteractHistory.tsx
│   │   │   │   ├── InteractInput.tsx
│   │   │   │   ├── Message
│   │   │   │   │   ├── AttachmentSection.tsx
│   │   │   │   │   ├── ContentRenderer.tsx
│   │   │   │   │   ├── ContentSafetyNotice.tsx
│   │   │   │   │   ├── InteractMessage.tsx
│   │   │   │   │   ├── MessageActions.tsx
│   │   │   │   │   ├── MessageBase.tsx
│   │   │   │   │   ├── MessageBody.tsx
│   │   │   │   │   ├── MessageContent.tsx
│   │   │   │   │   ├── MessageFooter.tsx
│   │   │   │   │   ├── MessageHeader.tsx
│   │   │   │   │   ├── NotificationAccordion.tsx
│   │   │   │   │   └── ToolResultMessage.tsx
│   │   │   │   ├── MessageDelete.tsx
│   │   │   │   ├── MessageLink.tsx
│   │   │   │   ├── MyConversations.tsx
│   │   │   │   ├── MyShares.tsx
│   │   │   │   ├── ParticipantAvatar.tsx
│   │   │   │   ├── ParticipantAvatarGroup.tsx
│   │   │   │   ├── ParticipantItem.tsx
│   │   │   │   ├── ParticipantList.tsx
│   │   │   │   ├── ParticipantStatus.tsx
│   │   │   │   ├── RewindConversation.tsx
│   │   │   │   ├── ShareRemove.tsx
│   │   │   │   ├── SpeechButton.tsx
│   │   │   │   └── ToolCalls.tsx
│   │   │   └── FrontDoor
│   │   │       ├── Chat
│   │   │       │   ├── AssistantDrawer.tsx
│   │   │       │   ├── CanvasDrawer.tsx
│   │   │       │   ├── Chat.tsx
│   │   │       │   ├── ChatCanvas.tsx
│   │   │       │   ├── ChatControls.tsx
│   │   │       │   └── ConversationDrawer.tsx
│   │   │       ├── Controls
│   │   │       │   ├── AssistantCard.tsx
│   │   │       │   ├── AssistantSelector.tsx
│   │   │       │   ├── AssistantServiceSelector.tsx
│   │   │       │   ├── ConversationItem.tsx
│   │   │       │   ├── ConversationList.tsx
│   │   │       │   ├── ConversationListOptions.tsx
│   │   │       │   ├── NewConversationButton.tsx
│   │   │       │   ├── NewConversationForm.tsx
│   │   │       │   └── SiteMenuButton.tsx
│   │   │       ├── GlobalContent.tsx
│   │   │       └── MainContent.tsx
│   │   ├── Constants.ts
│   │   ├── global.d.ts
│   │   ├── index.css
│   │   ├── libs
│   │   │   ├── AppStorage.ts
│   │   │   ├── AuthHelper.ts
│   │   │   ├── EventSubscriptionManager.ts
│   │   │   ├── Theme.ts
│   │   │   ├── useAssistantCapabilities.ts
│   │   │   ├── useChatCanvasController.ts
│   │   │   ├── useConversationEvents.ts
│   │   │   ├── useConversationUtility.ts
│   │   │   ├── useCreateConversation.ts
│   │   │   ├── useDebugComponentLifecycle.ts
│   │   │   ├── useDragAndDrop.ts
│   │   │   ├── useEnvironment.ts
│   │   │   ├── useExportUtility.ts
│   │   │   ├── useHistoryUtility.ts
│   │   │   ├── useKeySequence.ts
│   │   │   ├── useMediaQuery.ts
│   │   │   ├── useMicrosoftGraph.ts
│   │   │   ├── useNotify.tsx
│   │   │   ├── useParticipantUtility.tsx
│   │   │   ├── useSiteUtility.ts
│   │   │   ├── useWorkbenchEventSource.ts
│   │   │   ├── useWorkbenchService.ts
│   │   │   └── Utility.ts
│   │   ├── main.tsx
│   │   ├── models
│   │   │   ├── Assistant.ts
│   │   │   ├── AssistantCapability.ts
│   │   │   ├── AssistantServiceInfo.ts
│   │   │   ├── AssistantServiceRegistration.ts
│   │   │   ├── Config.ts
│   │   │   ├── Conversation.ts
│   │   │   ├── ConversationFile.ts
│   │   │   ├── ConversationMessage.ts
│   │   │   ├── ConversationMessageDebug.ts
│   │   │   ├── ConversationParticipant.ts
│   │   │   ├── ConversationShare.ts
│   │   │   ├── ConversationShareRedemption.ts
│   │   │   ├── ConversationState.ts
│   │   │   ├── ConversationStateDescription.ts
│   │   │   ├── ServiceEnvironment.ts
│   │   │   └── User.ts
│   │   ├── redux
│   │   │   ├── app
│   │   │   │   ├── hooks.ts
│   │   │   │   ├── rtkQueryErrorLogger.ts
│   │   │   │   └── store.ts
│   │   │   └── features
│   │   │       ├── app
│   │   │       │   ├── appSlice.ts
│   │   │       │   └── AppState.ts
│   │   │       ├── chatCanvas
│   │   │       │   ├── chatCanvasSlice.ts
│   │   │       │   └── ChatCanvasState.ts
│   │   │       ├── localUser
│   │   │       │   ├── localUserSlice.ts
│   │   │       │   └── LocalUserState.ts
│   │   │       └── settings
│   │   │           ├── settingsSlice.ts
│   │   │           └── SettingsState.ts
│   │   ├── Root.tsx
│   │   ├── routes
│   │   │   ├── AcceptTerms.tsx
│   │   │   ├── AssistantEditor.tsx
│   │   │   ├── AssistantServiceRegistrationEditor.tsx
│   │   │   ├── Dashboard.tsx
│   │   │   ├── ErrorPage.tsx
│   │   │   ├── FrontDoor.tsx
│   │   │   ├── Login.tsx
│   │   │   ├── Settings.tsx
│   │   │   ├── ShareRedeem.tsx
│   │   │   └── Shares.tsx
│   │   ├── services
│   │   │   └── workbench
│   │   │       ├── assistant.ts
│   │   │       ├── assistantService.ts
│   │   │       ├── conversation.ts
│   │   │       ├── file.ts
│   │   │       ├── index.ts
│   │   │       ├── participant.ts
│   │   │       ├── share.ts
│   │   │       ├── state.ts
│   │   │       └── workbench.ts
│   │   └── vite-env.d.ts
│   ├── tools
│   │   └── filtered-ts-prune.cjs
│   ├── tsconfig.json
│   └── vite.config.ts
└── workbench-service
    ├── .env.example
    ├── .vscode
    │   ├── extensions.json
    │   ├── launch.json
    │   └── settings.json
    ├── alembic.ini
    ├── devdb
    │   ├── docker-compose.yaml
    │   └── postgresql-init.sh
    ├── Dockerfile
    ├── Makefile
    ├── migrations
    │   ├── env.py
    │   ├── README
    │   ├── script.py.mako
    │   └── versions
    │       ├── 2024_09_19_000000_69dcda481c14_init.py
    │       ├── 2024_09_19_190029_dffb1d7e219a_file_version_filename.py
    │       ├── 2024_09_20_204130_b29524775484_share.py
    │       ├── 2024_10_30_231536_039bec8edc33_index_message_type.py
    │       ├── 2024_11_04_204029_5149c7fb5a32_conversationmessagedebug.py
    │       ├── 2024_11_05_015124_245baf258e11_double_check_debugs.py
    │       ├── 2024_11_25_191056_a106de176394_drop_workflow.py
    │       ├── 2025_03_19_140136_aaaf792d4d72_set_user_title_set.py
    │       ├── 2025_03_21_153250_3763629295ad_add_assistant_template_id.py
    │       ├── 2025_05_19_163613_b2f86e981885_delete_context_transfer_assistants.py
    │       └── 2025_06_18_174328_503c739152f3_delete_knowlege_transfer_assistants.py
    ├── pyproject.toml
    ├── README.md
    ├── semantic_workbench_service
    │   ├── __init__.py
    │   ├── api.py
    │   ├── assistant_api_key.py
    │   ├── auth.py
    │   ├── azure_speech.py
    │   ├── config.py
    │   ├── controller
    │   │   ├── __init__.py
    │   │   ├── assistant_service_client_pool.py
    │   │   ├── assistant_service_registration.py
    │   │   ├── assistant.py
    │   │   ├── conversation_share.py
    │   │   ├── conversation.py
    │   │   ├── convert.py
    │   │   ├── exceptions.py
    │   │   ├── export_import.py
    │   │   ├── file.py
    │   │   ├── participant.py
    │   │   └── user.py
    │   ├── db.py
    │   ├── event.py
    │   ├── files.py
    │   ├── logging_config.py
    │   ├── middleware.py
    │   ├── query.py
    │   ├── service_user_principals.py
    │   ├── service.py
    │   └── start.py
    ├── tests
    │   ├── __init__.py
    │   ├── conftest.py
    │   ├── docker-compose.yaml
    │   ├── test_assistant_api_key.py
    │   ├── test_files.py
    │   ├── test_integration.py
    │   ├── test_middleware.py
    │   ├── test_migrations.py
    │   ├── test_workbench_service.py
    │   └── types.py
    └── uv.lock
```

# Files

--------------------------------------------------------------------------------
/libraries/python/chat-context-toolkit/chat_context_toolkit/archive/_archive_reader.py:
--------------------------------------------------------------------------------

```python
 1 | from typing import AsyncIterable
 2 | 
 3 | from ._state import StateStorage
 4 | from ._types import (
 5 |     CONTENT_SUB_DIR_PATH,
 6 |     MANIFEST_SUB_DIR_PATH,
 7 |     ArchiveContent,
 8 |     ArchiveManifest,
 9 |     ArchivesState,
10 |     StorageProvider,
11 | )
12 | 
13 | 
14 | class ArchiveReader:
15 |     def __init__(
16 |         self,
17 |         storage_provider: StorageProvider,
18 |     ) -> None:
19 |         self._state_storage = StateStorage(storage_provider)
20 |         self._storage_provider = storage_provider
21 | 
22 |     async def get_state(self) -> ArchivesState:
23 |         """
24 |         Retrieves the current state of the message history archive.
25 | 
26 |         Returns:
27 |             ArchiveState: The current state of the archive.
28 |         """
29 |         return await self._state_storage.read_state()
30 | 
31 |     async def list(self) -> AsyncIterable[ArchiveManifest]:
32 |         """
33 |         Lists all archive chunks stored in the archive directory.
34 | 
35 |         Returns:
36 |             AsyncIterable[ArchiveManifest]: A list of archive manifests.
37 |         """
38 | 
39 |         manifest_paths = await self._storage_provider.list_files(MANIFEST_SUB_DIR_PATH)
40 | 
41 |         for manifest_path in manifest_paths:
42 |             if manifest_path.suffix != ".json":
43 |                 continue
44 | 
45 |             content = await self._storage_provider.read_text_file(manifest_path)
46 |             if content is None:
47 |                 continue
48 | 
49 |             manifest = ArchiveManifest.model_validate_json(content)
50 |             yield manifest
51 | 
52 |     async def read(self, filename: str) -> ArchiveContent | None:
53 |         """
54 |         Reads an archive from the storage.
55 | 
56 |         Args:
57 |             chunk_path (pathlib.PurePath): The path to the archive chunk file.
58 | 
59 |         Returns:
60 |             ArchiveContent: The deserialized archive content.
61 |         """
62 |         chunk_path = CONTENT_SUB_DIR_PATH / filename
63 | 
64 |         content = await self._storage_provider.read_text_file(chunk_path)
65 | 
66 |         if content is None:
67 |             return None
68 | 
69 |         return ArchiveContent.model_validate_json(content)
70 | 
```

--------------------------------------------------------------------------------
/assistants/project-assistant/assistant/text_includes/detect_knowledge_package_gaps.md:
--------------------------------------------------------------------------------

```markdown
 1 | You are an AI assistant who is expert at finding necessary information that is missing from a knowledge package. Knowledge is currently being collected to transfer to a particular audience. Your job is to ensure the desired audience takeaways can be achieved with the information that has been collected so far. If not, you identify what additional SPECIFIC information is required.
 2 | 
 3 | The knowledge package consists of the messages, the attachments, the knowledge digest, and the knowledge brief.
 4 | 
 5 | The desired audience takeaways are listed below.
 6 | 
 7 | A task list of items we know we need to do is also included.
 8 | 
 9 | # Instructions
10 | 
11 | - Examine the audience takeaways and the information we have collected so far.
12 | - If the audience or the audience takeaways have not been defined at all, don't do a gap analysis and just return an empty list.
13 | - If there are SPECIFIC, concrete pieces of information that are necessary to satisfy the intended audience takeaways, return a request for that SPECIFIC information. Be specific.
14 | - If the knowledge gap you identify is already in the task list, you have already identified it and don't need to do it again.
15 | - Don't just consider the specific wording of the takeaways, instead be thoughtful about what additional information would be required to meet the implied takeaways. For example, if a takeaway is to "Understand project X", an implied takeaway might be that the website of project X should be in the knowledge package, or contact information for the organizers of project X should be included. Similarly, if the takeaway is something like "Know about event Y", then information about what the event is, when it is being held, where it is located, travel directions, cost, etc. should all be included unless the user specifies otherwise. These are all examples of SPECIFIC information.
16 | - If the collected information is sufficient for our audience to take away what we want them to, return no gaps, just an empty list.
17 | 
```

--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/skills/fabric/patterns/create_show_intro/system.md:
--------------------------------------------------------------------------------

```markdown
 1 | # IDENTITY and PURPOSE
 2 | 
 3 | You are an expert podcast and media producer specializing in creating the most compelling and interesting short intros that are read before the start of a show.
 4 | 
 5 | Take a deep breath and think step-by-step about how best to achieve this using the steps below.
 6 | 
 7 | # STEPS
 8 | 
 9 | - Fully listen to and understand the entire show.
10 | 
11 | - Take mental note of all the topics and themes discussed on the show and note them on a virtual whiteboard in your mind.
12 | 
13 | - From that list, create a list of the most interesting parts of the conversation from a novelty and surprise perspective.
14 | 
15 | - Create a list of show header topics from that list of novel and surprising topics discussed.
16 | 
17 | # OUTPUT
18 | 
19 | - Create a short piece of output with the following format:
20 | 
21 | 
22 | In this conversation I speak with _______. ________ is ______________. In this conversation we discuss:
23 | 
24 | - Topic 1
25 | - Topic 2
26 | - Topic N
27 | - Topic N
28 | - Topic N
29 | - Topic N
30 | - Topic N
31 | - Topic N
32 | - Topic N
33 | (up to 10)
34 | 
35 | And with that, here's the conversation with _______.
36 | 
37 | # EXAMPLE
38 | 
39 | In this conversation I speak with with Jason Michelson. Jason is the CEO of Avantix, a company that builds AR interfaces for Digital Assistants.
40 | 
41 | We discuss:
42 | 
43 | - The state of AR in 2021
44 | - The founding of Avantix
45 | - Why AR is the best interface
46 | - Avantix's AR approach
47 | - Continuous physical awareness
48 | - The disparity in AR adoption
49 | - Avantix use cases
50 | - A demo of the interface
51 | - Thoughts on DA advancements
52 | - What's next for Avantix
53 | - And how to connect with Avantix
54 | 
55 | And with that, here's my conversation with Jason Michelson.
56 | 
57 | END EXAMPLE
58 | 
59 | # OUTPUT INSTRUCTIONS
60 | 
61 | - You only output valid Markdown.
62 | 
63 | - Each topic should be 2-7 words long.
64 | 
65 | - Do not use asterisks or other special characters in the output for Markdown formatting. Use Markdown syntax that's more readable in plain text.
66 | 
67 | - Ensure the topics are equally spaced to cover both the most important topics covered but also the entire span of the show.
68 | 
69 | # INPUT:
70 | 
71 | INPUT:
72 | 
```

--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/skills/fabric/patterns/explain_project/system.md:
--------------------------------------------------------------------------------

```markdown
 1 | # IDENTITY and PURPOSE
 2 | 
 3 | You are an expert at explaining projects and how to use them.
 4 | 
 5 | You take the input of project documentation and you output a crisp, user and developer focused summary of what the project does and how to use it, using the STEPS and OUTPUT SECTIONS.
 6 | 
 7 | Take a deep breath and think step by step about how to best accomplish this goal using the following steps.
 8 | 
 9 | # STEPS
10 | 
11 | - Fully understand the project from the input.
12 | 
13 | # OUTPUT SECTIONS
14 | 
15 | - In a section called PROJECT OVERVIEW, give a one-sentence summary in 15-words for what the project does. This explanation should be compelling and easy for anyone to understand.
16 | 
17 | - In a section called THE PROBLEM IT ADDRESSES, give a one-sentence summary in 15-words for the problem the project addresses. This should be realworld problem that's easy to understand, e.g., "This project helps you find the best restaurants in your local area."
18 | 
19 | - In a section called THE APPROACH TO SOLVING THE PROBLEM, give a one-sentence summary in 15-words for the approach the project takes to solve the problem. This should be a high-level overview of the project's approach, explained simply, e.g., "This project shows relationships through a visualization of a graph database."
20 | 
21 | - In a section called INSTALLATION, give a bulleted list of install steps, each with no more than 16 words per bullet (not counting if they are commands).
22 | 
23 | - In a section called USAGE, give a bulleted list of how to use the project, each with no more than 16 words per bullet (not counting if they are commands).
24 | 
25 | - In a section called EXAMPLES, give a bulleted list of examples of how one might use such a project, each with no more than 16 words per bullet.
26 | 
27 | # OUTPUT INSTRUCTIONS
28 | 
29 | - Output bullets not numbers.
30 | - You only output human readable Markdown.
31 | - Do not output warnings or notes—just the requested sections.
32 | - Do not repeat items in the output sections.
33 | - Do not start items with the same opening words.
34 | 
35 | # INPUT:
36 | 
37 | INPUT:
38 | 
```

--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/skills/fabric/patterns/create_ai_jobs_analysis/system.md:
--------------------------------------------------------------------------------

```markdown
 1 | # IDENTITY
 2 | 
 3 | You are an expert on AI and the effect it will have on jobs. You take jobs reports and analysis from analyst companies and use that data to output a list of jobs that will be safer from automation, and you provide recommendations on how to make yourself most safe.
 4 | 
 5 | # STEPS
 6 | 
 7 | - Using your knowledge of human history and industrial revolutions and human capabilities, determine which categories of work will be most affected by automation.
 8 | 
 9 | - Using your knowledge of human history and industrial revolutions and human capabilities, determine which categories of work will be least affected by automation.
10 | 
11 | - Using your knowledge of human history and industrial revolutions and human capabilities, determine which attributes of a person will make them most resilient to automation.
12 | 
13 | - Using your knowledge of human history and industrial revolutions and human capabilities, determine which attributes of a person can actually make them anti-fragile to automation, i.e., people who will thrive in the world of AI.
14 | 
15 | # OUTPUT
16 | 
17 | - In a section called SUMMARY ANALYSIS, describe the goal of this project from the IDENTITY and STEPS above in a 25-word sentence.
18 | 
19 | - In a section called REPORT ANALYSIS, capture the main points of the submitted report in a set of 15-word bullet points.
20 | 
21 | - In a section called JOB CATEGORY ANALYSIS, give a 5-level breakdown of the categories of jobs that will be most affected by automation, going from Resilient to Vulnerable.
22 | 
23 | - In a section called TIMELINE ANALYSIS, give a breakdown of the likely timelines for when these job categories will face the most risk. Give this in a set of 15-word bullets.
24 | 
25 | - In a section called PERSONAL ATTRIBUTES ANALYSIS, give a breakdown of the attributes of a person that will make them most resilient to automation. Give this in a set of 15-word bullets.
26 | 
27 | - In a section called RECOMMENDATIONS, give a set of 15-word bullets on how a person can make themselves most resilient to automation.
28 | 
```

--------------------------------------------------------------------------------
/assistants/prospector-assistant/.vscode/settings.json:
--------------------------------------------------------------------------------

```json
 1 | {
 2 |   "editor.bracketPairColorization.enabled": true,
 3 |   "editor.codeActionsOnSave": {
 4 |     "source.organizeImports": "explicit",
 5 |     "source.fixAll": "explicit"
 6 |   },
 7 |   "editor.guides.bracketPairs": "active",
 8 |   "editor.formatOnPaste": true,
 9 |   "editor.formatOnType": true,
10 |   "editor.formatOnSave": true,
11 |   "files.eol": "\n",
12 |   "files.trimTrailingWhitespace": true,
13 |   "[json]": {
14 |     "editor.defaultFormatter": "esbenp.prettier-vscode",
15 |     "editor.formatOnSave": true
16 |   },
17 |   "[jsonc]": {
18 |     "editor.defaultFormatter": "esbenp.prettier-vscode",
19 |     "editor.formatOnSave": true
20 |   },
21 |   "python.analysis.autoFormatStrings": true,
22 |   "python.analysis.autoImportCompletions": true,
23 |   "python.analysis.diagnosticMode": "workspace",
24 |   "python.analysis.fixAll": ["source.unusedImports"],
25 |   "python.analysis.inlayHints.functionReturnTypes": true,
26 |   "python.analysis.typeCheckingMode": "standard",
27 |   "python.defaultInterpreterPath": "${workspaceFolder}/.venv",
28 |   "python.testing.pytestEnabled": true,
29 |   "[python]": {
30 |     "editor.defaultFormatter": "charliermarsh.ruff",
31 |     "editor.formatOnSave": true,
32 |     "editor.codeActionsOnSave": {
33 |       "source.fixAll": "explicit",
34 |       "source.unusedImports": "explicit",
35 |       "source.organizeImports": "explicit",
36 |       "source.formatDocument": "explicit"
37 |     }
38 |   },
39 |   "ruff.nativeServer": "on",
40 |   "search.exclude": {
41 |     "**/.venv": true,
42 |     "**/.data": true,
43 |     "**/__pycache__": true
44 |   },
45 |   // For use with optional extension: "streetsidesoftware.code-spell-checker"
46 |   "cSpell.ignorePaths": [
47 |     ".venv",
48 |     "node_modules",
49 |     "package-lock.json",
50 |     "settings.json",
51 |     "uv.lock"
52 |   ],
53 |   "cSpell.words": [
54 |     "Codespaces",
55 |     "contentsafety",
56 |     "deepmerge",
57 |     "devcontainer",
58 |     "dotenv",
59 |     "endregion",
60 |     "Excalidraw",
61 |     "fastapi",
62 |     "jsonschema",
63 |     "Langchain",
64 |     "moderations",
65 |     "openai",
66 |     "pdfplumber",
67 |     "pydantic",
68 |     "pyproject",
69 |     "pyright",
70 |     "tiktoken",
71 |     "updown",
72 |     "virtualenvs"
73 |   ]
74 | }
75 | 
```

--------------------------------------------------------------------------------
/workbench-app/src/components/Assistants/AssistantConfigExportButton.tsx:
--------------------------------------------------------------------------------

```typescript
 1 | import { Menu, MenuItem, MenuList, MenuPopover, MenuTrigger, SplitButton } from '@fluentui/react-components';
 2 | import YAML from 'js-yaml';
 3 | import React from 'react';
 4 | 
 5 | interface AssistantConfigExportButtonProps {
 6 |     config: object;
 7 |     assistantId: string;
 8 | }
 9 | 
10 | export const AssistantConfigExportButton: React.FC<AssistantConfigExportButtonProps> = ({ config, assistantId }) => {
11 |     const exportConfig = (format: 'json' | 'yaml') => {
12 |         let content = '';
13 |         let filename = `config_${assistantId}`;
14 | 
15 |         try {
16 |             if (format === 'yaml') {
17 |                 content = YAML.dump(config);
18 |                 filename += '.yaml';
19 |             } else {
20 |                 content = JSON.stringify(config, null, 2);
21 |                 filename += '.json';
22 |             }
23 | 
24 |             const blob = new Blob([content], { type: 'text/plain;charset=utf-8' });
25 |             const url = URL.createObjectURL(blob);
26 |             const a = document.createElement('a');
27 |             a.href = url;
28 |             a.download = filename;
29 |             a.click();
30 | 
31 |             URL.revokeObjectURL(url);
32 |         } catch (error) {
33 |             console.error('Error while generating config file:', error);
34 |         }
35 |     };
36 | 
37 |     const primaryActionButtonProps = {
38 |         onClick: () => exportConfig('json'),
39 |     };
40 | 
41 |     return (
42 |         <Menu positioning="below-end">
43 |             <MenuTrigger disableButtonEnhancement>
44 |                 {(triggerProps) => (
45 |                     <SplitButton menuButton={triggerProps} primaryActionButton={primaryActionButtonProps}>
46 |                         Export Config
47 |                     </SplitButton>
48 |                 )}
49 |             </MenuTrigger>
50 | 
51 |             <MenuPopover>
52 |                 <MenuList>
53 |                     <MenuItem onClick={() => exportConfig('json')}>JSON Format</MenuItem>
54 |                     <MenuItem onClick={() => exportConfig('yaml')}>YAML Format</MenuItem>
55 |                 </MenuList>
56 |             </MenuPopover>
57 |         </Menu>
58 |     );
59 | };
60 | 
```

--------------------------------------------------------------------------------
/workbench-app/src/components/Conversations/MessageLink.tsx:
--------------------------------------------------------------------------------

```typescript
 1 | // Copyright (c) Microsoft. All rights reserved.
 2 | import { makeStyles } from '@fluentui/react-components';
 3 | import { LinkRegular } from '@fluentui/react-icons';
 4 | import React from 'react';
 5 | import { Conversation } from '../../models/Conversation';
 6 | import { ConversationShare } from '../../models/ConversationShare';
 7 | import { CommandButton } from '../App/CommandButton';
 8 | import { ConversationShareCreate } from './ConversationShareCreate';
 9 | import { ConversationShareView } from './ConversationShareView';
10 | 
11 | const useClasses = makeStyles({
12 |     root: {
13 |         display: 'inline-block',
14 |     },
15 | });
16 | 
17 | interface MessageLinkProps {
18 |     conversation: Conversation;
19 |     messageId: string;
20 | }
21 | 
22 | export const MessageLink: React.FC<MessageLinkProps> = ({ conversation, messageId }) => {
23 |     const classes = useClasses();
24 |     const [createDialogOpen, setCreateDialogOpen] = React.useState(false);
25 |     const [createdShare, setCreatedShare] = React.useState<ConversationShare | undefined>(undefined);
26 | 
27 |     if (!conversation || !messageId) {
28 |         throw new Error('Invalid conversation or message ID');
29 |     }
30 | 
31 |     return (
32 |         <>
33 |             <div className={classes.root}>
34 |                 <CommandButton
35 |                     icon={<LinkRegular />}
36 |                     appearance="subtle"
37 |                     title="Share message link"
38 |                     size="small"
39 |                     onClick={() => setCreateDialogOpen(true)}
40 |                 />
41 |             </div>
42 |             {createDialogOpen && (
43 |                 <ConversationShareCreate
44 |                     conversation={conversation}
45 |                     linkToMessageId={messageId}
46 |                     onCreated={(share) => setCreatedShare(share)}
47 |                     onClosed={() => setCreateDialogOpen(false)}
48 |                 />
49 |             )}
50 |             {createdShare && (
51 |                 <ConversationShareView conversationShare={createdShare} onClosed={() => setCreatedShare(undefined)} />
52 |             )}
53 |         </>
54 |     );
55 | };
56 | 
```

--------------------------------------------------------------------------------
/libraries/python/mcp-extensions/mcp_extensions/llm/helpers.py:
--------------------------------------------------------------------------------

```python
 1 | # Copyright (c) Microsoft. All rights reserved.
 2 | 
 3 | from copy import deepcopy
 4 | from typing import Any
 5 | 
 6 | from liquid import render
 7 | from pydantic import BaseModel
 8 | 
 9 | from mcp_extensions.llm.llm_types import MessageT
10 | 
11 | 
12 | def _apply_templates(value: Any, variables: dict[str, str]) -> Any:
13 |     """Recursively applies Liquid templating to all string fields within the given value."""
14 |     if isinstance(value, str):
15 |         return render(value, **variables)
16 |     elif isinstance(value, list):
17 |         return [_apply_templates(item, variables) for item in value]
18 |     elif isinstance(value, dict):
19 |         return {key: _apply_templates(val, variables) for key, val in value.items()}
20 |     elif isinstance(value, BaseModel):
21 |         # Process each field in the BaseModel by converting it to a dict,
22 |         # applying templating to its values, and then re-instantiating the model.
23 |         processed_data = {key: _apply_templates(val, variables) for key, val in value.model_dump().items()}
24 |         return value.__class__(**processed_data)
25 |     else:
26 |         return value
27 | 
28 | 
29 | def compile_messages(messages: list[MessageT], variables: dict[str, str]) -> list[MessageT]:
30 |     """Compiles messages using Liquid templating and the provided variables.
31 |     Calls render(content_part, **variables) on each text content part.
32 | 
33 |     Args:
34 |         messages: List of MessageT where content can contain Liquid templates.
35 |         variables: The variables to inject into the templates.
36 | 
37 |     Returns:
38 |         The same list of messages with the content parts injected with the variables.
39 |     """
40 |     messages_formatted = deepcopy(messages)
41 |     messages_formatted = [_apply_templates(message, variables) for message in messages_formatted]
42 |     return messages_formatted
43 | 
44 | 
45 | def format_chat_history(chat_history: list[MessageT]) -> str:
46 |     formatted_chat_history = ""
47 |     for message in chat_history:
48 |         formatted_chat_history += f"[{message.role.value}]: {message.content}\n"
49 |     return formatted_chat_history.strip()
50 | 
```

--------------------------------------------------------------------------------
/mcp-servers/mcp-server-bing-search/.vscode/settings.json:
--------------------------------------------------------------------------------

```json
 1 | {
 2 |   "editor.bracketPairColorization.enabled": true,
 3 |   "editor.codeActionsOnSave": {
 4 |     "source.organizeImports": "explicit",
 5 |     "source.fixAll": "explicit"
 6 |   },
 7 |   "editor.guides.bracketPairs": "active",
 8 |   "editor.formatOnPaste": true,
 9 |   "editor.formatOnType": true,
10 |   "editor.formatOnSave": true,
11 |   "files.eol": "\n",
12 |   "files.trimTrailingWhitespace": true,
13 |   "[json]": {
14 |     "editor.defaultFormatter": "esbenp.prettier-vscode",
15 |     "editor.formatOnSave": true
16 |   },
17 |   "[jsonc]": {
18 |     "editor.defaultFormatter": "esbenp.prettier-vscode",
19 |     "editor.formatOnSave": true
20 |   },
21 |   "python.analysis.autoFormatStrings": true,
22 |   "python.analysis.autoImportCompletions": true,
23 |   "python.analysis.diagnosticMode": "workspace",
24 |   "python.analysis.fixAll": ["source.unusedImports"],
25 |   // Project specific paths
26 |   "python.analysis.ignore": ["libs"],
27 |   "python.analysis.inlayHints.functionReturnTypes": true,
28 |   "python.analysis.typeCheckingMode": "standard",
29 |   "python.defaultInterpreterPath": "${workspaceFolder}/.venv",
30 |   "[python]": {
31 |     "editor.defaultFormatter": "charliermarsh.ruff",
32 |     "editor.formatOnSave": true,
33 |     "editor.codeActionsOnSave": {
34 |       "source.fixAll": "explicit",
35 |       "source.unusedImports": "explicit",
36 |       "source.organizeImports": "explicit",
37 |       "source.formatDocument": "explicit"
38 |     }
39 |   },
40 |   "ruff.nativeServer": "on",
41 |   "search.exclude": {
42 |     "**/.venv": true,
43 |     "**/.data": true
44 |   },
45 |   // For use with optional extension: "streetsidesoftware.code-spell-checker"
46 |   "cSpell.ignorePaths": [
47 |     ".git",
48 |     ".gitignore",
49 |     ".vscode",
50 |     ".venv",
51 |     "node_modules",
52 |     "package-lock.json",
53 |     "pyproject.toml",
54 |     "settings.json",
55 |     "uv.lock"
56 |   ],
57 |   "cSpell.words": [
58 |     "aoai",
59 |     "Apim",
60 |     "dotenv",
61 |     "fastmcp",
62 |     "funcs",
63 |     "markitdown",
64 |     "mkitdown",
65 |     "pwright",
66 |     "toplevel"
67 |   ],
68 |   "python.testing.pytestEnabled": true,
69 |   "python.testing.unittestEnabled": false,
70 |   "python.testing.pytestArgs": ["tests", "-s"]
71 | }
72 | 
```

--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/skills/fabric/patterns/create_mermaid_visualization/system.md:
--------------------------------------------------------------------------------

```markdown
 1 | # IDENTITY and PURPOSE
 2 | 
 3 | You are an expert at data and concept visualization and in turning complex ideas into a form that can be visualized using Mermaid (markdown) syntax.
 4 | 
 5 | You take input of any type and find the best way to simply visualize or demonstrate the core ideas using Mermaid (Markdown).
 6 | 
 7 | You always output Markdown Mermaid syntax that can be rendered as a diagram.
 8 | 
 9 | # STEPS
10 | 
11 | - Take the input given and create a visualization that best explains it using elaborate and intricate Mermaid syntax.
12 | 
13 | - Ensure that the visual would work as a standalone diagram that would fully convey the concept(s).
14 | 
15 | - Use visual elements such as boxes and arrows and labels (and whatever else) to show the relationships between the data, the concepts, and whatever else, when appropriate.
16 | 
17 | - Create far more intricate and more elaborate and larger visualizations for concepts that are more complex or have more data.
18 | 
19 | - Under the Mermaid syntax, output a section called VISUAL EXPLANATION that explains in a set of 10-word bullets how the input was turned into the visualization. Ensure that the explanation and the diagram perfectly match, and if they don't redo the diagram.
20 | 
21 | - If the visualization covers too many things, summarize it into it's primary takeaway and visualize that instead.
22 | 
23 | - DO NOT COMPLAIN AND GIVE UP. If it's hard, just try harder or simplify the concept and create the diagram for the upleveled concept.
24 | 
25 | # OUTPUT INSTRUCTIONS
26 | 
27 | - DO NOT COMPLAIN. Just output the Mermaid syntax.
28 | 
29 | - Do not output any code indicators like backticks or code blocks or anything.
30 | 
31 | - Ensure the visualization can stand alone as a diagram that fully conveys the concept(s), and that it perfectly matches a written explanation of the concepts themselves. Start over if it can't.
32 | 
33 | - DO NOT output code that is not Mermaid syntax, such as backticks or other code indicators.
34 | 
35 | - Use high contrast black and white for the diagrams and text in the Mermaid visualizations.
36 | 
37 | # INPUT:
38 | 
39 | INPUT:
40 | 
```

--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/skills/fabric/patterns/sanitize_broken_html_to_markdown/system.md:
--------------------------------------------------------------------------------

```markdown
 1 | # IDENTITY 
 2 | 
 3 | // Who you are
 4 | 
 5 | You are a hyper-intelligent AI system with a 4,312 IQ. You convert jacked up HTML to proper markdown using a set of rules.
 6 | 
 7 | # GOAL
 8 | 
 9 | // What we are trying to achieve
10 | 
11 | 1. The goal of this exercise is to convert the input HTML, which is completely nasty and hard to edit, into a clean markdown format that has some custom styling applied according to my rules.
12 | 
13 | 2. The ultimate goal is to output a perfectly working markdown file that will render properly using Vite using my custom markdown/styling combination.
14 | 
15 | # STEPS
16 | 
17 | // How the task will be approached
18 | 
19 | // Slow down and think
20 | 
21 | - Take a step back and think step-by-step about how to achieve the best possible results by following the steps below.
22 | 
23 | // Think about the content in the input
24 | 
25 | - Fully read and consume the HTML input that has a combination of HTML and markdown.
26 | 
27 | // Identify the parts of the content that are likely to be callouts (like narrator voice), vs. blockquotes, vs regular text, etc. Get this from the text itself.
28 | 
29 | - Look at the styling rules below and think about how to translate the input you found to the output using those rules.
30 | 
31 | # OUTPUT RULES
32 | 
33 | Our new markdown / styling uses the following tags for styling:
34 | 
35 | <callout></callous> for wrapping a callous
36 | 
37 | <blockquote><cite></cite>></blockquote> for matching a block quote (note the embedded citation in there where applicable)
38 | 
39 | # OUTPUT INSTRUCTIONS
40 | 
41 | // What the output should look like:
42 | 
43 | - The output should perfectly preserve the input, only it should look way better once rendered to HTML because it'll be following the new styling.
44 | - The markdown should be super clean because all the trash HTML should have been removed. Note: that doesn't mean custom HTML that is supposed to work with the new theme as well, such as stuff like images in special cases.
45 | - For definitions, use the <blockquote></blockquote> tag, and include the <cite></cite> tag for the citation if there's a reference to a source.
46 | 
47 | # INPUT
48 | 
49 | INPUT:
50 | 
```

--------------------------------------------------------------------------------
/mcp-servers/mcp-server-office/data/word/test_cases.yaml:
--------------------------------------------------------------------------------

```yaml
 1 | test_cases:
 2 |   - test_case_name: Web Frontends 1
 3 |     transcription_file: "transcript_Web_Frontends_202502281551.md"
 4 |     next_ask: "Can you create a proposal for which frontend we should use. Fluent + Tailwind is what I want to use, but please include compare/contrast with MUI and Chakra UI"
 5 |   - test_case_name: Startup Idea 1
 6 |     transcription_file: "transcript_Startup_Idea_1_202503031513.md"
 7 |     next_ask: "Ok. Let's first start a document on game ideas - I think this is the biggest hurdle. Proving that we have enough novel and interesting games that leverage AI."
 8 |   - test_case_name: Startup Idea Pitch 1
 9 |     transcription_file: "transcript_Startup_Idea_2_202503031659.md"
10 |     next_ask: "I uploaded the game ideas file. Can you now make a new investor pitch document for me?"
11 |     attachments:
12 |       - "ReDoodle.txt"
13 |       - "Daily Game Ideas.txt"
14 |   - test_case_name: Startup Idea Feedback 1
15 |     test_case_type: "feedback"
16 |     transcription_file: "transcript_Startup_Idea_2_202503031659.md"
17 |     open_document_markdown_file: "Daily Game Ideas.txt"
18 |     next_ask: "Can you give feedback on the doc?"
19 |     attachments:
20 |       - "ReDoodle.txt"
21 |   - test_case_name: Web Frontends Edit 2
22 |     test_case_type: "writing"
23 |     transcription_file: "transcript_Web_Frontends_202502281551.md"
24 |     open_document_markdown_file: "Frontend Framework Proposal.txt"
25 |     next_ask: "Please consolidate the Recommendation and Conclusion sections"
26 |   - test_case_name: Web Frontends Comments 3
27 |     test_case_type: "comment_analysis"
28 |     transcription_file: "transcript_Web_Frontends_202502281551.md"
29 |     open_document_markdown_file: "Frontend Framework Proposal.txt"
30 |     next_ask: "Please resolve the comments in the document."
31 |     comments:
32 |       - location_text: "Initial Learning Curve:"
33 |         comment_text: "Find some data to support the claims made in this section?"
34 |       - location_text: "Based on the analysis, using Fluent UI"
35 |         comment_text: "Combine this section with the Conclusion section"
36 | 
```

--------------------------------------------------------------------------------
/workbench-app/src/components/Conversations/ShareRemove.tsx:
--------------------------------------------------------------------------------

```typescript
 1 | // Copyright (c) Microsoft. All rights reserved.
 2 | 
 3 | import { Button, DialogTrigger } from '@fluentui/react-components';
 4 | import { Delete24Regular } from '@fluentui/react-icons';
 5 | import React from 'react';
 6 | import { ConversationShare } from '../../models/ConversationShare';
 7 | import { useDeleteShareMutation } from '../../services/workbench/share';
 8 | import { CommandButton } from '../App/CommandButton';
 9 | 
10 | interface ShareRemoveProps {
11 |     share: ConversationShare;
12 |     onRemove?: () => void;
13 |     iconOnly?: boolean;
14 |     asToolbarButton?: boolean;
15 | }
16 | 
17 | export const ShareRemove: React.FC<ShareRemoveProps> = (props) => {
18 |     const { share, onRemove: onDelete, iconOnly, asToolbarButton } = props;
19 |     const [deleteShare] = useDeleteShareMutation();
20 |     const [isDeleting, setIsDeleting] = React.useState(false);
21 | 
22 |     const handleDelete = React.useCallback(async () => {
23 |         if (isDeleting) {
24 |             return;
25 |         }
26 |         setIsDeleting(true);
27 | 
28 |         try {
29 |             await deleteShare(share.id);
30 |             onDelete?.();
31 |         } finally {
32 |             setIsDeleting(false);
33 |         }
34 |     }, [isDeleting, deleteShare, share.id, onDelete]);
35 | 
36 |     return (
37 |         <CommandButton
38 |             description="Delete share"
39 |             icon={<Delete24Regular />}
40 |             iconOnly={iconOnly}
41 |             asToolbarButton={asToolbarButton}
42 |             label="Delete"
43 |             disabled={isDeleting}
44 |             dialogContent={{
45 |                 title: 'Delete Share',
46 |                 content: <p>Are you sure you want to delete this share?</p>,
47 |                 closeLabel: 'Cancel',
48 |                 additionalActions: [
49 |                     <DialogTrigger key="delete" disableButtonEnhancement>
50 |                         <Button appearance="primary" onClick={handleDelete} disabled={isDeleting}>
51 |                             {isDeleting ? 'Deleting...' : 'Delete'}
52 |                         </Button>
53 |                     </DialogTrigger>,
54 |                 ],
55 |             }}
56 |         />
57 |     );
58 | };
59 | 
```

--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/skills/fabric/patterns/extract_article_wisdom/dmiessler/extract_wisdom-1.0.0/system.md:
--------------------------------------------------------------------------------

```markdown
 1 | # IDENTITY and PURPOSE
 2 | 
 3 | You are a wisdom extraction service for text content. You are interested in wisdom related to the purpose and meaning of life, the role of technology in the future of humanity, artificial intelligence, memes, learning, reading, books, continuous improvement, and similar topics.
 4 | 
 5 | Take a step back and think step by step about how to achieve the best result possible as defined in the steps below. You have a lot of freedom to make this work well.
 6 | 
 7 | ## OUTPUT SECTIONS
 8 | 
 9 | 1. You extract a summary of the content in 50 words or less, including who is presenting and the content being discussed into a section called SUMMARY.
10 | 
11 | 2. You extract the top 50 ideas from the input in a section called IDEAS:. If there are less than 50 then collect all of them.
12 | 
13 | 3. You extract the 15-30 most insightful and interesting quotes from the input into a section called QUOTES:. Use the exact quote text from the input.
14 | 
15 | 4. You extract 15-30 personal habits of the speakers, or mentioned by the speakers, in the content into a section called HABITS. Examples include but aren't limited to: sleep schedule, reading habits, things the
16 | 
17 | 5. You extract the 15-30 most insightful and interesting valid facts about the greater world that were mentioned in the content into a section called FACTS:.
18 | 
19 | 6. You extract all mentions of writing, art, and other sources of inspiration mentioned by the speakers into a section called REFERENCES. This should include any and all references to something that the speaker mentioned.
20 | 
21 | 7. You extract the 15-30 most insightful and interesting overall (not content recommendations from EXPLORE) recommendations that can be collected from the content into a section called RECOMMENDATIONS.
22 | 
23 | ## OUTPUT INSTRUCTIONS
24 | 
25 | 1. You only output Markdown.
26 | 2. Do not give warnings or notes; only output the requested sections.
27 | 3. You use numbered lists, not bullets.
28 | 4. Do not repeat ideas, quotes, facts, or resources.
29 | 5. Do not start items with the same opening words.
30 | 
```

--------------------------------------------------------------------------------
/mcp-servers/mcp-server-office/mcp_server/helpers.py:
--------------------------------------------------------------------------------

```python
 1 | # Copyright (c) Microsoft. All rights reserved.
 2 | 
 3 | from copy import deepcopy
 4 | from typing import Any
 5 | 
 6 | from liquid import Template
 7 | from pydantic import BaseModel
 8 | 
 9 | from mcp_server.types import MessageT
10 | 
11 | 
12 | def _apply_templates(value: Any, variables: dict[str, str]) -> Any:
13 |     """Recursively applies Liquid templating to all string fields within the given value."""
14 |     if isinstance(value, str):
15 |         return Template(value).render(**variables)
16 |     elif isinstance(value, list):
17 |         return [_apply_templates(item, variables) for item in value]
18 |     elif isinstance(value, dict):
19 |         return {key: _apply_templates(val, variables) for key, val in value.items()}
20 |     elif isinstance(value, BaseModel):
21 |         # Process each field in the BaseModel by converting it to a dict,
22 |         # applying templating to its values, and then re-instantiating the model.
23 |         processed_data = {key: _apply_templates(val, variables) for key, val in value.model_dump().items()}
24 |         return value.__class__(**processed_data)
25 |     else:
26 |         return value
27 | 
28 | 
29 | def compile_messages(messages: list[MessageT], variables: dict[str, str]) -> list[MessageT]:
30 |     """Compiles messages using Liquid templating and the provided variables.
31 |     Calls Template(content_part).render(**variables) on each text content part.
32 | 
33 |     Args:
34 |         messages: List of dict[str, Any] where content can contain Liquid templates.
35 |         variables: The variables to inject into the templates.
36 | 
37 |     Returns:
38 |         The same list of messages with the content parts injected with the variables.
39 |     """
40 |     messages_formatted = deepcopy(messages)
41 |     messages_formatted = [_apply_templates(message, variables) for message in messages_formatted]
42 |     return messages_formatted
43 | 
44 | 
45 | def format_chat_history(chat_history: list[MessageT]) -> str:
46 |     formatted_chat_history = ""
47 |     for message in chat_history:
48 |         formatted_chat_history += f"[{message.role.value}]: {message.content}\n"
49 |     return formatted_chat_history.strip()
50 | 
```

--------------------------------------------------------------------------------
/mcp-servers/mcp-server-web-research/mcp_server_web_research/server.py:
--------------------------------------------------------------------------------

```python
 1 | from mcp.server.fastmcp import Context, FastMCP
 2 | from mcp_extensions import send_tool_call_progress
 3 | 
 4 | from .config import settings
 5 | from .web_research import perform_web_research
 6 | 
 7 | # Set the name of the MCP server
 8 | server_name = "Web Research MCP Server"
 9 | 
10 | 
11 | def create_mcp_server() -> FastMCP:
12 |     # Initialize FastMCP with debug logging.
13 |     mcp = FastMCP(name=server_name, log_level=settings.log_level)
14 | 
15 |     @mcp.tool()
16 |     async def web_research(context: str, request: str, ctx: Context) -> str:
17 |         """
18 |         A specialized team member that thoroughly researches the internet to answer your questions.
19 |         Use them for anything requiring web browsing—provide as much context as possible, especially
20 |         if you need to research a specific timeframe. Don’t hesitate to give complex tasks, like
21 |         analyzing differences between products or spotting discrepancies between sources. Your
22 |         request must be full sentences, not just search terms (e.g., “Research current trends for…”
23 |         instead of a few keywords). For context, pass as much background as you can: if using this
24 |         tool in a conversation, include the conversation history; if in a broader context, include
25 |         any relevant documents or details. If there is no context, pass “None.” Finally, for the
26 |         request itself, provide the specific question you want answered, with as much detail as
27 |         possible about what you need and the desired output.
28 |         """
29 | 
30 |         await send_tool_call_progress(ctx, "Researching...", data={"context": context, "request": request})
31 | 
32 |         async def on_status_update(status: str) -> None:
33 |             await send_tool_call_progress(ctx, status)
34 | 
35 |         # Make sure to run the async version of the function to avoid blocking the event loop.
36 |         deep_research_result = await perform_web_research(
37 |             question=f"Context:\n{context}\n\nRequest:\n{request}", on_status_update=on_status_update
38 |         )
39 |         return deep_research_result
40 | 
41 |     return mcp
42 | 
```

--------------------------------------------------------------------------------
/assistants/skill-assistant/.vscode/settings.json:
--------------------------------------------------------------------------------

```json
 1 | {
 2 |   "editor.bracketPairColorization.enabled": true,
 3 |   "editor.codeActionsOnSave": {
 4 |     "source.organizeImports": "explicit",
 5 |     "source.fixAll": "explicit"
 6 |   },
 7 |   "editor.guides.bracketPairs": "active",
 8 |   "editor.formatOnPaste": true,
 9 |   "editor.formatOnType": true,
10 |   "editor.formatOnSave": true,
11 |   "files.eol": "\n",
12 |   "files.trimTrailingWhitespace": true,
13 |   "flake8.ignorePatterns": ["**/*.py"], // disable flake8 in favor of ruff
14 |   "[json]": {
15 |     "editor.defaultFormatter": "esbenp.prettier-vscode",
16 |     "editor.formatOnSave": true
17 |   },
18 |   "[jsonc]": {
19 |     "editor.defaultFormatter": "esbenp.prettier-vscode",
20 |     "editor.formatOnSave": true
21 |   },
22 |   "python.analysis.autoFormatStrings": true,
23 |   "python.analysis.autoImportCompletions": true,
24 |   "python.analysis.diagnosticMode": "workspace",
25 |   "python.analysis.fixAll": ["source.unusedImports"],
26 |   "python.analysis.inlayHints.functionReturnTypes": true,
27 |   "python.analysis.typeCheckingMode": "standard",
28 |   "python.defaultInterpreterPath": "${workspaceFolder}/.venv",
29 |   "python.testing.pytestEnabled": false,
30 |   "[python]": {
31 |     "editor.defaultFormatter": "charliermarsh.ruff",
32 |     "editor.formatOnSave": true,
33 |     "editor.codeActionsOnSave": {
34 |       "source.fixAll": "explicit",
35 |       "source.unusedImports": "explicit",
36 |       "source.organizeImports": "explicit",
37 |       "source.formatDocument": "explicit"
38 |     }
39 |   },
40 |   "ruff.nativeServer": "on",
41 |   "search.exclude": {
42 |     "**/.venv": true,
43 |     "**/.data": true,
44 |     "**/__pycache__": true
45 |   },
46 |   // For use with optional extension: "streetsidesoftware.code-spell-checker"
47 |   "cSpell.ignorePaths": [
48 |     ".venv",
49 |     "node_modules",
50 |     "package-lock.json",
51 |     "settings.json",
52 |     "uv.lock"
53 |   ],
54 |   "cSpell.words": [
55 |     "Cmder",
56 |     "Codespaces",
57 |     "contentsafety",
58 |     "devcontainer",
59 |     "dotenv",
60 |     "endregion",
61 |     "fastapi",
62 |     "httpx",
63 |     "jsonschema",
64 |     "Langchain",
65 |     "openai",
66 |     "pdfs",
67 |     "Posix",
68 |     "pydantic",
69 |     "pypdf",
70 |     "pyproject",
71 |     "quickstart",
72 |     "tiktoken"
73 |   ]
74 | }
75 | 
```

--------------------------------------------------------------------------------
/mcp-servers/mcp-server-filesystem/mcp_server_filesystem/start.py:
--------------------------------------------------------------------------------

```python
 1 | # Main entry point for the MCP Server
 2 | 
 3 | import argparse
 4 | import logging
 5 | import sys
 6 | 
 7 | from mcp_server_filesystem import settings
 8 | from mcp_server_filesystem.server import create_mcp_server
 9 | 
10 | # Set up logging
11 | logger = logging.getLogger("mcp_server_filesystem")
12 | 
13 | 
14 | def main() -> None:
15 |     # Command-line arguments for transport and port
16 |     parse_args = argparse.ArgumentParser(description="Start the MCP server.")
17 |     parse_args.add_argument(
18 |         "--transport",
19 |         default="stdio",
20 |         choices=["stdio", "sse"],
21 |         help="Transport protocol to use ('stdio' or 'sse'). Default is 'stdio'.",
22 |     )
23 |     parse_args.add_argument("--port", type=int, default=39393, help="Port to use for SSE (default is 39393).")
24 |     parse_args.add_argument(
25 |         "--allowed_directories",
26 |         nargs="*",
27 |         help="Space-separated list of directories that the server is allowed to access. Required for stdio transport.",
28 |     )
29 |     args = parse_args.parse_args()
30 | 
31 |     # Process allowed directories from command line args
32 |     if args.allowed_directories:
33 |         settings.allowed_directories = args.allowed_directories
34 |         logger.info(f"Using allowed_directories from command line: {settings.allowed_directories}")
35 | 
36 |     # Create the server
37 |     mcp = create_mcp_server()
38 |     mcp.settings.host = "127.0.0.1"
39 |     mcp.settings.port = args.port
40 | 
41 |     if args.transport == "sse":
42 |         # For SSE, the directories are provided directly as query parameters
43 |         logger.info(f"Starting SSE server on port {args.port}")
44 | 
45 |     else:  # stdio transport
46 |         # For stdio, directories must be provided via command line
47 |         if not settings.allowed_directories:
48 |             logger.error("At least one allowed_directory must be specified for stdio transport")
49 |             sys.exit(1)
50 | 
51 |         logger.info("Starting with stdio transport")
52 |         logger.info(f"Using allowed_directories: {settings.allowed_directories}")
53 | 
54 |     # Run with the selected transport
55 |     mcp.run(transport=args.transport)
56 | 
57 | 
58 | if __name__ == "__main__":
59 |     main()
60 | 
```

--------------------------------------------------------------------------------
/libraries/python/guided-conversation/.vscode/settings.json:
--------------------------------------------------------------------------------

```json
 1 | {
 2 |   "editor.bracketPairColorization.enabled": true,
 3 |   "editor.codeActionsOnSave": {
 4 |     "source.fixAll": "always",
 5 |     "source.organizeImports": "always"
 6 |   },
 7 |   "editor.defaultFormatter": "esbenp.prettier-vscode",
 8 |   "editor.formatOnPaste": true,
 9 |   "editor.formatOnSave": true,
10 |   "editor.formatOnType": true,
11 |   "editor.guides.bracketPairs": "active",
12 |   "files.eol": "\n",
13 |   "files.trimTrailingWhitespace": true,
14 |   "flake8.ignorePatterns": ["**/*.py"], // disable flake8 in favor of ruff
15 |   "jupyter.debugJustMyCode": false,
16 |   "python.analysis.autoFormatStrings": true,
17 |   "python.analysis.autoImportCompletions": true,
18 |   "python.analysis.diagnosticMode": "workspace",
19 |   "python.analysis.exclude": [
20 |     "**/.venv/**",
21 |     "**/.data/**",
22 |     "**/__pycache__/**"
23 |   ],
24 |   "python.analysis.fixAll": ["source.unusedImports"],
25 |   "python.analysis.inlayHints.functionReturnTypes": true,
26 |   "python.analysis.typeCheckingMode": "standard",
27 |   "python.defaultInterpreterPath": "${workspaceFolder}/.venv",
28 |   "python.testing.cwd": "${workspaceFolder}",
29 |   "search.exclude": {
30 |     "**/.venv": true,
31 |     "**/data": true
32 |   },
33 |   "[json]": {
34 |     "editor.defaultFormatter": "esbenp.prettier-vscode",
35 |     "editor.formatOnSave": true
36 |   },
37 |   "[jsonc]": {
38 |     "editor.defaultFormatter": "esbenp.prettier-vscode",
39 |     "editor.formatOnSave": true
40 |   },
41 |   "[python]": {
42 |     "editor.defaultFormatter": "charliermarsh.ruff",
43 |     "editor.formatOnSave": true,
44 |     "editor.codeActionsOnSave": {
45 |       "source.fixAll": "explicit",
46 |       "source.unusedImports": "explicit",
47 |       "source.organizeImports": "explicit",
48 |       "source.formatDocument": "explicit"
49 |     }
50 |   },
51 |   "ruff.nativeServer": "on",
52 |   // For use with optional extension: "streetsidesoftware.code-spell-checker"
53 |   "cSpell.ignorePaths": [
54 |     ".venv",
55 |     "node_modules",
56 |     "package-lock.json",
57 |     "settings.json",
58 |     "uv.lock"
59 |   ],
60 |   "cSpell.words": [
61 |     "Contoso",
62 |     "dotenv",
63 |     "httpx",
64 |     "openai",
65 |     "pydantic",
66 |     "pypdf",
67 |     "pyright",
68 |     "runtimes",
69 |     "tiktoken",
70 |     "venv"
71 |   ]
72 | }
73 | 
```

--------------------------------------------------------------------------------
/workbench-app/src/libs/useEnvironment.ts:
--------------------------------------------------------------------------------

```typescript
 1 | // Copyright (c) Microsoft. All rights reserved.
 2 | 
 3 | import React from 'react';
 4 | import { Constants } from '../Constants';
 5 | import { ServiceEnvironment } from '../models/ServiceEnvironment';
 6 | import { useAppSelector } from '../redux/app/hooks';
 7 | import { RootState } from '../redux/app/store';
 8 | import { Utility } from './Utility';
 9 | 
10 | import debug from 'debug';
11 | 
12 | const log = debug(Constants.debug.root).extend('useEnvironment');
13 | 
14 | export const useEnvironment = () => {
15 |     const environmentId = useAppSelector((state: RootState) => state.settings.environmentId);
16 |     const [environment, setEnvironment] = React.useState<ServiceEnvironment>(getEnvironment(environmentId));
17 | 
18 |     React.useEffect(() => {
19 |         const updatedEnvironment = getEnvironment(environmentId);
20 |         if (!Utility.deepEqual(environment, updatedEnvironment)) {
21 |             log('Environment changed', environment, updatedEnvironment);
22 |             setEnvironment(updatedEnvironment);
23 |         }
24 |     }, [environment, environmentId]);
25 | 
26 |     return environment;
27 | };
28 | 
29 | export const getEnvironment = (environmentId?: string): ServiceEnvironment => {
30 |     if (environmentId) {
31 |         const environment = Constants.service.environments.find((environment) => environment.id === environmentId);
32 |         if (environment) {
33 |             return transformEnvironment(environment);
34 |         }
35 |     }
36 | 
37 |     const defaultEnvironment = Constants.service.environments.find(
38 |         (environment) => environment.id === Constants.service.defaultEnvironmentId,
39 |     );
40 |     if (defaultEnvironment) {
41 |         return transformEnvironment(defaultEnvironment);
42 |     }
43 | 
44 |     throw new Error('No default environment found. Check Constants.ts file.');
45 | };
46 | 
47 | const transformEnvironment = (environment: ServiceEnvironment) => {
48 |     if (window.location.hostname.includes('-4000.app.github.dev') && environment.id === 'local') {
49 |         return {
50 |             ...environment,
51 |             url: window.location.origin.replace('-4000.app.github.dev', '-3000.app.github.dev'),
52 |         };
53 |     }
54 | 
55 |     return environment;
56 | };
57 | 
```

--------------------------------------------------------------------------------
/mcp-servers/mcp-server-vscode/src/tools/debug_tools.d.ts:
--------------------------------------------------------------------------------

```typescript
 1 | import * as vscode from 'vscode';
 2 | import { z } from 'zod';
 3 | export declare const listDebugSessions: () => {
 4 |     content: {
 5 |         type: string;
 6 |         json: {
 7 |             sessions: {
 8 |                 id: string;
 9 |                 name: string;
10 |                 configuration: vscode.DebugConfiguration;
11 |             }[];
12 |         };
13 |     }[];
14 |     isError: boolean;
15 | };
16 | export declare const listDebugSessionsSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
17 | export declare const startDebugSession: (params: {
18 |     workspaceFolder: string;
19 |     configuration: {
20 |         type: string;
21 |         request: string;
22 |         name: string;
23 |         [key: string]: any;
24 |     };
25 | }) => Promise<{
26 |     content: {
27 |         type: string;
28 |         text: string;
29 |     }[];
30 |     isError: boolean;
31 | }>;
32 | export declare const startDebugSessionSchema: z.ZodObject<{
33 |     workspaceFolder: z.ZodString;
34 |     configuration: z.ZodObject<{
35 |         type: z.ZodString;
36 |         request: z.ZodString;
37 |         name: z.ZodString;
38 |     }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
39 |         type: z.ZodString;
40 |         request: z.ZodString;
41 |         name: z.ZodString;
42 |     }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
43 |         type: z.ZodString;
44 |         request: z.ZodString;
45 |         name: z.ZodString;
46 |     }, z.ZodTypeAny, "passthrough">>;
47 | }, "strip", z.ZodTypeAny, {
48 |     workspaceFolder: string;
49 |     configuration: {
50 |         name: string;
51 |         type: string;
52 |         request: string;
53 |     } & {
54 |         [k: string]: unknown;
55 |     };
56 | }, {
57 |     workspaceFolder: string;
58 |     configuration: {
59 |         name: string;
60 |         type: string;
61 |         request: string;
62 |     } & {
63 |         [k: string]: unknown;
64 |     };
65 | }>;
66 | export declare const stopDebugSession: (params: {
67 |     sessionName: string;
68 | }) => Promise<{
69 |     content: {
70 |         type: string;
71 |         text: string;
72 |     }[];
73 |     isError: boolean;
74 | }>;
75 | export declare const stopDebugSessionSchema: z.ZodObject<{
76 |     sessionName: z.ZodString;
77 | }, "strip", z.ZodTypeAny, {
78 |     sessionName: string;
79 | }, {
80 |     sessionName: string;
81 | }>;
82 | 
```

--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/skills/fabric/patterns/create_mermaid_visualization_for_github/system.md:
--------------------------------------------------------------------------------

```markdown
 1 | # IDENTITY and PURPOSE
 2 | 
 3 | You are an expert at data and concept visualization and in turning complex ideas into a form that can be visualized using Mermaid (markdown) syntax.
 4 | 
 5 | You take input of any type and find the best way to simply visualize or demonstrate the core ideas using Mermaid (Markdown).
 6 | 
 7 | You always output Markdown Mermaid syntax that can be rendered as a diagram.
 8 | 
 9 | # STEPS
10 | 
11 | - Take the input given and create a visualization that best explains it using elaborate and intricate Mermaid syntax.
12 | 
13 | - Ensure that the visual would work as a standalone diagram that would fully convey the concept(s).
14 | 
15 | - Use visual elements such as boxes and arrows and labels (and whatever else) to show the relationships between the data, the concepts, and whatever else, when appropriate.
16 | 
17 | - Create far more intricate and more elaborate and larger visualizations for concepts that are more complex or have more data.
18 | 
19 | - Under the Mermaid syntax, output a section called VISUAL EXPLANATION that explains in a set of 10-word bullets how the input was turned into the visualization. Ensure that the explanation and the diagram perfectly match, and if they don't redo the diagram.
20 | 
21 | - If the visualization covers too many things, summarize it into it's primary takeaway and visualize that instead.
22 | 
23 | - DO NOT COMPLAIN AND GIVE UP. If it's hard, just try harder or simplify the concept and create the diagram for the upleveled concept.
24 | 
25 | # OUTPUT INSTRUCTIONS
26 | 
27 | - DO NOT COMPLAIN. Just output the Mermaid syntax.
28 | 
29 | - Put the mermaid output into backticks so it can be rendered in a github readme.md e.g
30 | 
31 | - Pay careful attention and make sure there are no mermaid syntax errors
32 | 
33 | ```mermaid
34 | graph TD;
35 |     A-->B;
36 |     A-->C;
37 |     B-->D;
38 |     C-->D;
39 | ```
40 | 
41 | - Ensure the visualization can stand alone as a diagram that fully conveys the concept(s), and that it perfectly matches a written explanation of the concepts themselves. Start over if it can't.
42 | 
43 | - DO NOT output code that is not Mermaid syntax, such as backticks or other code indicators.
44 | 
45 | # INPUT:
46 | 
47 | INPUT:
48 | 
```

--------------------------------------------------------------------------------
/workbench-service/semantic_workbench_service/controller/participant.py:
--------------------------------------------------------------------------------

```python
 1 | import uuid
 2 | from typing import Literal
 3 | 
 4 | from semantic_workbench_api_model.workbench_model import (
 5 |     ConversationEvent,
 6 |     ConversationEventType,
 7 |     ConversationParticipant,
 8 |     ConversationParticipantList,
 9 | )
10 | from sqlmodel import col, select
11 | from sqlmodel.ext.asyncio.session import AsyncSession
12 | 
13 | from .. import db
14 | from . import convert
15 | 
16 | 
17 | async def get_conversation_participants(
18 |     session: AsyncSession, conversation_id: uuid.UUID, include_inactive: bool
19 | ) -> ConversationParticipantList:
20 |     user_query = select(db.UserParticipant).where(db.UserParticipant.conversation_id == conversation_id)
21 |     assistant_query = select(db.AssistantParticipant).where(db.AssistantParticipant.conversation_id == conversation_id)
22 | 
23 |     if not include_inactive:
24 |         user_query = user_query.where(col(db.UserParticipant.active_participant).is_(True))
25 |         assistant_query = assistant_query.where(col(db.AssistantParticipant.active_participant).is_(True))
26 | 
27 |     user_results = (await session.exec(user_query)).all()
28 |     assistant_results = (await session.exec(assistant_query)).all()
29 | 
30 |     assistant_ids = {p.assistant_id for p in assistant_results}
31 |     assistants = (
32 |         await session.exec(select(db.Assistant).where(col(db.Assistant.assistant_id).in_(assistant_ids)))
33 |     ).all()
34 |     assistant_map = {a.assistant_id: a for a in assistants}
35 | 
36 |     return convert.conversation_participant_list_from_db(
37 |         user_participants=user_results, assistant_participants=assistant_results, assistants=assistant_map
38 |     )
39 | 
40 | 
41 | def participant_event(
42 |     event_type: Literal[
43 |         ConversationEventType.participant_created,
44 |         ConversationEventType.participant_updated,
45 |     ],
46 |     conversation_id: uuid.UUID,
47 |     participant: ConversationParticipant,
48 |     participants: ConversationParticipantList,
49 | ) -> ConversationEvent:
50 |     return ConversationEvent(
51 |         conversation_id=conversation_id,
52 |         event=event_type,
53 |         data={
54 |             "participant": participant.model_dump(),
55 |             **participants.model_dump(),
56 |         },
57 |     )
58 | 
```

--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/skills/eval/routines/eval.py:
--------------------------------------------------------------------------------

```python
 1 | from typing import Any, Dict, cast
 2 | 
 3 | from events import ErrorEvent, MessageEvent
 4 | from openai_client import (
 5 |     CompletionError,
 6 |     create_system_message,
 7 |     create_user_message,
 8 |     message_content_from_completion,
 9 |     validate_completion,
10 | )
11 | from skill_library import AskUserFn, EmitFn, RunContext, RunRoutineFn
12 | from skill_library.skills.common import CommonSkill
13 | 
14 | 
15 | async def main(
16 |     context: RunContext,
17 |     routine_state: dict[str, Any],
18 |     emit: EmitFn,
19 |     run: RunRoutineFn,
20 |     ask_user: AskUserFn,
21 |     content: str,
22 |     scale: Dict[int, str],
23 | ) -> str:
24 |     """Rate the given content using the provided scale. The scale is a dictionary where each key is an integer representing a rating and each value is a description of what that rating means."""
25 |     common_skill = cast(CommonSkill, context.skills["common"])
26 |     language_model = common_skill.config.language_model
27 | 
28 |     scale_description = "; ".join([f"{key}: {value}" for key, value in scale.items()])
29 |     system_message = (
30 |         "You are a content rater. Your job is to rate the given content based "
31 |         "on the provided scale. Provide just the numeric score. "
32 |         f"The scale is as follows: {scale_description}."
33 |     )
34 | 
35 |     completion_args = {
36 |         "model": "gpt-4o",
37 |         "messages": [
38 |             create_system_message(system_message),
39 |             create_user_message(content),
40 |         ],
41 |         "max_tokens": 10,  # We only need a short response for a rating.
42 |     }
43 | 
44 |     try:
45 |         completion = await language_model.beta.chat.completions.parse(
46 |             **completion_args,
47 |         )
48 |         validate_completion(completion)
49 |         rating = message_content_from_completion(completion).strip()
50 |     except Exception as e:
51 |         completion_error = CompletionError(e)
52 |         emit(ErrorEvent(message="Failed to rate the content."))
53 |         raise completion_error from e
54 | 
55 |     emit(MessageEvent(message=f"The content is rated as: {rating}"))
56 |     context.log("rate_content", {"content": content, "scale": scale, "rating": rating})
57 | 
58 |     return rating
59 | 
```

--------------------------------------------------------------------------------
/assistants/guided-conversation-assistant/.vscode/settings.json:
--------------------------------------------------------------------------------

```json
 1 | {
 2 |   "editor.bracketPairColorization.enabled": true,
 3 |   "editor.codeActionsOnSave": {
 4 |     "source.organizeImports": "explicit",
 5 |     "source.fixAll": "explicit"
 6 |   },
 7 |   "editor.guides.bracketPairs": "active",
 8 |   "editor.formatOnPaste": true,
 9 |   "editor.formatOnType": true,
10 |   "editor.formatOnSave": true,
11 |   "files.eol": "\n",
12 |   "files.trimTrailingWhitespace": true,
13 |   "[json]": {
14 |     "editor.defaultFormatter": "esbenp.prettier-vscode",
15 |     "editor.formatOnSave": true
16 |   },
17 |   "[jsonc]": {
18 |     "editor.defaultFormatter": "esbenp.prettier-vscode",
19 |     "editor.formatOnSave": true
20 |   },
21 |   "python.analysis.autoFormatStrings": true,
22 |   "python.analysis.autoImportCompletions": true,
23 |   "python.analysis.diagnosticMode": "workspace",
24 |   "python.analysis.exclude": [
25 |     "**/.venv/**",
26 |     "**/.data/**",
27 |     "**/__pycache__/**"
28 |   ],
29 |   "python.analysis.fixAll": ["source.unusedImports"],
30 |   "python.analysis.inlayHints.functionReturnTypes": true,
31 |   "python.analysis.typeCheckingMode": "standard",
32 |   "python.defaultInterpreterPath": "${workspaceFolder}/.venv",
33 |   "[python]": {
34 |     "editor.defaultFormatter": "charliermarsh.ruff",
35 |     "editor.formatOnSave": true,
36 |     "editor.codeActionsOnSave": {
37 |       "source.fixAll": "explicit",
38 |       "source.unusedImports": "explicit",
39 |       "source.organizeImports": "explicit",
40 |       "source.formatDocument": "explicit"
41 |     }
42 |   },
43 |   "ruff.nativeServer": "on",
44 |   "search.exclude": {
45 |     "**/.venv": true,
46 |     "**/.data": true,
47 |     "**/__pycache__": true
48 |   },
49 |   // For use with optional extension: "streetsidesoftware.code-spell-checker"
50 |   "cSpell.ignorePaths": [
51 |     ".venv",
52 |     "node_modules",
53 |     "package-lock.json",
54 |     "settings.json",
55 |     "uv.lock"
56 |   ],
57 |   "cSpell.words": [
58 |     "Codespaces",
59 |     "contentsafety",
60 |     "deepmerge",
61 |     "devcontainer",
62 |     "dotenv",
63 |     "endregion",
64 |     "Excalidraw",
65 |     "fastapi",
66 |     "jsonschema",
67 |     "Langchain",
68 |     "moderations",
69 |     "openai",
70 |     "pdfplumber",
71 |     "pydantic",
72 |     "pyproject",
73 |     "pyright",
74 |     "tiktoken",
75 |     "updown",
76 |     "venv",
77 |     "virtualenvs"
78 |   ]
79 | }
80 | 
```

--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/skills/fabric/patterns/create_keynote/system.md:
--------------------------------------------------------------------------------

```markdown
 1 | # IDENTITY and PURPOSE
 2 | 
 3 | You are an expert at creating TED-quality keynote presentations from the input provided.
 4 | 
 5 | Take a deep breath and think step-by-step about how best to achieve this using the steps below.
 6 | 
 7 | # STEPS
 8 | 
 9 | - Think about the entire narrative flow of the presentation first. Have that firmly in your mind. Then begin.
10 | 
11 | - Given the input, determine what the real takeaway should be, from a practical standpoint, and ensure that the narrative structure we're building towards ends with that final note.
12 | 
13 | - Take the concepts from the input and create <hr> delimited sections for each slide.
14 | 
15 | - The slide's content will be 3-5 bullets of no more than 5-10 words each.
16 | 
17 | - Create the slide deck as a slide-based way to tell the story of the content. Be aware of the narrative flow of the slides, and be sure you're building the story like you would for a TED talk.
18 | 
19 | - Each slide's content:
20 | 
21 | -- Title
22 | -- Main content of 3-5 bullets
23 | -- Image description (for an AI image generator)
24 | -- Speaker notes (for the presenter): These should be the exact words the speaker says for that slide. Give them as a set of bullets of no more than 16 words each.
25 | 
26 | - The total length of slides should be between 10 - 25, depending on the input.
27 | 
28 | # OUTPUT GUIDANCE
29 | 
30 | - These should be TED level presentations focused on narrative.
31 | 
32 | - Ensure the slides and overall presentation flows properly. If it doesn't produce a clean narrative, start over.
33 | 
34 | # OUTPUT INSTRUCTIONS
35 | 
36 | - Output a section called FLOW that has the flow of the story we're going to tell as a series of 10-20 bullets that are associated with one slide a piece. Each bullet should be 10-words max.
37 | 
38 | - Output a section called DESIRED TAKEAWAY that has the final takeaway from the presentation. This should be a single sentence.
39 | 
40 | - Output a section called PRESENTATION that's a Markdown formatted list of slides and the content on the slide, plus the image description.
41 | 
42 | - Ensure the speaker notes are in the voice of the speaker, i.e. they're what they're actually going to say.
43 | 
44 | # INPUT:
45 | 
46 | INPUT:
47 | 
```

--------------------------------------------------------------------------------
/mcp-servers/mcp-server-filesystem-edit/data/test_cases.yaml:
--------------------------------------------------------------------------------

```yaml
 1 | test_cases:
 2 |   - test_case_name: Web Frontends 1
 3 |     transcription_file: "transcript_Web_Frontends_202502281551.md"
 4 |     next_ask: "Can you create a proposal for which frontend we should use. Fluent + Tailwind is what I want to use, but please include compare/contrast with MUI and Chakra UI"
 5 |   - test_case_name: Startup Idea 1
 6 |     transcription_file: "transcript_Startup_Idea_1_202503031513.md"
 7 |     next_ask: "Ok. Let's first start a document on game ideas - I think this is the biggest hurdle. Proving that we have enough novel and interesting games that leverage AI."
 8 |   - test_case_name: Startup Idea Pitch 1
 9 |     transcription_file: "transcript_Startup_Idea_2_202503031659.md"
10 |     next_ask: "I uploaded the game ideas file. Can you now make a new investor pitch document for me?"
11 |     attachments:
12 |       - "ReDoodle.txt"
13 |       - "Daily Game Ideas.txt"
14 |   - test_case_name: Web Frontends Edit 2
15 |     test_case_type: "writing"
16 |     transcription_file: "transcript_Web_Frontends_202502281551.md"
17 |     open_file: "Frontend Framework Proposal.txt"
18 |     next_ask: "Please consolidate the Recommendation and Conclusion sections"
19 |   - test_case_name: Research template 1
20 |     test_case_type: "writing"
21 |     transcription_file: "transcript_research_simple.md"
22 |     open_file: "Research Template.tex"
23 |     file_type: "latex"
24 |     next_ask: "Please write the introduction section of my research paper on asteroids."
25 |   - test_case_name: Startup Idea Feedback 1
26 |     test_case_type: "comments"
27 |     transcription_file: "transcript_Startup_Idea_2_202503031659.md"
28 |     open_file: "Daily Game Ideas.txt"
29 |     next_ask: "Can you give feedback on the doc? Include at least one piece of feedback about searching for recent similar games."
30 |     attachments:
31 |       - "ReDoodle.txt"
32 |   - test_case_name: Startup Idea Presentation 1
33 |     test_case_type: "presentation"
34 |     transcription_file: "transcript_Startup_Idea_2_202503031659.md"
35 |     next_ask: "Can you create a presentation I can share with the investors?"
36 |     attachments:
37 |       - "ReDoodle.txt"
38 |       - "Daily Game Ideas.txt"
39 | 
```

