#
tokens: 49934/50000 53/1784 files (page 12/145)
lines: on (toggle) GitHub
raw markdown copy reset
This is page 12 of 145. Use http://codebase.md/microsoft/semanticworkbench?lines=true&page={x} to view the full context.

# Directory Structure

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

# Files

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

```markdown
 1 | # IDENTITY
 2 | 
 3 | 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.
 4 | 
 5 | # STEPS
 6 | 
 7 | 1. Read the incoming TELOS File thoroughly. Fully understand everything about this person or entity.
 8 | 2. Deeply study the input instruction or question.
 9 | 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.
10 | 4. Write 5 48-word bullet points, each including a 3-5 word panel title, that would be wonderful panels for this person to participate on.
11 | 5. Write them so that they'd be good panels for others to participate in as well, not just me.
12 | 
13 | # OUTPUT INSTRUCTIONS
14 | 
15 | 1. Only use basic markdown formatting. No special formatting or italics or bolding or anything.
16 | 2. Only output the list, nothing else.
17 | 
```

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

```markdown
 1 | # IDENTITY
 2 | 
 3 | 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.
 4 | 
 5 | # STEPS
 6 | 
 7 | 1. Read the incoming TELOS File thoroughly. Fully understand everything about this person or entity.
 8 | 2. Deeply study the input instruction or question.
 9 | 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.
10 | 4. Analyze everything in my TELOS file and think about what I could and should do after my legacy corporate / technical skills are automated away. What can I contribute that's based on human-to-human interaction and exchanges of value?
11 | 
12 | # OUTPUT INSTRUCTIONS
13 | 
14 | 1. Only use basic markdown formatting. No special formatting or italics or bolding or anything.
15 | 2. Only output the list, nothing else.
16 | 
```

--------------------------------------------------------------------------------
/workbench-service/migrations/versions/2025_06_18_174328_503c739152f3_delete_knowlege_transfer_assistants.py:
--------------------------------------------------------------------------------

```python
 1 | """delete knowlege-transfer-assistants
 2 | 
 3 | Revision ID: 503c739152f3
 4 | Revises: b2f86e981885
 5 | Create Date: 2025-06-18 17:43:28.113154
 6 | 
 7 | """
 8 | 
 9 | from typing import Sequence, Union
10 | 
11 | from alembic import op
12 | 
13 | 
14 | # revision identifiers, used by Alembic.
15 | revision: str = "503c739152f3"
16 | down_revision: Union[str, None] = "b2f86e981885"
17 | branch_labels: Union[str, Sequence[str], None] = None
18 | depends_on: Union[str, Sequence[str], None] = None
19 | 
20 | 
21 | def upgrade() -> None:
22 |     op.execute(
23 |         """
24 |         DELETE FROM assistant
25 |         WHERE assistant_service_id = 'project-assistant.made-exploration'
26 |         AND template_id = 'knowledge_transfer'
27 |         """
28 |     )
29 |     op.execute(
30 |         """
31 |         UPDATE assistantparticipant
32 |         SET active_participant = false
33 |         WHERE assistant_id NOT IN (
34 |             SELECT assistant_id
35 |             FROM assistant
36 |         )
37 |         """
38 |     )
39 | 
40 | 
41 | def downgrade() -> None:
42 |     pass
43 | 
```

--------------------------------------------------------------------------------
/assistants/prospector-assistant/assistant/form_fill_extension/config.py:
--------------------------------------------------------------------------------

```python
 1 | from typing import Annotated
 2 | 
 3 | from pydantic import BaseModel, Field
 4 | 
 5 | from .steps import acquire_form_step, extract_form_fields_step, fill_form_step
 6 | 
 7 | 
 8 | class FormFillConfig(BaseModel):
 9 |     acquire_form_config: Annotated[
10 |         acquire_form_step.AcquireFormConfig,
11 |         Field(title="Form Acquisition", description="Guided conversation for acquiring a form from the user."),
12 |     ] = acquire_form_step.AcquireFormConfig()
13 | 
14 |     extract_form_fields_config: Annotated[
15 |         extract_form_fields_step.ExtractFormFieldsConfig,
16 |         Field(title="Extract Form Fields", description="Configuration for extracting form fields from the form."),
17 |     ] = extract_form_fields_step.ExtractFormFieldsConfig()
18 | 
19 |     fill_form_config: Annotated[
20 |         fill_form_step.FillFormConfig,
21 |         Field(title="Fill Form", description="Guided conversation for filling out the form."),
22 |     ] = fill_form_step.FillFormConfig()
23 | 
```

--------------------------------------------------------------------------------
/workbench-app/src/components/App/ConfirmLeave.tsx:
--------------------------------------------------------------------------------

```typescript
 1 | // Copyright (c) Microsoft. All rights reserved.
 2 | 
 3 | import React from 'react';
 4 | import { unstable_usePrompt } from 'react-router-dom';
 5 | 
 6 | interface ConfirmLeaveProps {
 7 |     isDirty: boolean;
 8 |     onConfirm?: () => void;
 9 | }
10 | 
11 | export const ConfirmLeave: React.FC<ConfirmLeaveProps> = (props) => {
12 |     const { isDirty } = props;
13 | 
14 |     const alertUser = (event: BeforeUnloadEvent) => {
15 |         event.preventDefault();
16 |         event.returnValue = '';
17 |     };
18 | 
19 |     unstable_usePrompt({
20 |         when: isDirty,
21 |         message: 'Changes you made may not be saved.',
22 |     });
23 | 
24 |     React.useEffect(() => {
25 |         if (isDirty) {
26 |             window.addEventListener('beforeunload', alertUser);
27 |         } else {
28 |             window.removeEventListener('beforeunload', alertUser);
29 |         }
30 |         return () => {
31 |             window.removeEventListener('beforeunload', alertUser);
32 |         };
33 |     }, [isDirty]);
34 | 
35 |     return null;
36 | };
37 | 
```

--------------------------------------------------------------------------------
/assistants/navigator-assistant/assistant/text_includes/instruction_prompt.md:
--------------------------------------------------------------------------------

```markdown
 1 | You are an expert AI assistant in the Semantic Workbench, a platform for prototyping AI assistants.
 2 | 
 3 | Specifically, you help the user with:
 4 | 
 5 | - **Understanding the Semantic Workbench**: You explain how to use the platform and its features.
 6 | - **Educating on Assistant Capabilities**: You assist users in learning about and understanding the capabilities of the assistants in the workbench.
 7 | - **Providing Guidance on Which Assistant to Use**: You help users choose the right assistant for their needs.
 8 | 
 9 | ## Content Generation Capabilities
10 | 
11 | - **Text & Markdown:**
12 |   Produce natural language explanations and formatted documentation.
13 |   Consider using each of the additional content types to further enrich your markdown communications.
14 |   For example, as "a picture speaks a thousands words", consider when you can better communicate a
15 |   concept via a mermaid diagram and incorporate it into your markdown response.
16 | 
```

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

```typescript
 1 | // Copyright (c) Microsoft. All rights reserved.
 2 | 
 3 | import React from 'react';
 4 | import { Conversation } from '../../models/Conversation';
 5 | import { ConversationFile } from '../../models/ConversationFile';
 6 | import { FileItem } from './FileItem';
 7 | 
 8 | interface FileListProps {
 9 |     conversation: Conversation;
10 |     conversationFiles: ConversationFile[];
11 |     readOnly?: boolean;
12 | }
13 | 
14 | export const FileList: React.FC<FileListProps> = (props) => {
15 |     const { conversation, conversationFiles, readOnly } = props;
16 | 
17 |     if (conversationFiles.length === 0) {
18 |         return 'No conversation files found';
19 |     }
20 | 
21 |     return (
22 |         <>
23 |             {conversationFiles
24 |                 .toSorted((a, b) => a.name.localeCompare(b.name))
25 |                 .map((file) => (
26 |                     <FileItem key={file.name} readOnly={readOnly} conversation={conversation} conversationFile={file} />
27 |                 ))}
28 |         </>
29 |     );
30 | };
31 | 
```

--------------------------------------------------------------------------------
/assistants/navigator-assistant/assistant/response/models.py:
--------------------------------------------------------------------------------

