This is page 8 of 114. Use http://codebase.md/microsoft/semanticworkbench?lines=false&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
--------------------------------------------------------------------------------
/assistants/document-assistant/assistant/assets/icon.svg:
--------------------------------------------------------------------------------
```
<svg style="background-color:rgb(155,217,219)" width="30" height="30" viewBox="-5 -5 30 30" xmlns="http://www.w3.org/2000/svg">
<path fill="rgb(36,36,36)" d="M6.5 10a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7Zm0 2a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7Zm0 2a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7ZM4 4c0-1.1.9-2 2-2h4.59c.4 0 .78.16 1.06.44l3.91 3.91c.28.28.44.67.44 1.06V16a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4Zm2-1a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V8h-3.5A1.5 1.5 0 0 1 10 6.5V3H6Zm5.5 4h3.3L11 3.2v3.3c0 .28.22.5.5.5Z"></path>
</svg>
```
--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/skills/posix/routines/mv.py:
--------------------------------------------------------------------------------
```python
from typing import Any, cast
from skill_library import AskUserFn, EmitFn, RunContext, RunRoutineFn
from skill_library.skills.posix import PosixSkill
async def main(
context: RunContext,
routine_state: dict[str, Any],
emit: EmitFn,
run: RunRoutineFn,
ask_user: AskUserFn,
src: str,
dest: str,
) -> str:
"""
Move a file or directory.
"""
posix_skill = cast(PosixSkill, context.skills["posix"])
shell = posix_skill.shell
shell.mv(src, dest)
return f"Moved {src} to {dest}."
```
--------------------------------------------------------------------------------
/libraries/dotnet/WorkbenchConnector/Storage/AgentInfo.cs:
--------------------------------------------------------------------------------
```csharp
// Copyright (c) Microsoft. All rights reserved.
using System.Text.Json.Serialization;
// ReSharper disable once CheckNamespace
namespace Microsoft.SemanticWorkbench.Connector;
public class AgentInfo
{
[JsonPropertyName("id")]
[JsonPropertyOrder(0)]
public string Id { get; set; } = string.Empty;
[JsonPropertyName("name")]
[JsonPropertyOrder(1)]
public string Name { get; set; } = string.Empty;
[JsonPropertyName("config")]
[JsonPropertyOrder(2)]
public object Config { get; set; } = null!;
}
```
--------------------------------------------------------------------------------
/libraries/python/chat-context-toolkit/chat_context_toolkit/history/__init__.py:
--------------------------------------------------------------------------------
```python
"""Budget controls for chat message history."""
from ._history import apply_budget_to_history_messages
from ._types import (
HistoryMessage,
HistoryMessageProtocol,
HistoryMessageProvider,
MessageHistoryBudgetResult,
NewTurn,
OpenAIHistoryMessageParam,
TokenCounter,
)
__all__ = [
"apply_budget_to_history_messages",
"HistoryMessageProtocol",
"HistoryMessage",
"HistoryMessageProvider",
"MessageHistoryBudgetResult",
"NewTurn",
"OpenAIHistoryMessageParam",
"TokenCounter",
]
```
--------------------------------------------------------------------------------
/aspire-orchestrator/Aspire.AppHost/appsettings.json:
--------------------------------------------------------------------------------
```json
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning",
"Aspire.Hosting.Dcp": "Warning"
}
},
"Workbench": {
// Used only when running Aspire locally, ie not in the cloud
// Port 4000 is the default port used also when not using Aspire.
// Using the same port allows to keep cookies and other local settings.
"AppPort": 4000
},
"EntraID": {
"Authority": "https://login.microsoftonline.com/common",
"ClientId": "22cb77c3-ca98-4a26-b4db-ac4dcecba690"
}
}
```
--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/skills/fabric/patterns/stringify/system.md:
--------------------------------------------------------------------------------
```markdown
# IDENTITY and PURPOSE
You can turn any document of any length into a well-formatted string that can be input as a variable in a command line.
# STEPS
- Fully understand the project from the input.
# OUTPUT SECTIONS
- Output only the final string.
# OUTPUT INSTRUCTIONS
- Output as though it were surrounded by quotes, but without the quotes.
- Escape the string properly.
- Make the string one-line (so escape returns and other non-command-line characters).
- Keep the original content other than things you need to escape.
# INPUT
INPUT:
```
--------------------------------------------------------------------------------
/workbench-app/src/components/Conversations/ChatInputPlugins/TypeaheadMenuPlugin.css:
--------------------------------------------------------------------------------
```css
.typeahead-popover.mentions-menu {
position: absolute;
z-index: 1000;
bottom: 20px;
background-color: white;
border: 1px solid #ccc;
}
.typeahead-popover.mentions-menu ul {
list-style-type: none;
margin: 0;
padding: 0;
max-height: 200px;
overflow-y: auto;
width: 100%;
}
.typeahead-popover.mentions-menu li {
padding: 5px 10px;
cursor: pointer;
}
.typeahead-popover.mentions-menu li.selected {
background-color: #ccc;
}
.typeahead-popover.mentions-menu li label {
white-space: nowrap;
}
```
--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/skills/fabric/patterns/clean_text/system.md:
--------------------------------------------------------------------------------
```markdown
# IDENTITY and PURPOSE
You are an expert at cleaning up broken and, malformatted, text, for example: line breaks in weird places, etc.
# Steps
- Read the entire document and fully understand it.
- Remove any strange line breaks that disrupt formatting.
- Add capitalization, punctuation, line breaks, paragraphs and other formatting where necessary.
- Do NOT change any content or spelling whatsoever.
# OUTPUT INSTRUCTIONS
- Output the full, properly-formatted text.
- Do not output warnings or notes—just the requested sections.
# INPUT:
INPUT:
```
--------------------------------------------------------------------------------
/mcp-servers/mcp-server-vscode/.vscode/tasks.json:
--------------------------------------------------------------------------------
```json
{
"version": "2.0.0",
"tasks": [
{
"label": "watch",
"type": "npm",
"script": "watch",
"isBackground": true,
"problemMatcher": {
"owner": "custom",
"fileLocation": "absolute",
"pattern": {
"regexp": "a^"
},
"background": {
"activeOnStart": true,
"beginsPattern": "^\\[webpack-cli\\] Compiler starting",
"endsPattern": "^webpack\\s+.*compiled successfully.*$"
}
},
"presentation": {
"clear": true
}
}
]
}
```
--------------------------------------------------------------------------------
/libraries/python/assistant-extensions/assistant_extensions/mcp/_sampling_handler.py:
--------------------------------------------------------------------------------
```python
from typing import Any, Protocol
from mcp import ClientSession, CreateMessageResult
from mcp.shared.context import RequestContext
from mcp.types import CreateMessageRequestParams, ErrorData
from assistant_extensions.mcp._model import MCPSamplingMessageHandler
class SamplingHandler(Protocol):
async def handle_message(
self,
context: RequestContext[ClientSession, Any],
params: CreateMessageRequestParams,
) -> CreateMessageResult | ErrorData: ...
@property
def message_handler(self) -> MCPSamplingMessageHandler: ...
```
--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/skills/fabric/patterns/extract_references/system.md:
--------------------------------------------------------------------------------
```markdown
# IDENTITY and PURPOSE
You are an expert extractor of references to art, stories, books, literature, papers, and other sources of learning from content.
# Steps
Take the input given and extract all references to art, stories, books, literature, papers, and other sources of learning into a bulleted list.
# OUTPUT INSTRUCTIONS
- Output up to 20 references from the content.
- Output each into a bullet of no more than 16 words.
# EXAMPLE
- Moby Dick by Herman Melville
- Superforecasting, by Bill Tetlock
- Aesop's Fables
- Rilke's Poetry
# INPUT:
INPUT:
```
--------------------------------------------------------------------------------
/tools/run-workbench-chatbot.ps1:
--------------------------------------------------------------------------------
```
#!/usr/bin/env pwsh
# Exit on error
$ErrorActionPreference = "Stop"
# Determine the root directory of the script
$scriptPath = $PSScriptRoot
$root = Resolve-Path "$scriptPath\.."
# Change directory to the root
Set-Location $root
# Run the scripts
Start-Process -FilePath "pwsh" -ArgumentList "-NoExit", "-File", "$root\tools\run-service.ps1" -PassThru
Start-Process -FilePath "pwsh" -ArgumentList "-NoExit", "-File", "$root\tools\run-python-example2.ps1" -PassThru
Start-Process -FilePath "pwsh" -ArgumentList "-NoExit", "-File", "$root\tools\run-app.ps1" -PassThru
```
--------------------------------------------------------------------------------
/workbench-app/src/models/AssistantServiceRegistration.ts:
--------------------------------------------------------------------------------
```typescript
// Copyright (c) Microsoft. All rights reserved.
export interface NewAssistantServiceRegistration {
assistantServiceId: string;
name: string;
description: string;
includeInListing: boolean;
}
export interface AssistantServiceRegistration {
assistantServiceId: string;
assistantServiceOnline: boolean;
assistantServiceUrl: string;
name: string;
description: string;
includeInListing: boolean;
createdDateTime: string;
createdByUserId: string;
createdByUserName: string;
apiKeyName: string;
apiKey?: string;
}
```
--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/skills/fabric/patterns/extract_videoid/system.md:
--------------------------------------------------------------------------------
```markdown
# IDENTITY and PURPOSE
You are an expert at extracting video IDs from any URL so they can be passed on to other applications.
Take a deep breath and think step by step about how to best accomplish this goal using the following steps.
# STEPS
- Read the whole URL so you fully understand its components
- Find the portion of the URL that identifies the video ID
- Output just that video ID by itself
# OUTPUT INSTRUCTIONS
- Output the video ID by itself with NOTHING else included
- Do not output any warnings or errors or notes—just the output.
# INPUT:
INPUT:
```
--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/skills/posix/routines/write_file.py:
--------------------------------------------------------------------------------
```python
from typing import Any, cast
from skill_library import AskUserFn, EmitFn, RunContext, RunRoutineFn
from skill_library.skills.posix.posix_skill import PosixSkill
async def main(
context: RunContext,
routine_state: dict[str, Any],
emit: EmitFn,
run: RunRoutineFn,
ask_user: AskUserFn,
filename: str,
content: str,
) -> str:
"""
Write content to a file.
"""
posix_skill = cast(PosixSkill, context.skills["posix"])
shell = posix_skill.shell
shell.write_file(filename, content)
return f"Wrote content to {filename}."
```
--------------------------------------------------------------------------------
/workbench-app/src/libs/useSiteUtility.ts:
--------------------------------------------------------------------------------
```typescript
// Copyright (c) Microsoft. All rights reserved.
import React from 'react';
import { Constants } from '../Constants';
export const useSiteUtility = () => {
const setDocumentTitle = React.useCallback((title?: string) => {
document.title = title ? `${title} - ${Constants.app.name}` : Constants.app.name;
}, []);
const forceNavigateTo = React.useCallback((url: string | URL) => {
window.history.pushState(null, '', url);
window.location.reload();
}, []);
return {
setDocumentTitle,
forceNavigateTo,
};
};
```
--------------------------------------------------------------------------------
/examples/python/python-01-echo-bot/pyproject.toml:
--------------------------------------------------------------------------------
```toml
[project]
name = "assistant"
version = "0.1.0"
description = "Example of a python Semantic Workbench assistant."
authors = [{ name = "Semantic Workbench Team" }]
readme = "README.md"
requires-python = ">=3.11,<3.13"
dependencies = ["openai>=1.61.0", "semantic-workbench-assistant>=0.1.0"]
[tool.uv]
package = true
[tool.uv.sources]
semantic-workbench-assistant = { path = "../../../libraries/python/semantic-workbench-assistant", editable = true }
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[dependency-groups]
dev = ["pyright>=1.1.389"]
```
--------------------------------------------------------------------------------
/assistants/document-assistant/assistant/filesystem/__init__.py:
--------------------------------------------------------------------------------
```python
from ._filesystem import AttachmentProcessingErrorHandler, AttachmentsExtension
from ._model import Attachment, AttachmentsConfigModel, DocumentEditorConfigModel
from ._prompts import EDIT_TOOL_DESCRIPTION_HOSTED, EDIT_TOOL_DESCRIPTION_LOCAL, FILES_PROMPT, VIEW_TOOL, VIEW_TOOL_OBJ
__all__ = [
"AttachmentsExtension",
"AttachmentsConfigModel",
"Attachment",
"AttachmentProcessingErrorHandler",
"DocumentEditorConfigModel",
"FILES_PROMPT",
"VIEW_TOOL",
"VIEW_TOOL_OBJ",
"EDIT_TOOL_DESCRIPTION_HOSTED",
"EDIT_TOOL_DESCRIPTION_LOCAL",
]
```
--------------------------------------------------------------------------------
/libraries/python/semantic-workbench-api-model/pyproject.toml:
--------------------------------------------------------------------------------
```toml
[project]
name = "semantic-workbench-api-model"
version = "0.1.0"
description = "Library of pydantic models for requests and responses to the semantic-workbench-service and semantic-workbench-assistant services."
authors = [{name="Semantic Workbench Team"}]
readme = "README.md"
requires-python = ">=3.11,<3.13"
dependencies = [
"asgi-correlation-id>=4.3.1",
"fastapi[standard]~=0.115.0",
"hishel>=0.1.2",
]
[tool.uv]
package = true
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[dependency-groups]
dev = [
"pyright>=1.1.389",
]
```
--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/skills/fabric/patterns/extract_jokes/system.md:
--------------------------------------------------------------------------------
```markdown
# IDENTITY and PURPOSE
You extract jokes from text content. You are interested only in jokes.
You create bullet points that capture the joke and punchline.
# OUTPUT INSTRUCTIONS
- Only output Markdown.
- Only extract jokes.
- Each bullet should should have the joke followed by punchline on the next line.
- Do not give warnings or notes; only output the requested sections.
- You use bulleted lists for output, not numbered lists.
- Do not repeat jokes, quotes, facts, or resources.
- Ensure you follow ALL these instructions when creating your output.
# INPUT
INPUT:
```
--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/skills/guided_conversation/agenda.py:
--------------------------------------------------------------------------------
```python
from pydantic import BaseModel, Field
from skill_library.skills.guided_conversation.resources import (
ResourceConstraintMode,
)
class AgendaItem(BaseModel):
title: str = Field(description="Brief description of the item")
resource: int = Field(description="Number of turns required for the item")
class Agenda(BaseModel):
resource_constraint_mode: ResourceConstraintMode | None = Field(default=None)
items: list[AgendaItem] = Field(
description="Ordered list of items to be completed in the remainder of the conversation",
default_factory=list,
)
```
--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/skills/fabric/patterns/extract_controversial_ideas/system.md:
--------------------------------------------------------------------------------
```markdown
# IDENTITY
You are super-intelligent AI system that extracts the most controversial statements out of inputs.
# GOAL
- Create a full list of controversial statements from the input.
# OUTPUT
- In a section called Controversial Ideas, output a bulleted list of controversial ideas from the input, captured in 15-words each.
- In a section called Supporting Quotes, output a bulleted list of controversial quotes from the input.
# OUTPUT INSTRUCTIONS
- Ensure you get all of the controversial ideas from the input.
- Output the output as Markdown, but without the use of any asterisks.
```
--------------------------------------------------------------------------------
/assistants/project-assistant/assistant/errors.py:
--------------------------------------------------------------------------------
```python
# Define an Exception class for no share found
class NoShareFoundError(Exception):
"""Exception raised when no active knowledge share is found."""
def __init__(self, message: str):
super().__init__(message)
self.message = message
NoShareException = NoShareFoundError("No active share found.")
class NoUserFoundError(Exception):
"""Exception raised when no user is found in the context."""
def __init__(self, message: str):
super().__init__(message)
self.message = message
NoUserException = NoUserFoundError("No user found in the context.")
```
--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/skills/fabric/patterns/export_data_as_csv/system.md:
--------------------------------------------------------------------------------
```markdown
# IDENTITY
You are a superintelligent AI that finds all mentions of data structures within an input and you output properly formatted CSV data that perfectly represents what's in the input.
# STEPS
- Read the whole input and understand the context of everything.
- Find all mention of data structures, e.g., projects, teams, budgets, metrics, KPIs, etc., and think about the name of those fields and the data in each field.
# OUTPUT
- Output a CSV file that contains all the data structures found in the input.
# OUTPUT INSTRUCTIONS
- Use the fields found in the input, don't make up your own.
```
--------------------------------------------------------------------------------
/mcp-servers/mcp-server-web-research/test/test_web_research.py:
--------------------------------------------------------------------------------
```python
import pytest
from mcp_server_web_research.web_research import perform_web_research
async def test_setup():
assert True
@pytest.mark.skip
async def test_web_research():
"""
Test the web research functionality.
"""
question = "What are the latest trends in AI technology?"
async def on_status_update(status: str):
print(f"➡️ {status}", flush=True)
try:
result = await perform_web_research(question, on_status_update)
print(f"✅ {result}")
return result
except Exception as e:
print(f"❌ Error during research: {e}")
raise
```
--------------------------------------------------------------------------------
/tools/run-dotnet-examples-with-aspire.sh:
--------------------------------------------------------------------------------
```bash
#!/usr/bin/env bash
set -e
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]:-$0}")" && cd .. && pwd)"
cd $ROOT
# ================================================================
cd aspire-orchestrator
echo '===================================================================='
echo ''
echo 'If the Aspire dashboard is not opened in your browser automatically '
echo 'look in the log for the following link, including the auth token: '
echo ''
echo ' https://localhost:17149/login?t=........ '
echo ''
echo '===================================================================='
. run.sh
```
--------------------------------------------------------------------------------
/assistants/knowledge-transfer-assistant/assistant/tools/base.py:
--------------------------------------------------------------------------------
```python
"""
Base classes for Knowledge Transfer Assistant tools.
"""
from semantic_workbench_assistant.assistant_app import ConversationContext
from assistant.storage_models import ConversationRole
class ToolsBase:
"""Base class for tool functionality."""
def __init__(self, context: ConversationContext, role: ConversationRole):
"""
Initialize the tools base with the current conversation context.
Args:
context: The conversation context
role: The assistant's role (ConversationRole enum)
"""
self.context = context
self.role = role
```
--------------------------------------------------------------------------------
/mcp-servers/mcp-server-open-deep-research-clone/test/test_open_deep_research_clone.py:
--------------------------------------------------------------------------------
```python
import pytest
from mcp_server_open_deep_research_clone.web_research import perform_web_research
async def test_setup():
assert True
@pytest.mark.skip
async def test_web_research():
"""
Test the web research functionality.
"""
question = "What are the latest trends in AI technology?"
async def on_status_update(status: str):
print(f"➡️ {status}", flush=True)
try:
result = await perform_web_research(question, on_status_update)
print(f"✅ {result}")
return result
except Exception as e:
print(f"❌ Error during research: {e}")
raise
```
--------------------------------------------------------------------------------
/libraries/python/chat-context-toolkit/chat_context_toolkit/archive/__init__.py:
--------------------------------------------------------------------------------
```python
"""Archiving and retrieval tools for chat message history."""
from ._archive_reader import ArchiveReader
from ._archive_task_queue import ArchiveTaskQueue
from ._types import (
ArchiveContent,
ArchiveManifest,
ArchivesState,
ArchiveTaskConfig,
MessageProtocol,
MessageProvider,
StorageProvider,
Summarizer,
TokenCounter,
)
__all__ = [
"ArchiveReader",
"ArchiveTaskQueue",
"ArchiveContent",
"ArchiveManifest",
"ArchivesState",
"ArchiveTaskConfig",
"MessageProvider",
"MessageProtocol",
"StorageProvider",
"Summarizer",
"TokenCounter",
]
```
--------------------------------------------------------------------------------
/assistants/codespace-assistant/assistant/response/utils/__init__.py:
--------------------------------------------------------------------------------
```python
from .formatting_utils import get_formatted_token_count, get_response_duration_message, get_token_usage_message
from .message_utils import (
build_system_message_content,
)
from .openai_utils import (
extract_content_from_mcp_tool_calls,
get_ai_client_configs,
get_completion,
get_openai_tools_from_mcp_sessions,
)
__all__ = [
"build_system_message_content",
"extract_content_from_mcp_tool_calls",
"get_ai_client_configs",
"get_completion",
"get_formatted_token_count",
"get_openai_tools_from_mcp_sessions",
"get_response_duration_message",
"get_token_usage_message",
]
```
--------------------------------------------------------------------------------
/mcp-servers/mcp-server-giphy/pyproject.toml:
--------------------------------------------------------------------------------
```toml
[project]
name = "mcp-server-giphy"
version = "0.1.0"
description = "An MCP server integration with the GIPHY API"
authors = [{ name = "Semantic Workbench Team" }]
readme = "README.md"
requires-python = ">=3.11"
dependencies = [
"aiohttp>=3.11.13",
"mcp-extensions[openai]>=0.1.0",
"requests>=2.25",
]
[dependency-groups]
dev = ["pyright>=1.1.389"]
[tool.hatch.build.targets.wheel]
packages = ["mcp_server"]
[tool.uv]
package = true
[tool.uv.sources]
mcp-extensions = { path = "../../libraries/python/mcp-extensions", editable = true }
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
```
--------------------------------------------------------------------------------
/mcp-servers/mcp-server-vscode/.vscode/launch.json:
--------------------------------------------------------------------------------
```json
// A launch configuration that compiles the extension and then opens it inside a new window
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
{
"version": "0.2.0",
"configurations": [
{
"name": "mcp-server: mcp-server-vscode (Extension)",
"type": "extensionHost",
"request": "launch",
"args": ["--extensionDevelopmentPath=${workspaceFolder}"],
"outFiles": ["${workspaceFolder}/dist/**/*.js"],
"preLaunchTask": "${defaultBuildTask}"
}
]
}
```
--------------------------------------------------------------------------------
/assistants/knowledge-transfer-assistant/docs/learning_assistance.md:
--------------------------------------------------------------------------------
```markdown
# Instructions for the Learning Assistant
- Identify 2 to 3 concrete opportunities and "how to's" for using the Knowledge Transfer Assistant for the user that are customized to the needs & opportunities specific to that user.
- Find out more about what the user does and help them ideate where this assistant could help.
- After brainstorming, provide the user with specific steps:
- How to create a new Knowledge Transfer Assistant experience.
- Help them understand what kinds of files could be uploaded to benefit this.
- Help them understand what prompts/things-to-say they could use to help them get the ball rolling.
```
--------------------------------------------------------------------------------
/assistants/project-assistant/docs/learning_assistance.md:
--------------------------------------------------------------------------------
```markdown
# Instructions for the Learning Assistant
- Identify 2 to 3 concrete opportunities and "how to's" for using the Knowledge Transfer Assistant for the user that are customized to the needs & opportunities specific to that user.
- Find out more about what the user does and help them ideate where this assistant could help.
- After brainstorming, provide the user with specific steps:
- How to create a new Knowledge Transfer Assistant experience.
- Help them understand what kinds of files could be uploaded to benefit this.
- Help them understand what prompts/things-to-say they could use to help them get the ball rolling.
```
--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/__init__.py:
--------------------------------------------------------------------------------
```python
# skill_library/__init__.py
from .chat_driver_helpers import ChatDriverFunctions
from .engine import Engine
from .skill import Skill, SkillConfig, SkillProtocol
from .types import (
ActionFn,
AskUserFn,
EmitFn,
LanguageModel,
Metadata,
RunContext,
RunContextProvider,
RunRoutineFn,
)
from .usage import get_routine_usage
__all__ = [
"ActionFn",
"AskUserFn",
"ChatDriverFunctions",
"EmitFn",
"Engine",
"get_routine_usage",
"LanguageModel",
"Metadata",
"RunRoutineFn",
"RunContext",
"RunContextProvider",
"Skill",
"SkillConfig",
"SkillProtocol",
]
```
--------------------------------------------------------------------------------
/workbench-app/run.sh:
--------------------------------------------------------------------------------
```bash
#!/usr/bin/env bash
set -e
HERE="$(cd "$(dirname "${BASH_SOURCE[0]:-$0}")" && pwd)"
cd $HERE
# ================================================================
# Check node version, it must be major version 20 (any minor), otherwise show an error and exit
NODE_VERSION=$(node -v)
if [[ $NODE_VERSION != v20.* ]]; then
echo "Node version must be 20.x.x. You have $NODE_VERSION. Please install the correct version. See also README.md for instructions."
echo "If you use 'nvm' you can also run 'nvm install 20'"
exit 1
fi
echo "Starting the Semantic Workbench app, open https://127.0.0.1:4000 in your browser when ready"
pnpm start
```
--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/skills/posix/routines/cd.py:
--------------------------------------------------------------------------------
```python
from typing import Any, cast
from skill_library import AskUserFn, EmitFn, RunContext, RunRoutineFn
from skill_library.skills.posix import PosixSkill
async def main(
context: RunContext,
routine_state: dict[str, Any],
emit: EmitFn,
run: RunRoutineFn,
ask_user: AskUserFn,
directory: str,
) -> str:
"""
Change the current working directory.
"""
posix_skill = cast(PosixSkill, context.skills["posix"])
shell = posix_skill.shell
try:
shell.cd(directory)
return f"Changed directory to {directory}."
except FileNotFoundError:
return f"Directory {directory} not found."
```
--------------------------------------------------------------------------------
/libraries/dotnet/WorkbenchConnector/Models/Participant.cs:
--------------------------------------------------------------------------------
```csharp
// Copyright (c) Microsoft. All rights reserved.
using System.Text.Json.Serialization;
// ReSharper disable once CheckNamespace
namespace Microsoft.SemanticWorkbench.Connector;
public class Participant
{
[JsonPropertyName("id")]
public string Id { get; set; } = string.Empty;
[JsonPropertyName("role")]
public string Role { get; set; } = string.Empty;
[JsonPropertyName("name")]
public string Name { get; set; } = string.Empty;
[JsonPropertyName("active_participant")]
public bool ActiveParticipant { get; set; } = false;
[JsonPropertyName("online")]
public bool? Online { get; set; } = null;
}
```
--------------------------------------------------------------------------------
/workbench-service/semantic_workbench_service/azure_speech.py:
--------------------------------------------------------------------------------
```python
import logging
from azure.identity import DefaultAzureCredential
from . import settings
logger = logging.getLogger(__name__)
def get_token() -> dict[str, str]:
if settings.azure_speech.resource_id == "" or settings.azure_speech.region == "":
return {}
credential = DefaultAzureCredential()
try:
token = credential.get_token("https://cognitiveservices.azure.com/.default").token
except Exception as e:
logger.error(f"Failed to get token: {e}")
return {}
return {
"token": f"aad#{settings.azure_speech.resource_id}#{token}",
"region": settings.azure_speech.region,
}
```
--------------------------------------------------------------------------------
/libraries/python/content-safety/pyproject.toml:
--------------------------------------------------------------------------------
```toml
[project]
name = "content-safety"
version = "0.1.0"
description = "Content Safety for Semantic Workbench Assistants"
authors = [{ name = "Semantic Workbench Team" }]
readme = "README.md"
requires-python = ">=3.11,<3.13"
dependencies = [
"azure-ai-contentsafety>=1.0.0",
"azure-core[aio]>=1.30.0",
"azure-identity>=1.17.1",
"openai>=1.61.0",
"semantic-workbench-assistant>=0.1.0",
]
[tool.uv]
package = true
[tool.uv.sources]
semantic-workbench-assistant = { path = "../semantic-workbench-assistant", editable = true }
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[dependency-groups]
dev = ["pyright>=1.1.389"]
```
--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/skills/posix/routines/append_file.py:
--------------------------------------------------------------------------------
```python
from typing import Any, cast
from skill_library import AskUserFn, EmitFn, RunContext, RunRoutineFn
from skill_library.skills.posix import PosixSkill
async def main(
context: RunContext,
routine_state: dict[str, Any],
emit: EmitFn,
run: RunRoutineFn,
ask_user: AskUserFn,
filename: str,
content: str,
) -> str:
"""
Change the current working directory.
"""
posix_skill = cast(PosixSkill, context.skills["posix"])
shell = posix_skill.shell
try:
shell.append_file(filename, content)
return f"Appended content to {filename}."
except FileNotFoundError:
return f"Filename {filename} not found."
```
--------------------------------------------------------------------------------
/workbench-service/migrations/versions/2024_10_30_231536_039bec8edc33_index_message_type.py:
--------------------------------------------------------------------------------
```python
"""index message_type
Revision ID: 039bec8edc33
Revises: b29524775484
Create Date: 2024-10-30 23:15:36.240812
"""
from typing import Sequence, Union
from alembic import op
# revision identifiers, used by Alembic.
revision: str = "039bec8edc33"
down_revision: Union[str, None] = "b29524775484"
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None
def upgrade() -> None:
op.create_index(op.f("ix_conversationmessage_message_type"), "conversationmessage", ["message_type"], unique=False)
def downgrade() -> None:
op.drop_index(op.f("ix_conversationmessage_message_type"), table_name="conversationmessage")
```
--------------------------------------------------------------------------------
/workbench-app/src/models/Assistant.ts:
--------------------------------------------------------------------------------
```typescript
// Copyright (c) Microsoft. All rights reserved.
export type Assistant = {
id: string;
name: string;
image?: string;
assistantServiceId: string;
assistantServiceOnline: boolean;
templateId: string;
createdDatetime: string;
conversations: {
[additionalPropertyId: string]: {
id: string;
};
};
commands?: {
[commandName: string]: {
displayName: string;
description: string;
};
};
states?: {
[stateKey: string]: {
displayName: string;
description: string;
};
};
metadata?: {
[key: string]: any;
};
};
```
--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/skills/posix/routines/make_home_dir.py:
--------------------------------------------------------------------------------
```python
from typing import Any
from skill_library import AskUserFn, EmitFn, RunContext, RunRoutineFn
async def main(
context: RunContext,
routine_state: dict[str, Any],
emit: EmitFn,
run: RunRoutineFn,
ask_user: AskUserFn,
username: str,
) -> None:
await run("posix.cd", "/mnt/data")
await run("posix.mkdir", username)
await run("posix.cd", username)
await run("posix.mkdir", "Documents")
await run("posix.mkdir", "Downloads")
await run("posix.mkdir", "Music")
await run("posix.mkdir", "Pictures")
await run("posix.mkdir", "Videos")
await run("posix.cd", "/mnt/data")
print(f"Home directory created for {username}.")
```
--------------------------------------------------------------------------------
/mcp-servers/mcp-server-bundle/pyproject.toml:
--------------------------------------------------------------------------------
```toml
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "mcp-server-bundle"
version = "0.1.0"
description = "Bundle for mcp-server-office and mcp-tunnel"
readme = "README.md"
requires-python = ">=3.11,<3.13"
authors = [{ name = "Semantic Workbench Team" }]
dependencies = [
"mcp-server-filesystem-edit",
"mcp-tunnel",
]
[tool.uv.sources]
mcp-server-filesystem-edit = { path = "../mcp-server-filesystem-edit", editable = true }
mcp-tunnel = { path = "../../libraries/python/mcp-tunnel", editable = true }
[project.scripts]
mcp-server-bundle = "mcp_server_bundle.main:main"
[dependency-groups]
dev = [
"pyinstaller>=6.12.0",
]
```
--------------------------------------------------------------------------------
/libraries/python/assistant-drive/pyproject.toml:
--------------------------------------------------------------------------------
```toml
[project]
name = "assistant-drive"
version = "0.1.0"
description = "MADE:Exploration Assistant Drive"
authors = [{ name = "Semantic Workbench Team" }]
readme = "README.md"
requires-python = ">=3.11"
dependencies = [
"pydantic>=2.6.1",
"pydantic-settings>=2.5.2",
# "python-magic>=0.4.27",
# "python-magic-bin>=0.4.14",
]
[dependency-groups]
dev = [
"pytest>=8.3.1",
"pytest-asyncio>=0.23.8",
"pytest-repeat>=0.9.3",
"ipykernel>=6.29.5",
"pyright>=1.1.389",
]
[tool.uv.sources]
# python-magic = { git = "https://github.com/julian-r/python-magic.git#egg=python-magic" }
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
```
--------------------------------------------------------------------------------
/mcp-servers/mcp-server-memory-user-bio/pyproject.toml:
--------------------------------------------------------------------------------
```toml
[project]
name = "mcp-server-memory-user-bio"
version = "0.1.0"
description = "Allows saving of memories across conversations related to user interests, preferences, and ongoing projects."
authors = [{ name = "Semantic Workbench Team" }]
readme = "README.md"
requires-python = ">=3.11"
dependencies = ["mcp>=1.2.1", "mcp-extensions>=0.1.0"]
[dependency-groups]
dev = ["pyright>=1.1.389"]
[tool.uv]
package = true
[tool.uv.sources]
mcp-extensions = { path = "../../libraries/python/mcp-extensions", editable = true }
[project.scripts]
mcp-server-memory-user-bio = "mcp_server_memory_user_bio.start:main"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
```
--------------------------------------------------------------------------------
/libraries/python/mcp-extensions/mcp_extensions/_model.py:
--------------------------------------------------------------------------------
```python
from typing import Any, Awaitable, Callable
from mcp import ServerNotification
from mcp.types import CallToolResult
from pydantic import BaseModel
ToolCallFunction = Callable[[], Awaitable[CallToolResult]]
ServerNotificationHandler = Callable[[ServerNotification], Awaitable[None]]
class ToolCallProgressMessage(BaseModel):
"""
Represents a progress message for an active tool call.
Attributes:
message (str): A brief textual update describing the current tool execution state.
data (dict[str, Any] | None): Optional dictionary containing structured data relevant
to the progress update.
"""
message: str
data: dict[str, Any] | None
```
--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/skills/fabric/patterns/create_tags/system.md:
--------------------------------------------------------------------------------
```markdown
# IDENTITY and PURPOSE
You identify tags from text content for the mind mapping tools.
Carefully consider the topics and content of the text and identify at least 5 subjects / ideas to be used as tags. If there is an author or existing tags listed they should be included as a tag.
# OUTPUT INSTRUCTIONS
- Only output a single line
- Only output the tags in lowercase separated by spaces
- Each tag should be lower case
- Tags should not contain spaces. If a tag contains a space replace it with an underscore.
- Do not give warnings or notes; only output the requested info.
- Do not repeat tags
- Ensure you follow ALL these instructions when creating your output.
# INPUT
INPUT:
```
--------------------------------------------------------------------------------
/mcp-servers/mcp-server-filesystem/.vscode/launch.json:
--------------------------------------------------------------------------------
```json
{
"version": "0.2.0",
"configurations": [
{
"type": "debugpy",
"request": "launch",
"name": "mcp-servers: mcp-server-filesystem",
"cwd": "${workspaceFolder}",
"module": "mcp_server_filesystem.start",
"args": ["--transport", "sse"],
"consoleTitle": "mcp-server-filesystem"
// "justMyCode": false // Set to false to debug external libraries
}
],
"compounds": [
{
"name": "test: mcp-server-filesystem",
"configurations": [
"assistants: codespace-assistant",
"app: semantic-workbench-app",
"service: semantic-workbench-service",
"mcp-servers: mcp-server-filesystem"
]
}
]
}
```
--------------------------------------------------------------------------------
/assistants/navigator-assistant/assistant/response/utils/__init__.py:
--------------------------------------------------------------------------------
```python
from .formatting_utils import get_formatted_token_count, get_response_duration_message, get_token_usage_message
from .message_utils import (
conversation_message_to_chat_message_params,
get_history_messages,
)
from .openai_utils import (
get_ai_client_configs,
get_completion,
)
from .tools import ExecutableTool, execute_tool, get_tools_from_mcp_sessions
__all__ = [
"conversation_message_to_chat_message_params",
"get_ai_client_configs",
"get_completion",
"get_formatted_token_count",
"get_history_messages",
"get_response_duration_message",
"get_token_usage_message",
"ExecutableTool",
"execute_tool",
"get_tools_from_mcp_sessions",
]
```
--------------------------------------------------------------------------------
/mcp-servers/mcp-server-filesystem/.github/workflows/ci.yml:
--------------------------------------------------------------------------------
```yaml
name: CI Pipeline
on:
push:
branches:
- main
pull_request:
branches:
- "*"
jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
python-version: [3.9, 3.10, 3.11]
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pytest
- name: Run tests
run: |
pytest tests --maxfail=5 --disable-warnings
```
--------------------------------------------------------------------------------
/workbench-app/src/components/App/CodeLabel.tsx:
--------------------------------------------------------------------------------
```typescript
import { makeStyles, shorthands, tokens } from '@fluentui/react-components';
import React from 'react';
const useClasses = makeStyles({
root: {
...shorthands.border(tokens.strokeWidthThin, 'solid', tokens.colorNeutralStroke2),
borderRadius: tokens.borderRadiusMedium,
backgroundColor: tokens.colorNeutralBackground3,
...shorthands.padding(tokens.spacingVerticalXXS, tokens.spacingHorizontalS),
},
});
interface CodeLabelProps {
children?: React.ReactNode;
}
export const CodeLabel: React.FC<CodeLabelProps> = (props) => {
const { children } = props;
const classes = useClasses();
return <span className={classes.root}>{children}</span>;
};
```
--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/skills/fabric/routines/show.py:
--------------------------------------------------------------------------------
```python
from pathlib import Path
from typing import Any
from events import MessageEvent
from skill_library import AskUserFn, EmitFn, RunContext, RunRoutineFn
async def main(
context: RunContext,
routine_state: dict[str, Any],
emit: EmitFn,
run: RunRoutineFn,
ask_user: AskUserFn,
pattern: str,
) -> str:
"""Show a fabric patterns."""
pattern_file = Path(__file__).parent.parent / "patterns" / pattern / "system.md"
if not pattern_file.exists():
emit(MessageEvent(message=f"Pattern {pattern} not found."))
return f"Pattern {pattern} not found."
with open(pattern_file, "r") as f:
pattern = f.read()
return f"```markdown\n{pattern}\n```"
```
--------------------------------------------------------------------------------
/workbench-app/docker-entrypoint.sh:
--------------------------------------------------------------------------------
```bash
#!/bin/sh
# Allow static build of REact code to access env vars
# SEE https://create-react-app.dev/docs/title-and-meta-tags/#injecting-data-from-the-server-into-the-page
# Replace placeholders in static files with environment variables
envsubst '$VITE_SEMANTIC_WORKBENCH_SERVICE_URL' < /usr/share/nginx/html/index.html > /usr/share/nginx/html/index.html.tmp
mv /usr/share/nginx/html/index.html.tmp /usr/share/nginx/html/index.html
envsubst '$PORT' < /etc/nginx/conf.d/default.conf > /etc/nginx/conf.d/default.conf.tmp
mv /etc/nginx/conf.d/default.conf.tmp /etc/nginx/conf.d/default.conf
echo "VITE_SEMANTIC_WORKBENCH_SERVICE_URL = $VITE_SEMANTIC_WORKBENCH_SERVICE_URL"
echo "PORT = $PORT"
exec "$@"
```
--------------------------------------------------------------------------------
/KNOWN_ISSUES.md:
--------------------------------------------------------------------------------
```markdown
# Semantic Workbench Known Issues
You may encounter the following known issues, which may include workarounds, mitigation's, or expected resolution time-frames.
## Semantic Workbench App
### Error loading conversations: {"name":"BrowserAuthError","message":"hash_empty_error: Hash value cannot be processed because it is empty. Please verify that your redirectUri is not clearing the hash..."}
This error may appear when the access token for your login has expired and is not refreshing properly. More exploration is needed for the actual fix.
**Workaround**
1. If you encounter this error when using the Semantic Workbench app, please log out of the web app (upper right corner) and log back in.
```
--------------------------------------------------------------------------------
/libraries/python/content-safety/content_safety/evaluators/config.py:
--------------------------------------------------------------------------------
```python
from typing import Annotated
from pydantic import BaseModel, ConfigDict, Field
from semantic_workbench_assistant.config import UISchema
from .azure_content_safety.config import AzureContentSafetyEvaluatorConfig
from .openai_moderations.config import OpenAIContentSafetyEvaluatorConfig
class CombinedContentSafetyEvaluatorConfig(BaseModel):
model_config = ConfigDict(title="Content Safety Evaluator")
service_config: Annotated[
AzureContentSafetyEvaluatorConfig | OpenAIContentSafetyEvaluatorConfig,
Field(
title="Content Safety Evaluator",
),
UISchema(widget="radio", hide_title=True),
] = AzureContentSafetyEvaluatorConfig.model_construct()
```
--------------------------------------------------------------------------------
/aspire-orchestrator/Aspire.Extensions/PathNormalizer.cs:
--------------------------------------------------------------------------------
```csharp
// Copyright (c) Microsoft. All rights reserved.
namespace Aspire.Hosting.Extensions;
internal static class PathNormalizer
{
/// <summary>
/// Normalizes the path for the current platform.
/// </summary>
/// <param name="path">The path value.</param>
/// <returns>Returns the normalized path value for the current platform.</returns>
public static string NormalizePathForCurrentPlatform(this string path)
{
if (string.IsNullOrWhiteSpace(path))
{
return path;
}
// Fix slashes
path = path.Replace('\\', Path.DirectorySeparatorChar).Replace('/', Path.DirectorySeparatorChar);
return Path.GetFullPath(path);
}
}
```
--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/skills/fabric/patterns/improve_writing/system.md:
--------------------------------------------------------------------------------
```markdown
# IDENTITY and PURPOSE
You are a writing expert. You refine the input text to enhance clarity, coherence, grammar, and style.
# Steps
- Analyze the input text for grammatical errors, stylistic inconsistencies, clarity issues, and coherence.
- Apply corrections and improvements directly to the text.
- Maintain the original meaning and intent of the user's text, ensuring that the improvements are made within the context of the input language's grammatical norms and stylistic conventions.
# OUTPUT INSTRUCTIONS
- Refined and improved text that has no grammar mistakes.
- Return in the same language as the input.
- Include NO additional commentary or explanation in the response.
# INPUT:
INPUT:
```
--------------------------------------------------------------------------------
/assistants/document-assistant/assistant/guidance/guidance_config.py:
--------------------------------------------------------------------------------
```python
# Copyright (c) Microsoft. All rights reserved.
from typing import Annotated
from pydantic import BaseModel, Field
from semantic_workbench_assistant.config import UISchema
from assistant.guidance.guidance_prompts import USER_GUIDANCE_INSTRUCTIONS
class GuidanceConfigModel(BaseModel):
enabled: Annotated[
bool,
Field(
description="Enable or disable this feature.",
),
] = True
prompt: Annotated[
str,
Field(
description="The prompt that is injected at the end of the system prompt. Current dynamic UI is automatically injected at the end.",
),
UISchema(widget="textarea"),
] = USER_GUIDANCE_INSTRUCTIONS
```
--------------------------------------------------------------------------------
/assistants/document-assistant/assistant/response/utils/__init__.py:
--------------------------------------------------------------------------------
```python
from .formatting_utils import get_formatted_token_count, get_response_duration_message, get_token_usage_message
from .message_utils import (
conversation_message_to_chat_message_params,
get_history_messages,
)
from .openai_utils import (
extract_content_from_mcp_tool_calls,
get_ai_client_configs,
get_completion,
get_openai_tools_from_mcp_sessions,
)
__all__ = [
"conversation_message_to_chat_message_params",
"extract_content_from_mcp_tool_calls",
"get_ai_client_configs",
"get_completion",
"get_formatted_token_count",
"get_history_messages",
"get_openai_tools_from_mcp_sessions",
"get_response_duration_message",
"get_token_usage_message",
]
```
--------------------------------------------------------------------------------
/mcp-servers/mcp-server-filesystem-edit/tests/conftest.py:
--------------------------------------------------------------------------------
```python
from pathlib import Path
import pytest
@pytest.fixture
def temporary_directory() -> Path:
path = Path(__file__).parents[1] / "temp" / "tests"
path.mkdir(parents=True, exist_ok=True)
return path
@pytest.fixture
def word_file_path(temporary_directory: Path) -> Path:
return temporary_directory / "test_document.docx"
@pytest.fixture
def excel_file_path(temporary_directory: Path) -> Path:
return temporary_directory / "test_book.xlsx"
@pytest.fixture
def ppt_file_path(temporary_directory: Path) -> Path:
return temporary_directory / "test_presentation.pptx"
@pytest.fixture
def csv_file_path(temporary_directory: Path) -> Path:
return temporary_directory / "test_book.csv"
```
--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/skills/guided_conversation/tests/test_generate_artifact_updates.py:
--------------------------------------------------------------------------------
```python
import pytest
from skill_library.skills.guided_conversation.chat_completions.generate_artifact_updates import (
generate_artifact_updates,
)
from skill_library.skills.guided_conversation.conversation_guides.acrostic_poem import definition
from skill_library.skills.guided_conversation.message import Conversation
from skill_library.types import LanguageModel
@pytest.mark.skip("For manual testing.")
async def test_generate_artifact_updates(client: LanguageModel) -> None:
artifact = {}
conversation = Conversation().add_user_message("Hi!")
response = await generate_artifact_updates(client, definition, artifact, conversation)
expected_response = []
assert response == expected_response
```
--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/skills/fabric/patterns/get_youtube_rss/system.md:
--------------------------------------------------------------------------------
```markdown
# IDENTITY AND GOALS
You are a YouTube infrastructure expert that returns YouTube channel RSS URLs.
You take any input in, especially YouTube channel IDs, or full URLs, and return the RSS URL for that channel.
# STEPS
Here is the structure for YouTube RSS URLs and their relation to the channel ID and or channel URL:
If the channel URL is https://www.youtube.com/channel/UCnCikd0s4i9KoDtaHPlK-JA, the RSS URL is https://www.youtube.com/feeds/videos.xml?channel_id=UCnCikd0s4i9KoDtaHPlK-JA
- Extract the channel ID from the channel URL.
- Construct the RSS URL using the channel ID.
- Output the RSS URL.
# OUTPUT
- Output only the RSS URL and nothing else.
- Don't complain, just do it.
# INPUT
(INPUT)
```
--------------------------------------------------------------------------------
/assistants/project-assistant/assistant/text_includes/knowledge_digest_instructions.txt:
--------------------------------------------------------------------------------
```
The knowledge digest contains information about this knowledge package that has been extracted from the previous conversation thread and attachments.
It serves as a persistent memory of important facts and context.
Key characteristics of this knowledge digest:
- It contains the most essential information about the knowledge share that should be readily available.
- It has been automatically curated to focus on high-value information relevant to the knowledge share.
- It is maintained and updated as knowledge content is added.
- It should be treated as a trusted source of contextual information for this knowledge share.
- Do not use it for task management or information requests. These things are managed separately.
```
--------------------------------------------------------------------------------
/tools/run-workbench-chatbot.sh:
--------------------------------------------------------------------------------
```bash
#!/usr/bin/env bash
# Exit on error
set -e
# Determine the root directory of the script
scriptPath=$(dirname "$(realpath "$0")")
root=$(realpath "$scriptPath/..")
# Change directory to the root
cd "$root"
# Run the scripts in separate tmux sessions
tmux new-session -d -s service "bash $root/tools/run-service.sh"
tmux new-session -d -s python_example "bash $root/tools/run-python-example2.sh"
tmux new-session -d -s app "bash $root/tools/run-app.sh"
# Attach to the tmux session
tmux attach-session -t app
# Detach from the current session (inside tmux)
# Ctrl+b d
# Switch to a different session (inside tmux)
# Ctrl+b s
# tmux list-sessions
# tmux attach-session -t <session-name>
# tmux kill-session -t <session-name>
```
--------------------------------------------------------------------------------
/mcp-servers/mcp-server-filesystem-edit/tests/app_handling/test_office_common.py:
--------------------------------------------------------------------------------
```python
import sys
from pathlib import Path
import pytest
from mcp_server_filesystem_edit.app_handling.office_common import (
OfficeAppType,
open_document_in_office,
)
@pytest.fixture(autouse=True)
def check_for_win():
if sys.platform != "win32":
pytest.skip("This test is only applicable on Windows.")
def test_open_word(word_file_path: Path) -> None:
_, doc = open_document_in_office(word_file_path, OfficeAppType.WORD)
assert doc is not None
_, doc = open_document_in_office(word_file_path, OfficeAppType.WORD)
assert doc is not None
def test_open_powerpoint(ppt_file_path: Path) -> None:
_, doc = open_document_in_office(ppt_file_path, OfficeAppType.POWERPOINT)
assert doc is not None
```
--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/skills/fabric/patterns/t_describe_life_outlook/system.md:
--------------------------------------------------------------------------------
```markdown
# IDENTITY
You are an expert at understanding deep context about a person or entity, and then creating wisdom from that context combined with the instruction or question given in the input.
# STEPS
1. Read the incoming TELOS File thoroughly. Fully understand everything about this person or entity.
2. Deeply study the input instruction or question.
3. Spend significant time and effort thinking about how these two are related, and what would be the best possible ouptut for the person who sent the input.
4. Write 5 16-word bullets describing this person's life outlook.
# OUTPUT INSTRUCTIONS
1. Only use basic markdown formatting. No special formatting or italics or bolding or anything.
2. Only output the list, nothing else.
```
--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/skills/fabric/patterns/create_npc/system.md:
--------------------------------------------------------------------------------
```markdown
# IDENTITY and PURPOSE
You are an expert NPC generator for D&D 5th edition. You have freedom to be creative to get the best possible output.
# STEPS
- Create a 5E D&D NPC with the input given.
- Ensure the character has all the following information.
Background:
Character Flaws:
Attributes:
Full D&D Character Stats like you would see in a character sheet:
Past Experiences:
Past Traumas:
Goals in Life:
Peculiarities:
How they speak:
What they find funny:
What they can't stand:
Their purpose in life:
Their favorite phrases:
How they look and like to dress:
Their appearance:
(add other attributes)
# OUTPUT INSTRUCTIONS
- Output in clear, human-readable Markdown.
- DO NOT COMPLAIN about the task for any reason.
# INPUT
INPUT:
```
--------------------------------------------------------------------------------
/mcp-servers/mcp-server-memory-whiteboard/pyproject.toml:
--------------------------------------------------------------------------------
```toml
[project]
name = "mcp-server-memory-whiteboard"
version = "0.1.0"
description = "Stores working memory in a format analogous to a whiteboard"
authors = [{ name = "Semantic Workbench Team" }]
readme = "README.md"
requires-python = ">=3.11"
dependencies = ["mcp>=1.2.1", "openai-client>=0.1.0", "mcp-extensions>=0.1.0"]
[dependency-groups]
dev = ["pyright>=1.1.389"]
[tool.uv]
package = true
[tool.uv.sources]
openai-client = { path = "../../libraries/python/openai-client", editable = true }
mcp-extensions = { path = "../../libraries/python/mcp-extensions", editable = true }
[project.scripts]
mcp-server-memory-whiteboard = "mcp_server_memory_whiteboard.start:main"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
```
--------------------------------------------------------------------------------
/mcp-servers/mcp-server-filesystem-edit/tests/app_handling/test_miktext.py:
--------------------------------------------------------------------------------
```python
# Copyright (c) Microsoft. All rights reserved.
# This assumes that `pdflatex` is installed and available in the PATH.
from pathlib import Path
import pytest
from mcp_server_filesystem_edit.app_handling.miktex import compile_tex_to_pdf
SAMPLE_TEX_PATH = Path(__file__).parents[2] / "data" / "attachments" / "Research Template.tex"
def test_miktex() -> None:
"""
Test the MikTeX functionality.
"""
pytest.skip("This test is skipped because it requires a working MikTeX installation.")
success, output = compile_tex_to_pdf(SAMPLE_TEX_PATH)
assert success, f"Compilation failed with output: {output}"
pdf_file = SAMPLE_TEX_PATH.with_suffix(".pdf")
assert pdf_file.exists(), f"PDF file was not created: {pdf_file}"
```
--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/skills/fabric/patterns/t_visualize_mission_goals_projects/system.md:
--------------------------------------------------------------------------------
```markdown
# IDENTITY
You are an expert at understanding deep context about a person or entity, and then creating wisdom from that context combined with the instruction or question given in the input.
# STEPS
1. Read the incoming TELOS File thoroughly. Fully understand everything about this person or entity.
2. Deeply study the input instruction or question.
3. Spend significant time and effort thinking about how these two are related, and what would be the best possible ouptut for the person who sent the input.
4. Create an ASCII art diagram of the relationship my missions, goals, and projects.
# OUTPUT INSTRUCTIONS
1. Only use basic markdown formatting. No special formatting or italics or bolding or anything.
2. Only output the list, nothing else.
```
--------------------------------------------------------------------------------
/assistants/prospector-assistant/assistant/artifact_creation_extension/test/evaluation.py:
--------------------------------------------------------------------------------
```python
def sentence_cosine_similarity(sentence1: str, sentence2: str) -> float:
"""Calculate the cosine similarity between two sentences."""
raise RuntimeError(
"This function is disabled because upgrading torch doesn't work on Mac X86, and the torch that does work is no longer secure."
)
# from sentence_transformers import SentenceTransformer, SimilarityFunction
# model = SentenceTransformer("all-mpnet-base-v2", similarity_fn_name=SimilarityFunction.COSINE)
# sentence1_embeddings = model.encode([sentence1])
# sentence2_embeddings = model.encode([sentence2])
# similarities = model.similarity(sentence1_embeddings[0], sentence2_embeddings[0])
# similarity = similarities[0][0]
# return similarity.item()
```
--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/skills/fabric/patterns/extract_skills/system.md:
--------------------------------------------------------------------------------
```markdown
# IDENTITY and PURPOSE
You are an expert in extracting skill terms from the job description provided. You are also excellent at classifying skills.
# STEPS
- Extract all the skills from the job description. The extracted skills are reported on the first column (skill name) of the table.
- Classify the hard or soft skill. The results are reported on the second column (skill type) of the table.
# OUTPUT INSTRUCTIONS
- Only output table.
- Do not include any verbs. Only include nouns.
- Separating skills e.g., Python and R should be two skills.
- Do not miss any skills. Report all skills.
- Do not repeat skills or table.
- Do not give warnings or notes.
- Ensure you follow ALL these instructions when creating your output.
# INPUT
INPUT:
```
--------------------------------------------------------------------------------
/workbench-app/src/components/App/LabelWithDescription.tsx:
--------------------------------------------------------------------------------
```typescript
// Copyright (c) Microsoft. All rights reserved.
import { Text } from '@fluentui/react-components';
import { QuestionCircle16Regular } from '@fluentui/react-icons';
import React from 'react';
import { TooltipWrapper } from './TooltipWrapper';
interface LabelWithDescriptionProps {
label: string;
description?: string;
}
export const LabelWithDescription: React.FC<LabelWithDescriptionProps> = (props) => {
const { label, description } = props;
return (
<div>
<Text weight="semibold">{label}</Text>
{description && (
<TooltipWrapper content={description}>
<QuestionCircle16Regular fontWeight={100} />
</TooltipWrapper>
)}
</div>
);
};
```
--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/skills/fabric/patterns/extract_domains/system.md:
--------------------------------------------------------------------------------
```markdown
# IDENTITY and PURPOSE
You extract domains and URLs from input like articles and newsletters for the purpose of understanding the sources that were used for their content.
# STEPS
- For every story that was mentioned in the article, story, blog, newsletter, output the source it came from.
- The source should be the central source, not the exact URL necessarily, since the purpose is to find new sources to follow.
- As such, if it's a person, link their profile that was in the input. If it's a Github project, link the person or company's Github, If it's a company blog, output link the base blog URL. If it's a paper, link the publication site. Etc.
- Only output each source once.
- Only output the source, nothing else, one per line
# INPUT
INPUT:
```
--------------------------------------------------------------------------------
/mcp-servers/mcp-server-memory-whiteboard/mcp_server_memory_whiteboard/start.py:
--------------------------------------------------------------------------------
```python
# Main entry point for the MCP Server
import argparse
from .server import create_mcp_server
def main() -> None:
# Command-line arguments for transport and port
parse_args = argparse.ArgumentParser(description="Start the MCP server.")
parse_args.add_argument(
"--transport",
default="stdio",
choices=["stdio", "sse"],
help="Transport protocol to use ('stdio' or 'sse'). Default is 'stdio'.",
)
parse_args.add_argument("--port", type=int, default=38733, help="Port to use for SSE (default is ).")
args = parse_args.parse_args()
mcp = create_mcp_server()
if args.transport == "sse":
mcp.settings.port = args.port
mcp.run(transport=args.transport)
if __name__ == "__main__":
main()
```
--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/skills/fabric/patterns/summarize_git_changes/system.md:
--------------------------------------------------------------------------------
```markdown
# IDENTITY and PURPOSE
You are an expert project manager and developer, and you specialize in creating super clean updates for what changed a Github project in the last 7 days.
# STEPS
- Read the input and figure out what the major changes and upgrades were that happened.
- Create a section called CHANGES with a set of 10-word bullets that describe the feature changes and updates.
# OUTPUT INSTRUCTIONS
- Output a 20-word intro sentence that says something like, "In the last 7 days, we've made some amazing updates to our project focused around $character of the updates$."
- You only output human readable Markdown, except for the links, which should be in HTML format.
- Write the update bullets like you're excited about the upgrades.
# INPUT:
INPUT:
```
--------------------------------------------------------------------------------
/mcp-servers/mcp-server-giphy/mcp_server/start.py:
--------------------------------------------------------------------------------
```python
# Main entry point for the MCP Server
import argparse
from .server import create_mcp_server
def main() -> None:
# Command-line arguments for transport and port
parse_args = argparse.ArgumentParser(description="Start the MCP server.")
parse_args.add_argument(
"--transport",
default="stdio",
choices=["stdio", "sse"],
help="Transport protocol to use ('stdio' or 'sse'). Default is 'stdio'.",
)
parse_args.add_argument("--port", type=int, default=8000, help="Port to use for SSE (default is 8000).")
args = parse_args.parse_args()
mcp = create_mcp_server()
if args.transport == "sse":
mcp.settings.port = args.port
mcp.run(transport=args.transport)
if __name__ == "__main__":
main()
```
--------------------------------------------------------------------------------
/mcp-servers/mcp-server-open-deep-research/mcp_server/start.py:
--------------------------------------------------------------------------------
```python
# Main entry point for the MCP Server
import argparse
from .server import create_mcp_server
def main() -> None:
# Command-line arguments for transport and port
parse_args = argparse.ArgumentParser(description="Start the MCP server.")
parse_args.add_argument(
"--transport",
default="stdio",
choices=["stdio", "sse"],
help="Transport protocol to use ('stdio' or 'sse'). Default is 'stdio'.",
)
parse_args.add_argument("--port", type=int, default=8000, help="Port to use for SSE (default is 8000).")
args = parse_args.parse_args()
mcp = create_mcp_server()
if args.transport == "sse":
mcp.settings.port = args.port
mcp.run(transport=args.transport)
if __name__ == "__main__":
main()
```
--------------------------------------------------------------------------------
/workbench-app/src/components/Assistants/AssistantExport.tsx:
--------------------------------------------------------------------------------
```typescript
// Copyright (c) Microsoft. All rights reserved.
import React from 'react';
import { useExportUtility } from '../../libs/useExportUtility';
import { ContentExport } from '../App/ContentExport';
interface AssistantExportProps {
assistantId: string;
iconOnly?: boolean;
asToolbarButton?: boolean;
}
export const AssistantExport: React.FC<AssistantExportProps> = (props) => {
const { assistantId, iconOnly, asToolbarButton } = props;
const { exportAssistantFunction } = useExportUtility();
return (
<ContentExport
id={assistantId}
contentTypeLabel="assistant"
exportFunction={exportAssistantFunction}
iconOnly={iconOnly}
asToolbarButton={asToolbarButton}
/>
);
};
```
--------------------------------------------------------------------------------
/tools/makefiles/shell.mk:
--------------------------------------------------------------------------------
```
# posix shell
rm_dir = rm -rf
rm_file = rm -rf
fix_path = $(1)
touch = touch $(1)
true_expression = true
stdout_redirect_null = 1>/dev/null
stderr_redirect_null = 2>/dev/null
stderr_redirect_stdout = 2>&1
command_exists = command -v $(1)
# windows shell
ifeq ($(suffix $(SHELL)),.exe)
rm_dir = rd /s /q
rm_file = del /f /q
fix_path = $(subst /,\,$(abspath $(1)))
# https://ss64.com/nt/touch.html
touch = type nul >> $(call fix_path,$(1)) && copy /y /b $(call fix_path,$(1))+,, $(call fix_path,$(1)) $(ignore_output)
true_expression = VER>NUL
stdout_redirect_null = 1>NUL
stderr_redirect_null = 2>NUL
stderr_redirect_stdout = 2>&1
command_exists = where $(1)
endif
ignore_output = $(stdout_redirect_null) $(stderr_redirect_stdout)
ignore_failure = || $(true_expression)
```
--------------------------------------------------------------------------------
/.github/workflows/libraries.yml:
--------------------------------------------------------------------------------
```yaml
name: libraries tests
permissions:
contents: read
pull-requests: write
on:
pull_request:
branches: ["main"]
paths: ["libraries/**", ".github/workflows/libraries.yml"]
push:
branches: ["main"]
paths: ["libraries/**", ".github/workflows/libraries.yml"]
workflow_dispatch:
defaults:
run:
working-directory: libraries
jobs:
test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.11"]
steps:
- uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v3
- name: Set up Python ${{ matrix.python-version }}
run: uv python install ${{ matrix.python-version }}
- name: Install and run tests
run: make -j $(nproc) test
```
--------------------------------------------------------------------------------
/mcp-servers/mcp-server-bing-search/mcp_server_bing_search/start.py:
--------------------------------------------------------------------------------
```python
# Copyright (c) Microsoft. All rights reserved.
import argparse
from .server import create_mcp_server
def main() -> None:
# Command-line arguments for transport and port
parse_args = argparse.ArgumentParser(description="Start the MCP server.")
parse_args.add_argument(
"--transport",
default="stdio",
choices=["stdio", "sse"],
help="Transport protocol to use ('stdio' or 'sse'). Default is 'stdio'.",
)
parse_args.add_argument("--port", type=int, default=6030, help="Port to use for SSE (default is 6030).")
args = parse_args.parse_args()
mcp = create_mcp_server()
if args.transport == "sse":
mcp.settings.port = args.port
mcp.run(transport=args.transport)
if __name__ == "__main__":
main()
```
--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/skills/fabric/patterns/t_check_metrics/system.md:
--------------------------------------------------------------------------------
```markdown
# IDENTITY
You are an expert at understanding deep context about a person or entity, and then creating wisdom from that context combined with the instruction or question given in the input.
# STEPS
1. Read the incoming TELOS File thoroughly. Fully understand everything about this person or entity.
2. Deeply study the input instruction or question.
3. Spend significant time and effort thinking about how these two are related, and what would be the best possible ouptut for the person who sent the input.
4. Check this person's Metrics or KPIs (M's or K's) to see their current state and if they've been improved recently.
# OUTPUT INSTRUCTIONS
1. Only use basic markdown formatting. No special formatting or italics or bolding or anything.
2. Only output the list, nothing else.
```
--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/skills/fabric/patterns/t_find_neglected_goals/system.md:
--------------------------------------------------------------------------------
```markdown
# IDENTITY
You are an expert at understanding deep context about a person or entity, and then creating wisdom from that context combined with the instruction or question given in the input.
# STEPS
1. Read the incoming TELOS File thoroughly. Fully understand everything about this person or entity.
2. Deeply study the input instruction or question.
3. Spend significant time and effort thinking about how these two are related, and what would be the best possible ouptut for the person who sent the input.
4. Write 5 16-word bullets describing which of their goals and/or projects don't seem to have been worked on recently.
# OUTPUT INSTRUCTIONS
1. Only use basic markdown formatting. No special formatting or italics or bolding or anything.
2. Only output the list, nothing else.
```
--------------------------------------------------------------------------------
/assistants/project-assistant/assistant/domain/__init__.py:
--------------------------------------------------------------------------------
```python
"""
Manager directory for Knowledge Transfer Assistant.
This module provides the main KnowledgeTransferManager class for project management.
"""
from .audience_manager import AudienceManager
from .information_request_manager import InformationRequestManager
from .knowledge_brief_manager import KnowledgeBriefManager
from .knowledge_digest_manager import KnowledgeDigestManager
from .learning_objectives_manager import LearningObjectivesManager
from .share_manager import ShareManager
from .tasks_manager import TasksManager
from .transfer_manager import TransferManager
__all__ = [
"AudienceManager",
"InformationRequestManager",
"KnowledgeBriefManager",
"KnowledgeDigestManager",
"LearningObjectivesManager",
"ShareManager",
"TasksManager",
"TransferManager",
]
```
--------------------------------------------------------------------------------
/libraries/dotnet/WorkbenchConnector/AgentConfig/ConfigUtils.cs:
--------------------------------------------------------------------------------
```csharp
// Copyright (c) Microsoft. All rights reserved.
using System.Collections.Generic;
// ReSharper disable once CheckNamespace
namespace Microsoft.SemanticWorkbench.Connector;
public static class ConfigUtils
{
// Use "text area" instead of default "input box"
public static void UseTextAreaFor(string propertyName, Dictionary<string, object> uiSchema)
{
uiSchema[propertyName] = new Dictionary<string, object>
{
{ "ui:widget", "textarea" }
};
}
// Use "list of radio buttons" instead of default "select box"
public static void UseRadioButtonsFor(string propertyName, Dictionary<string, object> uiSchema)
{
uiSchema[propertyName] = new Dictionary<string, object>
{
{ "ui:widget", "radio" }
};
}
}
```
--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/skills/fabric/patterns/improve_academic_writing/system.md:
--------------------------------------------------------------------------------
```markdown
# IDENTITY and PURPOSE
You are an academic writing expert. You refine the input text in academic and scientific language using common words for the best clarity, coherence, and ease of understanding.
# Steps
- Refine the input text for grammatical errors, clarity issues, and coherence.
- Refine the input text into academic voice.
- Use formal English only.
- Tend to use common and easy-to-understand words and phrases.
- Avoid wordy sentences.
- Avoid trivial statements.
- Avoid using the same words and phrases repeatedly.
- Apply corrections and improvements directly to the text.
- Maintain the original meaning and intent of the user's text.
# OUTPUT INSTRUCTIONS
- Refined and improved text that is professionally academic.
- A list of changes made to the original text.
# INPUT:
INPUT:
```
--------------------------------------------------------------------------------
/mcp-servers/mcp-server-filesystem/pyproject.toml:
--------------------------------------------------------------------------------
```toml
[project]
name = "mcp-server-filesystem"
version = "0.1.0"
description = "Cross platform file system server"
authors = [{ name = "Semantic Workbench Team" }]
readme = "README.md"
requires-python = ">=3.11,<3.13"
dependencies = ["mcp>=1.2.1"]
[project.optional-dependencies]
dev = ["pytest>=8.3.4", "pytest-asyncio>=0.25.3"]
[dependency-groups]
dev = ["pyright>=1.1.389", "pyinstaller>=6.12.0"]
[tool.uv]
package = true
[project.scripts]
mcp-server-filesystem = "mcp_server_filesystem.start:main"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.pytest.ini_options]
addopts = "-vv"
log_cli = true
log_cli_level = "WARNING"
log_cli_format = "%(asctime)s | %(levelname)-7s | %(name)s | %(message)s"
asyncio_mode = "auto"
asyncio_default_fixture_loop_scope = "function"
```
--------------------------------------------------------------------------------
/workbench-app/src/components/Conversations/ParticipantAvatar.tsx:
--------------------------------------------------------------------------------
```typescript
import { Persona } from '@fluentui/react-components';
import React from 'react';
import { useParticipantUtility } from '../../libs/useParticipantUtility';
import { ConversationParticipant } from '../../models/ConversationParticipant';
interface ParticipantAvatarProps {
size?: 'extra-small' | 'small' | 'medium' | 'large' | 'extra-large' | 'huge';
hideName?: boolean;
participant: ConversationParticipant;
}
export const ParticipantAvatar: React.FC<ParticipantAvatarProps> = (props) => {
const { size, hideName, participant } = props;
const { getAvatarData } = useParticipantUtility();
return (
<Persona
size={size ?? 'extra-small'}
name={hideName ? undefined : participant.name}
avatar={getAvatarData(participant)}
/>
);
};
```
--------------------------------------------------------------------------------
/assistants/explorer-assistant/assistant/response/model.py:
--------------------------------------------------------------------------------
```python
from typing import Any, Protocol, Sequence
from attr import dataclass
from llm_client.model import CompletionMessage
from semantic_workbench_api_model.workbench_model import (
MessageType,
)
@dataclass
class NumberTokensResult:
count: int
metadata: dict[str, Any]
metadata_key: str
@dataclass
class ResponseResult:
content: str | None
message_type: MessageType
metadata: dict[str, Any]
completion_total_tokens: int
class ResponseProvider(Protocol):
async def get_response(
self,
messages: list[CompletionMessage],
metadata_key: str,
) -> ResponseResult: ...
async def num_tokens_from_messages(
self,
messages: Sequence[CompletionMessage],
model: str,
metadata_key: str,
) -> NumberTokensResult: ...
```