```python
 1 | from typing import Literal, Protocol
 2 | 
 3 | from attr import dataclass
 4 | from openai.types.chat import ChatCompletion, ChatCompletionMessageParam, ParsedChatCompletion
 5 | 
 6 | SILENCE_TOKEN = "{{SILENCE}}"
 7 | 
 8 | 
 9 | @dataclass
10 | class StepResult:
11 |     status: Literal["final", "continue", "error"]
12 | 
13 | 
14 | @dataclass
15 | class CompletionHandlerResult:
16 |     status: Literal["final", "continue"]
17 | 
18 | 
19 | @dataclass
20 | class CompletionResult:
21 |     response_duration: float
22 |     completion: ParsedChatCompletion | ChatCompletion | None
23 | 
24 | 
25 | @dataclass
26 | class TokenConstrainedChatMessageList:
27 |     messages: list[ChatCompletionMessageParam]
28 |     token_overage: int
29 | 
30 | 
31 | class ChatMessageProvider(Protocol):
32 |     """
33 |     A protocol for providing chat messages, constrained to the available tokens.
34 |     This is used to collect messages for a chat completion request.
35 |     """
36 | 
37 |     async def __call__(self, available_tokens: int, model: str) -> TokenConstrainedChatMessageList: ...
38 | 
```

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

```markdown
 1 | Create an invitation for this knowledge share.
 2 | 
 3 | - Incorporate any specific instructions provided by the user in the conversation.
 4 | - The invitation should include a customized invitation link.
 5 | - The invitation should be in the user's voice as they will copy and paste it into communication tools like SMS, Microsoft Teams, or email.
 6 | - The invitation shouldn't include all the details about the knowledge share, just a brief statement about what it is, why they should be interested to check it out, and the invitation link.
 7 | - DO NOT include the protocol or hostname in the link you provided, just make it a relative link. Examples:
 8 |   - [New project knowledge share-out](/conversation-share/a5b400d4-b8c4-4484-ae83-dad98fe49b06/redeem)
 9 |   - [Learning about MADE](/conversation-share/12345678-1234-1234-1234-123456789012/redeem)
10 |   - [Our Knowledge Base](/conversation-share/abcdef12-3456-7890-abcd-ef1234567890/redeem)
11 | 
```

--------------------------------------------------------------------------------
/workbench-app/src/models/ConversationMessage.ts:
--------------------------------------------------------------------------------

```typescript
 1 | // Copyright (c) Microsoft. All rights reserved.
 2 | 
 3 | export interface ConversationMessage {
 4 |     id: string;
 5 |     sender: {
 6 |         participantId: string;
 7 |         participantRole: string;
 8 |     };
 9 |     timestamp: string;
10 |     content: string;
11 |     messageType: string;
12 |     contentType: string;
13 |     filenames?: string[];
14 |     metadata?: {
15 |         [key: string]: any;
16 |     };
17 |     hasDebugData: boolean;
18 | }
19 | 
20 | export const conversationMessageFromJSON = (json: any): ConversationMessage => {
21 |     return {
22 |         id: json.id,
23 |         sender: {
24 |             participantId: json.sender.participant_id,
25 |             participantRole: json.sender.participant_role,
26 |         },
27 |         timestamp: json.timestamp,
28 |         content: json.content,
29 |         messageType: json.message_type,
30 |         contentType: json.content_type,
31 |         filenames: json.filenames,
32 |         metadata: json.metadata,
33 |         hasDebugData: json.has_debug_data,
34 |     };
35 | };
36 | 
```

--------------------------------------------------------------------------------
/mcp-servers/mcp-server-open-deep-research-clone/mcp_server_open_deep_research_clone/config.py:
--------------------------------------------------------------------------------

```python
 1 | from pydantic_settings import BaseSettings
 2 | 
 3 | 
 4 | class Settings(BaseSettings):
 5 |     log_level: str = "INFO"
 6 |     data_folder: str = ".data"
 7 |     azure_openai_endpoint: str = "gpt-4o"
 8 |     azure_openai_deployment: str = ""
 9 |     azure_openai_reasoning_deployment: str = "o1-mini"
10 |     bing_subscription_key: str = ""
11 |     bing_search_url: str = "https://api.bing.microsoft.com/v7.0/search"
12 |     serpapi_api_key: str = ""
13 |     huggingface_token: str = ""
14 | 
15 | 
16 | settings = Settings()
17 | 
18 | 
19 | def ensure_required_settings() -> None:
20 |     # Ensure required settings are set.
21 |     # These values should have been set in the environment.
22 |     required_settings = ["azure_openai_deployment", "azure_openai_endpoint", "bing_subscription_key"]
23 |     missing_settings = [setting for setting in required_settings if not getattr(settings, setting)]
24 | 
25 |     if missing_settings:
26 |         raise ValueError(f"Missing required settings: {', '.join(missing_settings)}")
27 | 
```

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

```python
 1 | from pydantic_settings import BaseSettings
 2 | 
 3 | 
 4 | class Settings(BaseSettings):
 5 |     log_level: str = "INFO"
 6 |     data_folder: str = ".data"
 7 |     azure_openai_endpoint: str = "gpt-4o"
 8 |     azure_openai_deployment: str = ""
 9 |     azure_openai_reasoning_deployment: str = "o1-mini"
10 |     bing_subscription_key: str = ""
11 |     bing_search_url: str = "https://api.bing.microsoft.com/v7.0/search"
12 |     serpapi_api_key: str = ""
13 |     huggingface_token: str = ""
14 | 
15 | 
16 | settings = Settings()
17 | 
18 | 
19 | def ensure_required_settings() -> None:
20 |     # Ensure required settings are set.
21 |     # These values should have been set in the environment.
22 |     required_settings = ["azure_openai_deployment", "azure_openai_endpoint", "bing_subscription_key"]
23 |     missing_settings = [setting for setting in required_settings if not getattr(settings, setting)]
24 | 
25 |     if missing_settings:
26 |         raise ValueError(f"Missing required settings: {', '.join(missing_settings)}")
27 | 
```

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

```typescript
 1 | type Listener = (event: any) => void;
 2 | 
 3 | export class EventSubscriptionManager {
 4 |     private listeners: Map<string, Set<Listener>>;
 5 | 
 6 |     constructor() {
 7 |         this.listeners = new Map();
 8 |     }
 9 | 
10 |     addEventListener(eventName: string, listener: Listener) {
11 |         if (!this.listeners.has(eventName)) {
12 |             this.listeners.set(eventName, new Set());
13 |         }
14 |         this.listeners.get(eventName)!.add(listener);
15 |     }
16 | 
17 |     removeEventListener(eventName: string, listener: Listener) {
18 |         if (!this.listeners.has(eventName)) return;
19 | 
20 |         const listeners = this.listeners.get(eventName)!;
21 |         listeners.delete(listener);
22 | 
23 |         if (listeners.size === 0) {
24 |             this.listeners.delete(eventName);
25 |         }
26 |     }
27 | 
28 |     emit(eventName: string, event: any) {
29 |         if (!this.listeners.has(eventName)) return;
30 | 
31 |         this.listeners.get(eventName)!.forEach((listener) => listener(event));
32 |     }
33 | }
34 | 
```

--------------------------------------------------------------------------------
/workbench-app/src/components/App/Loading.tsx:
--------------------------------------------------------------------------------

```typescript
 1 | // Copyright (c) Microsoft. All rights reserved.
 2 | 
 3 | import { Spinner, makeStyles, mergeClasses, shorthands, tokens } from '@fluentui/react-components';
 4 | import React from 'react';
 5 | import { Constants } from '../../Constants';
 6 | 
 7 | const useClasses = makeStyles({
 8 |     root: {
 9 |         ...shorthands.margin(tokens.spacingVerticalM),
10 |     },
11 | });
12 | 
13 | interface LoadingProps {
14 |     className?: string;
15 | }
16 | 
17 | export const Loading: React.FC<LoadingProps> = (props) => {
18 |     const { className } = props;
19 |     const classes = useClasses();
20 |     const [showSpinner, setShowSpinner] = React.useState(false);
21 | 
22 |     React.useEffect(() => {
23 |         const timer = setTimeout(() => {
24 |             setShowSpinner(true);
25 |         }, Constants.app.loaderDelayMs);
26 | 
27 |         return () => clearTimeout(timer);
28 |     }, []);
29 | 
30 |     return showSpinner ? (
31 |         <Spinner className={mergeClasses(classes.root, className)} size="medium" label="Loading..." />
32 |     ) : null;
33 | };
34 | 
```

--------------------------------------------------------------------------------
/examples/dotnet/dotnet-01-echo-bot/MyAgentConfig.cs:
--------------------------------------------------------------------------------

```csharp
 1 | // Copyright (c) Microsoft. All rights reserved.
 2 | 
 3 | using System.Text.Json.Serialization;
 4 | using Microsoft.SemanticWorkbench.Connector;
 5 | 
 6 | namespace AgentExample;
 7 | 
 8 | public class MyAgentConfig : AgentConfigBase
 9 | {
10 |     [JsonPropertyName(nameof(this.ReplyToAgents))]
11 |     [JsonPropertyOrder(10)]
12 |     [AgentConfigProperty("type", "boolean")]
13 |     [AgentConfigProperty("title", "Reply to other assistants in conversations")]
14 |     [AgentConfigProperty("description", "Reply to assistants")]
15 |     [AgentConfigProperty("default", false)]
16 |     public bool ReplyToAgents { get; set; } = false;
17 | 
18 |     [JsonPropertyName(nameof(this.CommandsEnabled))]
19 |     [JsonPropertyOrder(20)]
20 |     [AgentConfigProperty("type", "boolean")]
21 |     [AgentConfigProperty("title", "Support commands")]
22 |     [AgentConfigProperty("description", "Support commands, e.g. /say")]
23 |     [AgentConfigProperty("default", false)]
24 |     public bool CommandsEnabled { get; set; } = false;
25 | }
26 | 
```

--------------------------------------------------------------------------------
/examples/python/python-03-multimodel-chatbot/pyproject.toml:
--------------------------------------------------------------------------------

```toml
 1 | [project]
 2 | name = "assistant"
 3 | version = "0.1.0"
 4 | description = "Exploration of a python Semantic Workbench assistant that supports multiple AI models."
 5 | authors = [{ name = "Semantic Workbench Team" }]
 6 | readme = "README.md"
 7 | requires-python = ">=3.11,<3.13"
 8 | dependencies = [
 9 |     "anthropic>=0.34.2",
10 |     "google-genai>=1.2.0",
11 |     "openai>=1.61.0",
12 |     "tiktoken>=0.8.0",
13 |     "semantic-workbench-assistant>=0.1.0",
14 |     "content-safety>=0.1.0",
15 |     "openai-client>=0.1.0",
16 | ]
17 | 
18 | [tool.uv]
19 | package = true
20 | 
21 | [tool.uv.sources]
22 | semantic-workbench-assistant = { path = "../../../libraries/python/semantic-workbench-assistant", editable = true }
23 | content-safety = { path = "../../../libraries/python/content-safety/", editable = true }
24 | openai-client = { path = "../../../libraries/python/openai-client", editable = true }
25 | 
26 | [build-system]
27 | requires = ["hatchling"]
28 | build-backend = "hatchling.build"
29 | 
30 | [dependency-groups]
31 | dev = ["pyright>=1.1.389"]
32 | 
```

--------------------------------------------------------------------------------
/mcp-servers/mcp-server-bing-search/mcp_server_bing_search/config.py:
--------------------------------------------------------------------------------

```python
 1 | # Copyright (c) Microsoft. All rights reserved.
 2 | 
 3 | import os
 4 | from pathlib import Path
 5 | from typing import Annotated
 6 | 
 7 | from pydantic import Field
 8 | from pydantic_settings import BaseSettings
 9 | 
10 | log_level = os.environ.get("LOG_LEVEL", "INFO")
11 | 
12 | TEMP_DIR = Path(__file__).parents[1] / "temp"
13 | TEMP_DIR.mkdir(parents=True, exist_ok=True)
14 | MKITDOWN_TEMP = TEMP_DIR / "mkitdown"
15 | MKITDOWN_TEMP.mkdir(parents=True, exist_ok=True)
16 | 
17 | URL_CACHE_FILE = TEMP_DIR / "cache" / "url_cache.json"
18 | 
19 | 
20 | class Settings(BaseSettings):
21 |     log_level: str = log_level
22 |     dev: bool = True
23 |     bing_search_api_key: Annotated[str, Field(validation_alias="BING_SEARCH_API_KEY")] = ""
24 |     azure_endpoint: Annotated[str | None, Field(validation_alias="ASSISTANT__AZURE_OPENAI_ENDPOINT")] = None
25 |     mkitdown_temp: Path = MKITDOWN_TEMP
26 |     url_cache_file: Path = URL_CACHE_FILE
27 |     num_search_results: int = 4
28 |     max_links: int = 25
29 |     improve_with_sampling: bool = True
30 | 
```

--------------------------------------------------------------------------------
/libraries/python/mcp-extensions/pyproject.toml:
--------------------------------------------------------------------------------

```toml
 1 | [project]
 2 | name = "mcp-extensions"
 3 | version = "0.1.0"
 4 | description = "Extensions for Model Context Protocol (MCP) clients / servers."
 5 | authors = [{ name = "Semantic Workbench Team" }]
 6 | readme = "README.md"
 7 | requires-python = ">=3.11"
 8 | dependencies = [
 9 |     "deepmerge>=2.0",
10 |     "mcp>=1.6.0,<2.0",
11 |     "pydantic>=2.10.6",
12 |     "openai>=1.63.2",
13 | ]
14 | 
15 | [project.optional-dependencies]
16 | # For any of the above dependencies that are specific to a single extension, it'd be good
17 | # to consider moving them to the optional-dependencies section. This way, the dependencies
18 | # are only installed when the specific extension is installed, to reduce the overall size
19 | # of the package installation, especially when bundling larger dependencies.
20 | llm = ["azure-identity>=1.21,<2.0", "python-liquid>=2.0,<3.0"]
21 | 
22 | [build-system]
23 | requires = ["hatchling"]
24 | build-backend = "hatchling.build"
25 | 
26 | [dependency-groups]
27 | dev = ["pyright>=1.1.389", "pytest>=8.3.1", "pytest-asyncio>=0.25.3"]
28 | 
```

--------------------------------------------------------------------------------
/mcp-servers/mcp-server-bing-search/tests/test_tools.py:
--------------------------------------------------------------------------------

```python
 1 | # Copyright (c) Microsoft. All rights reserved.
 2 | import pytest
 3 | 
 4 | import time
 5 | 
 6 | from mcp_server_bing_search.tools import click, search
 7 | from mcp_server_bing_search import settings
 8 | 
 9 | 
10 | @pytest.fixture(autouse=True)
11 | def check_config_fixture() -> None:
12 |     if not settings.azure_endpoint:
13 |         pytest.skip("Azure endpoint not set in settings.")
14 | 
15 |     if not settings.bing_search_api_key:
16 |         pytest.skip("Bing Search API key not set in settings.")
17 | 
18 | 
19 | async def test_search() -> None:
20 |     start_time = time.time()
21 |     results = await search(
22 |         "github typescript",
23 |     )
24 |     end_time = time.time()
25 |     response_duration = round(end_time - start_time, 4)
26 |     print(results)
27 |     print(f"Processed search in {response_duration} seconds.")
28 | 
29 | 
30 | async def test_click() -> None:
31 |     results = await search(
32 |         "Microsoft",
33 |     )
34 |     # Assumes this finds "https://www.microsoft.com/en-us/"
35 |     results = await click(["a1567f190464"])
36 | 
37 |     print(results)
38 | 
```

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

```markdown
 1 | # IDENTITY
 2 | 
 3 | You are an expert at data visualization and information security. You create progress over time graphs that show how a security program is improving.
 4 | 
 5 | # GOAL
 6 | 
 7 | Show how a security program is improving over time.
 8 | 
 9 | # STEPS
10 | 
11 | - Fully parse the input and spend 431 hours thinking about it and its implications to a security program.
12 | 
13 | - Look for the data in the input that shows progress over time, so metrics, or KPIs, or something where we have two axes showing change over time.
14 | 
15 | # OUTPUT
16 | 
17 | - Output a CSV file that has all the necessary data to tell the progress story.
18 | 
19 | The format will be like so:
20 | 
21 | EXAMPLE OUTPUT FORMAT
22 | 
23 | Date	TTD_hours	TTI_hours	TTR-CJC_days	TTR-C_days
24 | Month Year	81	82	21	51
25 | Month Year	80	80	21	53
26 | (Continue)
27 | 
28 | END EXAMPLE FORMAT
29 | 
30 | - Only output numbers in the fields, no special characters like "<, >, =," etc..
31 | 
32 | - Only output valid CSV data and nothing else. 
33 | 
34 | - Use the field names in the input; don't make up your own.
35 | 
36 | 
```

--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/tests/utilities/test_to_string.py:
--------------------------------------------------------------------------------

```python
 1 | from pydantic import BaseModel
 2 | from skill_library.utilities import to_string
 3 | 
 4 | 
 5 | def test_to_string_none():
 6 |     value = to_string(None)
 7 |     assert value == ""
 8 | 
 9 | 
10 | def test_to_string_str():
11 |     value = to_string("hello")
12 |     assert value == "hello"
13 | 
14 | 
15 | def test_to_string_int():
16 |     value = to_string(42)
17 |     assert value == "42"
18 | 
19 | 
20 | def test_to_string_float():
21 |     value = to_string(3.14)
22 |     assert value == "3.14"
23 | 
24 | 
25 | def test_to_string_dict():
26 |     value = to_string({"key": "value"})
27 |     assert value == '{\n  "key": "value"\n}'
28 | 
29 | 
30 | def test_to_string_list():
31 |     value = to_string(["one", "two"])
32 |     assert value == '[\n  "one",\n  "two"\n]'
33 | 
34 | 
35 | def test_to_string_tuple():
36 |     value = to_string(("one", "two"))
37 |     assert value == '[\n  "one",\n  "two"\n]'
38 | 
39 | 
40 | def test_to_string_pydantic_model():
41 |     class Model(BaseModel):
42 |         name: str = "base model"
43 | 
44 |     model = Model()
45 |     value = to_string(model)
46 |     assert value == '{\n  "name": "base model"\n}'
47 | 
```

--------------------------------------------------------------------------------
/assistants/knowledge-transfer-assistant/assistant/text_includes/knowledge_digest_instructions.txt:
--------------------------------------------------------------------------------

```
 1 | The coordinator assistant's knowledge digest contains information about this knowledge share that has been extracted from the previous conversation thread and attachments.
 2 | It serves as a persistent memory of important facts, decisions, and context.
 3 | 
 4 | Key characteristics of this knowledge digest:
 5 | 
 6 | - It contains the most essential information about the knowledge share that should be readily available.
 7 | - It has been automatically curated to focus on high-value information relevant to the knowledge share.
 8 | - It is maintained and updated as the conversation progresses.
 9 | - It should be treated as a trusted source of contextual information for this knowledge share.
10 | 
11 | When using the knowledge digest:
12 | 
13 | - Prioritize this information when addressing questions or providing updates.
14 | - Reference it to ensure consistency in your responses across the conversation.
15 | - Use it to track important details that might otherwise be lost in the conversation history.
16 | 
```

--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/tests/test_common_skill.py:
--------------------------------------------------------------------------------

```python
 1 | from pathlib import Path
 2 | 
 3 | from semantic_workbench_api_model.workbench_model import ConversationMessageList
 4 | from skill_library.engine import Engine
 5 | from skill_library.skills.posix.posix_skill import PosixSkill, PosixSkillConfig
 6 | 
 7 | 
 8 | def test_common_posix_skill_initialization():
 9 |     engine_id = "test-1"
10 | 
11 |     async def get_history() -> ConversationMessageList:
12 |         return ConversationMessageList(messages=[])
13 | 
14 |     engine = Engine(
15 |         engine_id="test-1",
16 |         message_history_provider=get_history,
17 |         skills=[
18 |             (
19 |                 PosixSkill,
20 |                 PosixSkillConfig(
21 |                     name="posix",
22 |                     sandbox_dir=Path(".data") / engine_id,
23 |                     mount_dir="/mnt/data",
24 |                 ),
25 |             ),
26 |         ],
27 |     )
28 | 
29 |     try:
30 |         routines = engine.list_routines()
31 |     except Exception as e:
32 |         assert False, f"Error listing routines: {e}"
33 | 
34 |     assert "posix.ls" in routines
35 | 
```

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

```markdown
 1 | # IDENTITY and PURPOSE
 2 | 
 3 | You are an expert content summarizer. You take content in and output a Markdown formatted summary using the format below.
 4 | 
 5 | Take a deep breath and think step by step about how to best accomplish this goal using the following steps.
 6 | 
 7 | # OUTPUT SECTIONS
 8 | 
 9 | - Combine all of your understanding of the content into a single, 20-word sentence in a section called ONE SENTENCE SUMMARY:.
10 | 
11 | - Output the 10 most important points of the content as a list with no more than 16 words per point into a section called MAIN POINTS:.
12 | 
13 | - Output a list of the 5 best takeaways from the content in a section called TAKEAWAYS:.
14 | 
15 | # OUTPUT INSTRUCTIONS
16 | 
17 | - Create the output using the formatting above.
18 | - You only output human readable Markdown.
19 | - Output numbered lists, not bullets.
20 | - Do not output warnings or notes—just the requested sections.
21 | - Do not repeat items in the output sections.
22 | - Do not start items with the same opening words.
23 | 
24 | # INPUT:
25 | 
26 | INPUT:
27 | 
```

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

```markdown
 1 | # IDENTITY and PURPOSE
 2 | 
 3 | You are an expert content summarizer. You take content in and output a Markdown formatted summary using the format below.
 4 | 
 5 | Take a deep breath and think step by step about how to best accomplish this goal using the following steps.
 6 | 
 7 | # OUTPUT SECTIONS
 8 | 
 9 | - Combine all of your understanding of the content into a single, 20-word sentence in a section called ONE SENTENCE SUMMARY:.
10 | 
11 | - Output the 10 most important points of the content as a list with no more than 16 words per point into a section called MAIN POINTS:.
12 | 
13 | - Output a list of the 5 best takeaways from the content in a section called TAKEAWAYS:.
14 | 
15 | # OUTPUT INSTRUCTIONS
16 | 
17 | - Create the output using the formatting above.
18 | - You only output human readable Markdown.
19 | - Output numbered lists, not bullets.
20 | - Do not output warnings or notes—just the requested sections.
21 | - Do not repeat items in the output sections.
22 | - Do not start items with the same opening words.
23 | 
24 | # INPUT:
25 | 
26 | INPUT:
27 | 
```

--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/tests/test_integration.py:
--------------------------------------------------------------------------------

```python
 1 | import pytest
 2 | from semantic_workbench_api_model.workbench_model import ConversationMessageList
 3 | from skill_library.engine import Engine
 4 | from skill_library.tests.tst_skill import TstSkill, TstSkillConfig
 5 | 
 6 | 
 7 | @pytest.fixture
 8 | async def engine():
 9 |     """Create an engine with our test skill"""
10 | 
11 |     async def get_history() -> ConversationMessageList:
12 |         return ConversationMessageList(messages=[])
13 | 
14 |     engine = Engine(
15 |         engine_id="test-id",
16 |         message_history_provider=get_history,
17 |         skills=[(TstSkill, TstSkillConfig(name="tst_skill"))],
18 |     )
19 |     await engine.start()
20 |     return engine
21 | 
22 | 
23 | @pytest.mark.asyncio
24 | async def test_skill_registration(engine):
25 |     """Test that skills are properly registered"""
26 |     # Check if skill exists
27 |     assert "tst_skill" in engine._skills
28 | 
29 |     # Check if routines were discovered
30 |     routines = engine.list_routines()
31 |     print("Available routines:", routines)
32 |     assert "tst_skill.a_routine" in routines
33 | 
```

--------------------------------------------------------------------------------
/assistants/document-assistant/.vscode/launch.json:
--------------------------------------------------------------------------------

```json
 1 | {
 2 |   "version": "0.2.0",
 3 |   "configurations": [
 4 |     {
 5 |       "type": "debugpy",
 6 |       "request": "launch",
 7 |       "name": "assistants: document-assistant",
 8 |       "cwd": "${workspaceFolder}",
 9 |       "module": "semantic_workbench_assistant.start",
10 |       "consoleTitle": "${workspaceFolderBasename}",
11 |       "justMyCode": true // Set to false to debug external libraries
12 |     },
13 |     {
14 |       "name": "assistants: document-assistant (Python Debugger: Current File)",
15 |       "type": "debugpy",
16 |       "request": "launch",
17 |       "program": "${file}",
18 |       "console": "integratedTerminal",
19 |       "justMyCode": true
20 |     }
21 |   ],
22 |   "compounds": [
23 |     {
24 |       "name": "assistants: document-assistant (default)",
25 |       "configurations": [
26 |         "assistants: document-assistant",
27 |         "app: semantic-workbench-app",
28 |         "service: semantic-workbench-service",
29 |         "mcp-servers: mcp-server-bing-search",
30 |         "mcp-servers: mcp-server-filesystem-edit"
31 |       ]
32 |     }
33 |   ]
34 | }
35 | 
```

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

```markdown
 1 | # IDENTITY and PURPOSE
 2 | 
 3 | You are an expert content summarizer. You take content in and output a Markdown formatted summary using the format below.
 4 | 
 5 | Take a deep breath and think step by step about how to best accomplish this goal using the following steps.
 6 | 
 7 | # OUTPUT SECTIONS
 8 | 
 9 | - Combine all of your understanding of the content into a single, 20-word sentence in a section called ONE SENTENCE SUMMARY:.
10 | 
11 | - Output the 3 most important points of the content as a list with no more than 12 words per point into a section called MAIN POINTS:.
12 | 
13 | - Output a list of the 3 best takeaways from the content in 12 words or less each in a section called TAKEAWAYS:.
14 | 
15 | # OUTPUT INSTRUCTIONS
16 | 
17 | - Output bullets not numbers.
18 | - You only output human readable Markdown.
19 | - Keep each bullet to 12 words or less.
20 | - Do not output warnings or notes—just the requested sections.
21 | - Do not repeat items in the output sections.
22 | - Do not start items with the same opening words.
23 | 
24 | # INPUT:
25 | 
26 | INPUT:
27 | 
```

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

```markdown
 1 | # IDENTITY and PURPOSE
 2 | 
 3 | You are an expert content summarizer. You take content in and output a Markdown formatted summary using the format below.
 4 | 
 5 | Take a deep breath and think step by step about how to best accomplish this goal using the following steps.
 6 | 
 7 | # OUTPUT SECTIONS
 8 | 
 9 | - Combine all of your understanding of the content into a single, 20-word sentence in a section called ONE SENTENCE SUMMARY:.
10 | 
11 | - Output the 3 most important points of the content as a list with no more than 12 words per point into a section called MAIN POINTS:.
12 | 
13 | - Output a list of the 3 best takeaways from the content in 12 words or less each in a section called TAKEAWAYS:.
14 | 
15 | # OUTPUT INSTRUCTIONS
16 | 
17 | - Output bullets not numbers.
18 | - You only output human readable Markdown.
19 | - Keep each bullet to 12 words or less.
20 | - Do not output warnings or notes—just the requested sections.
21 | - Do not repeat items in the output sections.
22 | - Do not start items with the same opening words.
23 | 
24 | # INPUT:
25 | 
26 | INPUT:
27 | 
```

--------------------------------------------------------------------------------
/workbench-app/src/components/App/TooltipWrapper.tsx:
--------------------------------------------------------------------------------

```typescript
 1 | import { Tooltip } from '@fluentui/react-components';
 2 | import React from 'react';
 3 | 
 4 | interface TooltipWrapperProps {
 5 |     content: string;
 6 |     children: React.ReactElement;
 7 | }
 8 | 
 9 | // Use forwardRef to allow it to still be used within a DialogTrigger
10 | export const TooltipWrapper = React.forwardRef((props: TooltipWrapperProps, forwardedRef) => {
11 |     const { content, children, ...rest } = props;
12 | 
13 |     // rest will include any props passed by DialogTrigger,
14 |     // e.g. onClick, aria-expanded, data-dialog-trigger, etc.
15 | 
16 |     const onlyChild = React.Children.only(children);
17 | 
18 |     // Merge and forward everything onto the actual child (button, link, etc.)
19 |     const childWithAllProps = React.cloneElement(onlyChild, {
20 |         ...onlyChild.props,
21 |         ...rest,
22 |         ref: forwardedRef,
23 |     });
24 | 
25 |     return (
26 |         <Tooltip content={content} relationship="label">
27 |             {childWithAllProps}
28 |         </Tooltip>
29 |     );
30 | });
31 | 
32 | TooltipWrapper.displayName = 'TooltipWrapper';
33 | 
```

--------------------------------------------------------------------------------
/tools/makefiles/docker-mcp-server.mk:
--------------------------------------------------------------------------------

```
 1 | repo_root = $(shell git rev-parse --show-toplevel)
 2 | mkfile_dir = $(patsubst %/,%,$(dir $(realpath $(lastword $(MAKEFILE_LIST)))))
 3 | 
 4 | # the directory containing the mcp-servers's Makefile is expected to be
 5 | # the directory of the mcp-server
 6 | invoking_makefile_directory = $(notdir $(patsubst %/,%,$(dir $(realpath $(firstword $(MAKEFILE_LIST))))))
 7 | 
 8 | MCP_SERVER_PACKAGE ?= $(invoking_makefile_directory)
 9 | MCP_SERVER_IMAGE_NAME ?= $(subst -,_,$(invoking_makefile_directory))
10 | MCP_SERVER_MAIN_MODULE ?= $(MCP_SERVER_IMAGE_NAME).start
11 | 
12 | DOCKER_PATH = $(repo_root)
13 | DOCKER_FILE = $(repo_root)/tools/docker/Dockerfile.mcp-server
14 | DOCKER_BUILD_ARGS = main_module=$(MCP_SERVER_MAIN_MODULE) package=$(MCP_SERVER_PACKAGE)
15 | DOCKER_IMAGE_NAME = $(MCP_SERVER_IMAGE_NAME)
16 | 
17 | AZURE_WEBSITE_NAME ?= $(MCP_SERVER_PACKAGE)-service
18 | 
19 | include $(mkfile_dir)/docker.mk
20 | 
21 | docker-run-local: docker-build
22 | 	docker run --rm -it --add-host=host.docker.internal:host-gateway $(DOCKER_IMAGE_NAME):$(DOCKER_IMAGE_TAG)
23 | 
```

--------------------------------------------------------------------------------
/assistants/project-assistant/docs/design/control_options.md:
--------------------------------------------------------------------------------

```markdown
 1 | # Designing KTA assistant architecture
 2 | 
 3 | ## The simple job at hand
 4 | 
 5 | Help prepare a knowledge package.
 6 | - Define audience and takeaways
 7 | 
 8 | ## Task organization breakdown
 9 | 
10 | - ToDo (structured task list)
11 | - Tasks
12 | - Tool calls
13 | 
14 | ## Types of context
15 | 
16 | - kt-process: The knowledge transfer process while in coordinator role.
17 | - share: state of the knowledge share
18 | - kb: State of the knowledge base
19 | - messages: previous conversation
20 | - task-list
21 | 
22 | ## Different roles/recipes/types-of-assistants
23 | 
24 | ### Task completer
25 | 
26 | - Role: Conversational assistant
27 | - Instructions
28 |   - Collaborate with user to complete tasks.
29 | - Context
30 |   - kt-process
31 |   - share
32 |   - kb
33 |   - messages
34 | - Tools
35 | - Output
36 | 
37 | - Audience
38 | - Knowledge Base management
39 | - Gaps detector
40 | - Invitation
41 | - Information requests
42 | - Knowledge digest
43 | - Knowledge brief
44 | - Welcome message generation
45 | 
46 | ## Thoughts
47 | 
48 | - Should the
49 | - Who executes?
50 |   - If the agents... they need to do so reliably and give a trace.
51 | 
52 | "Now I should start thinking about..."
53 | 
```

--------------------------------------------------------------------------------
/libraries/python/openai-client/tests/test_messages.py:
--------------------------------------------------------------------------------

```python
 1 | from openai_client import truncate_messages_for_logging
 2 | from openai_client.messages import truncate_string
 3 | 
 4 | 
 5 | def test_truncate_messages():
 6 |     actual = truncate_messages_for_logging(
 7 |         [
 8 |             {
 9 |                 "role": "user",
10 |                 "content": "This is a test message that should be truncated",
11 |             },
12 |             {
13 |                 "role": "assistant",
14 |                 "content": "This is a test message that should be truncated",
15 |             },
16 |             {
17 |                 "role": "system",
18 |                 "content": "This is a test message that should be truncated",
19 |             },
20 |         ],
21 |         maximum_content_length=20,
22 |     )
23 | 
24 |     assert actual == [
25 |         {"role": "user", "content": "T ...truncated... d"},
26 |         {"role": "assistant", "content": "T ...truncated... d"},
27 |         {"role": "system", "content": "T ...truncated... d"},
28 |     ]
29 | 
30 | 
31 | def test_truncate_string():
32 |     assert truncate_string("A" * 50, 20, "...") == "AAAAAAAA...AAAAAAAA"
33 | 
```

--------------------------------------------------------------------------------
/workbench-service/migrations/versions/2025_03_21_153250_3763629295ad_add_assistant_template_id.py:
--------------------------------------------------------------------------------

```python
 1 | """add template_id
 2 | 
 3 | Revision ID: 3763629295ad
 4 | Revises: aaaf792d4d72
 5 | Create Date: 2025-03-21 15:32:50.919136
 6 | 
 7 | """
 8 | 
 9 | from typing import Sequence, Union
10 | 
11 | import sqlalchemy as sa
12 | import sqlmodel
13 | import sqlmodel.sql.sqltypes
14 | from alembic import op
15 | 
16 | # revision identifiers, used by Alembic.
17 | revision: str = "3763629295ad"
18 | down_revision: Union[str, None] = "aaaf792d4d72"
19 | branch_labels: Union[str, Sequence[str], None] = None
20 | depends_on: Union[str, Sequence[str], None] = None
21 | 
22 | 
23 | def upgrade() -> None:
24 |     with op.batch_alter_table("assistant") as batch_op:
25 |         batch_op.add_column(sa.Column("template_id", sqlmodel.sql.sqltypes.AutoString(), nullable=True))
26 |     op.execute("update assistant set template_id = ' default' where template_id is null")
27 |     with op.batch_alter_table("assistant") as batch_op:
28 |         batch_op.alter_column("template_id", nullable=False)
29 | 
30 | 
31 | def downgrade() -> None:
32 |     with op.batch_alter_table("assistant") as batch_op:
33 |         batch_op.drop_column("template_id")
34 | 
```

--------------------------------------------------------------------------------
/aspire-orchestrator/run.sh:
--------------------------------------------------------------------------------

```bash
 1 | #!/usr/bin/env bash
 2 | 
 3 | set -e
 4 | 
 5 | HERE="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/"
 6 | cd "$HERE"
 7 | 
 8 | # Check node version, it must be major version 20 (any minor), otherwise show an error and exit
 9 | NODE_VERSION=$(node -v)
10 | if [[ ! $NODE_VERSION =~ ^v(1[8-9]|[2-9][0-9]).* ]]; then
11 |     echo "Node version is $NODE_VERSION, expected 18.x.x or higher."
12 | 
13 |   # Attempt to source nvm
14 |   if [ -s "$NVM_DIR/nvm.sh" ]; then
15 |     . "$NVM_DIR/nvm.sh"
16 |   elif [ -s "$HOME/.nvm/nvm.sh" ]; then
17 |     export NVM_DIR="$HOME/.nvm"
18 |     . "$NVM_DIR/nvm.sh"
19 |   else
20 |     echo "nvm not found. Please install Node 18 or higher manually."
21 |     echo "See also README.md for instructions."
22 |     exit 1
23 |   fi
24 | 
25 |   echo "Installing latest LTS Node version via nvm..."
26 |   nvm install --lts
27 |   nvm use --lts
28 | 
29 |   NODE_VERSION=$(node -v)
30 |   if [[ ! $NODE_VERSION =~ ^v(1[8-9]|[2-9][0-9]).* ]]; then
31 |     echo "Failed to switch to Node 18 or higher via nvm. You have $NODE_VERSION."
32 |     exit 1
33 |   fi
34 | fi
35 | 
36 | cd Aspire.AppHost
37 | 
38 | dotnet run --launch-profile https
39 | 
```

--------------------------------------------------------------------------------
/aspire-orchestrator/Aspire.AppHost/Properties/launchSettings.json:
--------------------------------------------------------------------------------

```json
 1 | {
 2 |   "$schema": "https://json.schemastore.org/launchsettings.json",
 3 |   "profiles": {
 4 |     "https": {
 5 |       "commandName": "Project",
 6 |       "dotnetRunMessages": true,
 7 |       "launchBrowser": true,
 8 |       "applicationUrl": "https://localhost:17149;http://localhost:15061",
 9 |       "environmentVariables": {
10 |         "ASPNETCORE_ENVIRONMENT": "Development",
11 |         "DOTNET_ENVIRONMENT": "Development",
12 |         "DOTNET_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:21236",
13 |         "DOTNET_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:22204"
14 |       }
15 |     },
16 |     "http": {
17 |       "commandName": "Project",
18 |       "dotnetRunMessages": true,
19 |       "launchBrowser": true,
20 |       "applicationUrl": "http://localhost:15061",
21 |       "environmentVariables": {
22 |         "ASPNETCORE_ENVIRONMENT": "Development",
23 |         "DOTNET_ENVIRONMENT": "Development",
24 |         "DOTNET_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:19243",
25 |         "DOTNET_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:20261"
26 |       }
27 |     }
28 |   }
29 | }
30 | 
```

--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/cli/azure_openai.py:
--------------------------------------------------------------------------------

```python
 1 | from azure.identity import DefaultAzureCredential, get_bearer_token_provider
 2 | from openai import AsyncAzureOpenAI, AsyncOpenAI
 3 | from openai.lib.azure import AsyncAzureADTokenProvider
 4 | 
 5 | 
 6 | def create_azure_openai_client(endpoint: str, deployment: str, api_version: str = "2024-12-01-preview") -> AsyncOpenAI:
 7 |     return AsyncAzureOpenAI(
 8 |         azure_ad_token_provider=_get_azure_bearer_token_provider(),
 9 |         azure_deployment=deployment,
10 |         azure_endpoint=endpoint,
11 |         api_version=api_version,
12 |     )
13 | 
14 | 
15 | _lazy_initialized_azure_bearer_token_provider = None
16 | 
17 | 
18 | def _get_azure_bearer_token_provider() -> AsyncAzureADTokenProvider:
19 |     global _lazy_initialized_azure_bearer_token_provider
20 | 
21 |     if _lazy_initialized_azure_bearer_token_provider is None:
22 |         _lazy_initialized_azure_bearer_token_provider = get_bearer_token_provider(
23 |             DefaultAzureCredential(),
24 |             "https://cognitiveservices.azure.com/.default",
25 |         )
26 |     return _lazy_initialized_azure_bearer_token_provider
27 | 
```

--------------------------------------------------------------------------------
/mcp-servers/mcp-server-open-deep-research-clone/mcp_server_open_deep_research_clone/azure_openai.py:
--------------------------------------------------------------------------------

```python
 1 | from azure.identity import DefaultAzureCredential, get_bearer_token_provider
 2 | from openai import AsyncAzureOpenAI, AsyncOpenAI
 3 | from openai.lib.azure import AsyncAzureADTokenProvider
 4 | 
 5 | 
 6 | def create_azure_openai_client(endpoint: str, deployment: str, api_version: str = "2024-12-01-preview") -> AsyncOpenAI:
 7 |     return AsyncAzureOpenAI(
 8 |         azure_ad_token_provider=_get_azure_bearer_token_provider(),
 9 |         azure_deployment=deployment,
10 |         azure_endpoint=endpoint,
11 |         api_version=api_version,
12 |     )
13 | 
14 | 
15 | _lazy_initialized_azure_bearer_token_provider = None
16 | 
17 | 
18 | def _get_azure_bearer_token_provider() -> AsyncAzureADTokenProvider:
19 |     global _lazy_initialized_azure_bearer_token_provider
20 | 
21 |     if _lazy_initialized_azure_bearer_token_provider is None:
22 |         _lazy_initialized_azure_bearer_token_provider = get_bearer_token_provider(
23 |             DefaultAzureCredential(),
24 |             "https://cognitiveservices.azure.com/.default",
25 |         )
26 |     return _lazy_initialized_azure_bearer_token_provider
27 | 
```

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

```python
 1 | from azure.identity import DefaultAzureCredential, get_bearer_token_provider
 2 | from openai import AsyncAzureOpenAI, AsyncOpenAI
 3 | from openai.lib.azure import AsyncAzureADTokenProvider
 4 | 
 5 | 
 6 | def create_azure_openai_client(endpoint: str, deployment: str, api_version: str = "2024-12-01-preview") -> AsyncOpenAI:
 7 |     return AsyncAzureOpenAI(
 8 |         azure_ad_token_provider=_get_azure_bearer_token_provider(),
 9 |         azure_deployment=deployment,
10 |         azure_endpoint=endpoint,
11 |         api_version=api_version,
12 |     )
13 | 
14 | 
15 | _lazy_initialized_azure_bearer_token_provider = None
16 | 
17 | 
18 | def _get_azure_bearer_token_provider() -> AsyncAzureADTokenProvider:
19 |     global _lazy_initialized_azure_bearer_token_provider
20 | 
21 |     if _lazy_initialized_azure_bearer_token_provider is None:
22 |         _lazy_initialized_azure_bearer_token_provider = get_bearer_token_provider(
23 |             DefaultAzureCredential(),
24 |             "https://cognitiveservices.azure.com/.default",
25 |         )
26 |     return _lazy_initialized_azure_bearer_token_provider
27 | 
```

--------------------------------------------------------------------------------
/assistants/codespace-assistant/.vscode/launch.json:
--------------------------------------------------------------------------------

```json
 1 | {
 2 |   "version": "0.2.0",
 3 |   "configurations": [
 4 |     {
 5 |       "type": "debugpy",
 6 |       "request": "launch",
 7 |       "name": "assistants: codespace-assistant",
 8 |       "cwd": "${workspaceFolder}",
 9 |       "module": "semantic_workbench_assistant.start",
10 |       "consoleTitle": "${workspaceFolderBasename}",
11 |       "justMyCode": false // Set to false to debug external libraries
12 |     }
13 |   ],
14 |   "compounds": [
15 |     {
16 |       "name": "assistants: codespace-assistant (for dev)",
17 |       "configurations": [
18 |         "assistants: codespace-assistant",
19 |         "app: semantic-workbench-app",
20 |         "service: semantic-workbench-service",
21 |         "mcp-servers: mcp-server-bing-search",
22 |         "mcp-servers: mcp-server-giphy",
23 |         "mcp-servers: mcp-server-open-deep-research"
24 |       ]
25 |     },
26 |     {
27 |       "name": "assistants: codespace-assistant (demo)",
28 |       "configurations": [
29 |         "assistants: codespace-assistant",
30 |         "app: semantic-workbench-app",
31 |         "service: semantic-workbench-service"
32 |       ]
33 |     }
34 |   ]
35 | }
36 | 
```

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

```markdown
 1 | # IDENTITY and PURPOSE
 2 | 
 3 | You are a business idea extraction assistant. You are extremely interested in business ideas that could revolutionize or just overhaul existing or new industries.
 4 | 
 5 | Take a deep breath and think step by step about how to achieve the best result possible as defined in the steps below. You have a lot of freedom to make this work well.
 6 | 
 7 | ## OUTPUT SECTIONS
 8 | 
 9 | 1. You extract all the top business ideas from the content. It might be a few or it might be up to 40 in a section called EXTRACTED_IDEAS
10 | 
11 | 2. Then you pick the best 10 ideas and elaborate on them by pivoting into an adjacent idea. This will be ELABORATED_IDEAS. They should each be unique and have an interesting differentiator.
12 | 
13 | ## OUTPUT INSTRUCTIONS
14 | 
15 | 1. You only output Markdown.
16 | 2. Do not give warnings or notes; only output the requested sections.
17 | 3. You use numbered lists, not bullets.
18 | 4. Do not repeat ideas, quotes, facts, or resources.
19 | 5. Do not start items in the lists with the same opening words.
20 | 
21 | # INPUT:
22 | 
23 | INPUT:
24 | 
```

--------------------------------------------------------------------------------
/assistants/knowledge-transfer-assistant/assistant/text_includes/welcome_message_generation.txt:
--------------------------------------------------------------------------------

```
 1 | Create a welcome message specific to this shared knowledge bundle prepared by the coordinator.
 2 | 
 3 | - Be welcoming.
 4 | - Speak plainly. Use no filler words or unnecessary content.
 5 | - The welcome message should tell a person to read detailed information about the knowledge share in the side panel. Don't repeat detailed information in the welcome message. The welcome message should be grounding, but not overly duplicate the detailed information.
 6 | - Provide a top-level summary of what this shared knowledge is about (in a single sentence, a larger summary is included in the side panel)
 7 | - If there are learning objectives and outcomes in this knowledge share, provide a top-level summary of them (in a single sentence, they can read more details in the side panel).
 8 | - Let the user know what you can do for them and suggest how the user should continue the conversation with you.
 9 | - Your output format should be markdown. Do NOT include any other commentary. Do NOT include backticks. Do NOT surround it with quotes.
10 | 
```

--------------------------------------------------------------------------------
/libraries/dotnet/WorkbenchConnector/StringLoggingExtensions.cs:
--------------------------------------------------------------------------------

```csharp
 1 | // Copyright (c) Microsoft. All rights reserved.
 2 | 
 3 | using System.Text;
 4 | using System.Web;
 5 | using Microsoft.AspNetCore.Http;
 6 | 
 7 | namespace Microsoft.SemanticWorkbench.Connector;
 8 | 
 9 | public static class StringLoggingExtensions
10 | {
11 |     public static string HtmlEncode(this string? value)
12 |     {
13 |         return string.IsNullOrWhiteSpace(value)
14 |             ? $"{value}"
15 |             : HttpUtility.HtmlEncode(value);
16 |     }
17 | 
18 |     public static string HtmlEncode(this PathString value)
19 |     {
20 |         return string.IsNullOrWhiteSpace(value)
21 |             ? $"{value}"
22 |             : HttpUtility.HtmlEncode(value);
23 |     }
24 | 
25 |     public static string HtmlEncode(this StringBuilder value)
26 |     {
27 |         var s = value.ToString();
28 |         return string.IsNullOrWhiteSpace(s)
29 |             ? $"{s}"
30 |             : HttpUtility.HtmlEncode(s);
31 |     }
32 | 
33 |     public static string HtmlEncode(this object? value)
34 |     {
35 |         return value == null
36 |             ? string.Empty
37 |             : HttpUtility.HtmlEncode(value.ToString() ?? string.Empty);
38 |     }
39 | }
40 | 
```

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

```typescript
 1 | // Copyright (c) Microsoft. All rights reserved.
 2 | 
 3 | import { DialogOpenChangeData, DialogOpenChangeEvent } from '@fluentui/react-components';
 4 | import React from 'react';
 5 | import { Assistant } from '../../models/Assistant';
 6 | import { DialogControl } from '../App/DialogControl';
 7 | import { AssistantServiceMetadata } from './AssistantServiceMetadata';
 8 | 
 9 | interface AssistantServiceInfoDialogProps {
10 |     assistant?: Assistant;
11 |     open: boolean;
12 |     onOpenChange: (event: DialogOpenChangeEvent, data: DialogOpenChangeData) => void;
13 | }
14 | 
15 | export const AssistantServiceInfoDialog: React.FC<AssistantServiceInfoDialogProps> = (props) => {
16 |     const { assistant, open, onOpenChange } = props;
17 | 
18 |     return (
19 |         <DialogControl
20 |             open={open}
21 |             onOpenChange={onOpenChange}
22 |             title={assistant && `"${assistant?.name}" Service Info`}
23 |             content={assistant && <AssistantServiceMetadata assistantServiceId={assistant.assistantServiceId} />}
24 |             closeLabel="Close"
25 |         />
26 |     );
27 | };
28 | 
```

--------------------------------------------------------------------------------
/libraries/dotnet/WorkbenchConnector/Models/Insight.cs:
--------------------------------------------------------------------------------

```csharp
 1 | // Copyright (c) Microsoft. All rights reserved.
 2 | 
 3 | using System.Text.Json.Serialization;
 4 | 
 5 | // ReSharper disable once CheckNamespace
 6 | namespace Microsoft.SemanticWorkbench.Connector;
 7 | 
 8 | // TODO: Support states with UI
 9 | public class Insight
10 | {
11 |     [JsonPropertyName("id")]
12 |     [JsonPropertyOrder(0)]
13 |     public string Id { get; set; } = string.Empty;
14 | 
15 |     [JsonPropertyName("display_name")]
16 |     [JsonPropertyOrder(1)]
17 |     public string DisplayName { get; set; } = string.Empty;
18 | 
19 |     [JsonPropertyName("description")]
20 |     [JsonPropertyOrder(2)]
21 |     public string Description { get; set; } = string.Empty;
22 | 
23 |     [JsonPropertyName("content")]
24 |     [JsonPropertyOrder(3)]
25 |     public string Content { get; set; } = string.Empty;
26 | 
27 |     public Insight()
28 |     {
29 |     }
30 | 
31 |     public Insight(string id, string displayName, string? content, string? description = "")
32 |     {
33 |         this.Id = id;
34 |         this.DisplayName = displayName;
35 |         this.Description = description ?? string.Empty;
36 |         this.Content = content ?? string.Empty;
37 |     }
38 | }
39 | 
```

--------------------------------------------------------------------------------
/mcp-servers/mcp-server-office/pyproject.toml:
--------------------------------------------------------------------------------

```toml
 1 | [project]
 2 | name = "mcp-server-office"
 3 | version = "0.1.0"
 4 | description = "Microsoft Office tools and utilities as a Model Context Protocol (MCP) server."
 5 | authors = [{ name = "Semantic Workbench Team" }]
 6 | readme = "README.md"
 7 | requires-python = ">=3.11, <3.13"
 8 | 
 9 | dependencies = [
10 |     "aiohttp>=3.11.13",
11 |     "mcp-extensions[llm,openai]>=0.1.0",
12 |     "ngrok>=1.4.0",
13 |     "pendulum>=3.0.0",
14 |     "pydantic>=2.10.6",
15 |     "pytest-asyncio>=0.25.3",
16 |     "python-dotenv>=1.0.1",
17 |     "python-liquid>=1.13.0",
18 |     "pywin32==308; platform_system == 'Windows'",
19 |     "pyyaml>=6.0.2",
20 |     "rich>=13.9.4",
21 | ]
22 | 
23 | [dependency-groups]
24 | dev = [
25 |     "pyright>=1.1.389",
26 |     "pyinstaller>=6.11",
27 |     "pytest>=8.0",
28 |     "pytest-asyncio>=0.25",
29 | ]
30 | 
31 | [tool.hatch.build.targets.wheel]
32 | packages = ["mcp_server"]
33 | 
34 | [tool.uv]
35 | package = true
36 | 
37 | [tool.uv.sources]
38 | mcp-extensions = { path = "../../libraries/python/mcp-extensions", editable = true }
39 | 
40 | [tool.pytest.ini_options]
41 | asyncio_mode = "auto"
42 | 
43 | [build-system]
44 | requires = ["hatchling"]
45 | build-backend = "hatchling.build"
46 | 
```

--------------------------------------------------------------------------------
/assistants/knowledge-transfer-assistant/assistant/text_includes/team_role.txt:
--------------------------------------------------------------------------------

```
 1 | You are an assistant that helps a user (a "team member") explore shared knowledge provided by a "coordinator". The coordinator has assembled shared knowledge by chatting with an assistant and attaching files. You have access to the coordinator's assistant conversation, all the attachments, a knowledge brief created by the coordinator, a knowledge digest the coordinator's assistant has created, and other artifacts that are collectively known as the "shared knowledge".
 2 | 
 3 | Your responsibilities include:
 4 | 
 5 | - Helping team members explore and understand the shared knowledge
 6 | - Clarifying complex topics from the shared knowledge
 7 | - Helping team members understand and execute the learning objectives defined by the coordinator and meet their defined learning outcomes.
 8 | - Tracking and marking completion of outcomes for each learning objective
 9 | - Creating information requests when users ask questions that weren't covered in the knowledge transfer or are needed to fill a gap or unblock the team members in achieving their outcomes
10 | 
```

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

```markdown
 1 | # Identity and Purpose
 2 | You are a custom GPT designed to create newsletter sections in the style of Frontend Weekly.
 3 | 
 4 | # Step-by-Step Process:
 5 | 1. The user will provide article text.
 6 | 2. Condense the article into one summarizing newsletter entry less than 70 words in the style of Frontend Weekly.
 7 | 3. Generate a concise title for the entry, focus on the main idea or most important fact of the article
 8 | 
 9 | # Tone and Style Guidelines:
10 | * Third-Party Narration: The newsletter should sound like it’s being narrated by an outside observer, someone who is both knowledgeable, unbiased and calm. Focus on the facts or main opinions in the original article.  Creates a sense of objectivity and adds a layer of professionalism.
11 | 
12 | * Concise: Maintain brevity and clarity. The third-party narrator should deliver information efficiently, focusing on key facts and insights.
13 | 
14 | # Output Instructions:
15 | Your final output should be a polished, newsletter-ready paragraph with a title line in bold followed by the summary paragraph.
16 | 
17 | # INPUT:
18 | 
19 | INPUT:
20 | 
21 | 
```

--------------------------------------------------------------------------------
/workbench-app/src/redux/app/store.ts:
--------------------------------------------------------------------------------

```typescript
 1 | import { Action, ThunkAction, configureStore } from '@reduxjs/toolkit';
 2 | import { workbenchApi } from '../../services/workbench';
 3 | import appReducer from '../features/app/appSlice';
 4 | import chatCanvasReducer from '../features/chatCanvas/chatCanvasSlice';
 5 | import localUserReducer from '../features/localUser/localUserSlice';
 6 | import settingsReducer from '../features/settings/settingsSlice';
 7 | import { rtkQueryErrorLogger } from './rtkQueryErrorLogger';
 8 | 
 9 | export const store = configureStore({
10 |     reducer: {
11 |         app: appReducer,
12 |         chatCanvas: chatCanvasReducer,
13 |         localUser: localUserReducer,
14 |         settings: settingsReducer,
15 |         [workbenchApi.reducerPath]: workbenchApi.reducer,
16 |     },
17 |     middleware: (getDefaultMiddleware) => getDefaultMiddleware().concat(workbenchApi.middleware, rtkQueryErrorLogger),
18 | });
19 | 
20 | export type AppDispatch = typeof store.dispatch;
21 | export type RootState = ReturnType<typeof store.getState>;
22 | export type AppThunk<ReturnType = void> = ThunkAction<ReturnType, RootState, unknown, Action<string>>;
23 | 
```

--------------------------------------------------------------------------------
/workbench-app/src/components/Conversations/Message/ContentSafetyNotice.tsx:
--------------------------------------------------------------------------------

```typescript
 1 | import { makeStyles, shorthands, tokens } from '@fluentui/react-components';
 2 | import React from 'react';
 3 | 
 4 | const useClasses = makeStyles({
 5 |     root: {
 6 |         width: 'fit-content',
 7 |         fontSize: tokens.fontSizeBase200,
 8 |         flexDirection: 'row',
 9 |         gap: tokens.spacingHorizontalS,
10 |         alignItems: 'center',
11 |         color: tokens.colorPaletteRedForeground1,
12 |         ...shorthands.padding(tokens.spacingVerticalXS, tokens.spacingHorizontalS),
13 |     },
14 | });
15 | 
16 | interface ContentSafetyNoticeProps {
17 |     contentSafety?: { result: string; note?: string };
18 | }
19 | 
20 | export const ContentSafetyNotice: React.FC<ContentSafetyNoticeProps> = (props) => {
21 |     const { contentSafety } = props;
22 |     const classes = useClasses();
23 | 
24 |     if (!contentSafety || !contentSafety.result || contentSafety.result === 'pass') return null;
25 | 
26 |     const messageNote = `[Content Safety: ${contentSafety.result}] ${
27 |         contentSafety.note || 'this message has been flagged as potentially unsafe'
28 |     }`;
29 | 
30 |     return <div className={classes.root}>{messageNote}</div>;
31 | };
32 | 
```

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

```markdown
 1 | # IDENTITY and PURPOSE
 2 | 
 3 | You fully digest input and extract the predictions made within.
 4 | 
 5 | Take a step back and think step-by-step about how to achieve the best possible results by following the steps below.
 6 | 
 7 | # STEPS
 8 | 
 9 | - Extract all predictions made within the content, even if you don't have a full list of the content or the content itself.
10 | 
11 | - For each prediction, extract the following:
12 | 
13 |   - The specific prediction in less than 16 words.
14 |   - The date by which the prediction is supposed to occur.
15 |   - The confidence level given for the prediction.
16 |   - How we'll know if it's true or not.
17 | 
18 | # OUTPUT INSTRUCTIONS
19 | 
20 | - Only output valid Markdown with no bold or italics.
21 | 
22 | - Output the predictions as a bulleted list.
23 | 
24 | - Under the list, produce a predictions table that includes the following columns: Prediction, Confidence, Date, How to Verify.
25 | 
26 | - Limit each bullet to a maximum of 16 words.
27 | 
28 | - Do not give warnings or notes; only output the requested sections.
29 | 
30 | - Ensure you follow ALL these instructions when creating your output.
31 | 
32 | # INPUT
33 | 
34 | INPUT:
35 | 
```

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

```markdown
 1 | # IDENTITY AND GOALS
 2 | 
 3 | You are an expert artist and AI whisperer. You know how to take a concept and give it to an AI and have it create the perfect piece of art for it.
 4 | 
 5 | Take a step back and think step by step about how to create the best result according to the STEPS below.
 6 | 
 7 | STEPS
 8 | 
 9 | - Think deeply about the concepts in the input.
10 | 
11 | - Think about the best possible way to capture that concept visually in a compelling and interesting way.
12 | 
13 | OUTPUT
14 | 
15 | - Output a 100-word description of the concept and the visual representation of the concept. 
16 | 
17 | - Write the direct instruction to the AI for how to create the art, i.e., don't describe the art, but describe what it looks like and how it makes people feel in a way that matches the concept.
18 | 
19 | - Include nudging clues that give the piece the proper style, .e.g., "Like you might see in the New York Times", or "Like you would see in a Sci-Fi book cover from the 1980's.", etc. In other words, give multiple examples of the style of the art in addition to the description of the art itself.
20 | 
21 | INPUT
22 | 
23 | INPUT:
24 | 
```

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

```markdown
 1 | # IDENTITY and PURPOSE
 2 | 
 3 | You are an expert at summarizing pull requests to a given coding project.
 4 | 
 5 | # STEPS
 6 | 
 7 | 1. Create a section called SUMMARY: and place a one-sentence summary of the types of pull requests that have been made to the repository.
 8 | 
 9 | 2. Create a section called TOP PULL REQUESTS: and create a bulleted list of the main PRs for the repo.
10 | 
11 | OUTPUT EXAMPLE:
12 | 
13 | SUMMARY:
14 | 
15 | Most PRs on this repo have to do with troubleshooting the app's dependencies, cleaning up documentation, and adding features to the client.
16 | 
17 | TOP PULL REQUESTS:
18 | 
19 | - Use Poetry to simplify the project's dependency management.
20 | - Add a section that explains how to use the app's secondary API.
21 | - A request to add AI Agent endpoints that use CrewAI.
22 | - Etc.
23 | 
24 | END EXAMPLE
25 | 
26 | # OUTPUT INSTRUCTIONS
27 | 
28 | - Rewrite the top pull request items to be a more human readable version of what was submitted, e.g., "delete api key" becomes "Removes an API key from the repo."
29 | - You only output human readable Markdown.
30 | - Do not output warnings or notes—just the requested sections.
31 | 
32 | # INPUT:
33 | 
34 | INPUT:
35 | 
```
Page 12/145FirstPrevNextLast