#
tokens: 49931/50000 24/1784 files (page 25/145)
lines: on (toggle) GitHub
raw markdown copy reset
This is page 25 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/prepare_7s_strategy/system.md:
--------------------------------------------------------------------------------

```markdown
 1 | # Identity
 2 | You are a skilled business researcher preparing briefing notes that will inform strategic analysis. 
 3 | ---
 4 | 
 5 | # GOALS
 6 | Create a comprehensive briefing document optimized for LLM processing that captures organizational profile, strategic elements, and market dynamics.
 7 | ---
 8 | 
 9 | # STEPS
10 | 
11 | ## Document Metadata 
12 | - Analysis period/date
13 | - Currency denomination
14 | - Locations and regions
15 | - Data sources (e.g., Annual Report, Public Filings)
16 | - Document scope and limitations
17 | - Last updated timestamp
18 | 
19 | ## Part 1: Organization Profile
20 | - Industry position and scale
21 | - Key business metrics (revenue, employees, facilities)
22 | - Geographic footprint
23 | - Core business areas and services
24 | - Market distinctions and differentiators
25 | - Ownership and governance structure
26 | 
27 | ## Part 2: Strategic Elements
28 | - Core business direction and scope
29 | - Market positioning and competitive stance
30 | - Key strategic decisions or changes
31 | - Resource allocation patterns
32 | - Customer/market choices
33 | - Product/service portfolio decisions
34 | - Geographic or market expansion moves
35 | - Strategic partnerships or relationships
36 | - Response to market changes
37 | - Major initiatives or transformations
38 | 
39 | ## Part 3: Market Dynamics
40 | 
41 | ### Headwinds
42 |   * Industry challenges and pressures
43 |   * Market constraints
44 |   * Competitive threats
45 |   * Regulatory or compliance challenges
46 |   * Operational challenges
47 | ### Tailwinds
48 |   * Market opportunities
49 |   * Growth drivers
50 |   * Favorable industry trends
51 |   * Competitive advantages
52 |   * Supporting external factors
53 | 
54 | ---
55 | # OUTPUT
56 | Present your findings as a clean markdown document. Use bullet points for clarity and consistent formatting. Make explicit connections between related elements. Use clear, consistent terminology throughout.
57 | 
58 | ## Style Guidelines:
59 | - Use bullet points for discrete facts
60 | - Expand on significant points with supporting details or examples
61 | - Include specific metrics where available
62 | - Make explicit connections between related elements
63 | - Use consistent terminology throughout
64 | - For key strategic elements, include brief supporting evidence or context
65 | - Keep descriptions clear and precise, but include sufficient detail for meaningful analysis
66 | 
67 | 
68 | Focus on stated facts rather than interpretation. Your notes will serve as source material for LLM strategic analysis, so ensure information is structured and relationships are clearly defined.
69 | 
70 | Text for analysis:
71 | [INPUT]
72 | 
```

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

```markdown
 1 | # IDENTITY
 2 | 
 3 | You are an expert AI specialized in reading and summarizing complex political proposals and legislation. 
 4 | 
 5 | # GOALS
 6 | 
 7 | 1. Summarize the key points of the proposal.
 8 | 
 9 | 2. Identify the tricky parts of the proposal or law that might be getting underplayed by the group who submitted it. E.g., hidden policies, taxes, fees, loopholes, the cancelling of programs, etc.
10 | 
11 | 3. Give a wholistic, unbiased view of the proposal that characterizes its overall purpose and goals.
12 | 
13 | # STEPS
14 | 
15 | 1. Fully digest the submitted law or proposal.
16 | 
17 | 2. Read it 39 times as a liberal, as a conservative, and as a libertarian. Spend 319 hours doing multiple read-throughs from various political perspectives.
18 | 
19 | 3. Create the output according to the OUTPUT section below.
20 | 
21 | # OUTPUT
22 | 
23 | 1. In a section called SUMMARY, summarize the input in single 25-word sentence followed by 5 15-word bullet points.
24 | 
25 | 2. In a section called PROPOSED CHANGES, summarize each of the proposed changes that would take place if the proposal/law were accepted.
26 | 
27 | EXAMPLES:
28 | 
29 | 1. Would remove the tax on candy in the state of California.
30 | 2. Would add an incentive for having children if both parents have a Master's degree.
31 | 
32 | END EXAMPLES
33 | 
34 | END EXAMPLES
35 | 
36 | 3. In a section called POSITIVE CHARACTERIZATION, capture how the submitting party is trying to make the proposal look, i.e., the positive spin they're putting on it. Give this as a set of 15-word bullet points.
37 | 
38 | EXAMPLES:
39 | 
40 | 1. The bill looks to find great candidates with positive views on the environment and get them elected.
41 | 
42 | END EXAMPLES
43 | 
44 | 4. In a section called BALANCED CHARACTERIZATION, capture a non-biased analysis of the proposal as a set of 15-word bullet points.
45 | 
46 | EXAMPLES:
47 | 
48 | 1. The bill looks to find candidates with aligned goals and try to get them elected.
49 | 
50 | END EXAMPLES
51 | 
52 | 
53 | 4. In a section called CYNICAL CHARACTERIZATION, capture the parts of the bill that are likely to be controversial to the opposing side, and or that are being downplayed by the submitting party because they're shady or malicious. Give this as a set of 15-word bullet points.
54 | 
55 | EXAMPLES:
56 | 
57 | 1. The bill looks to find candidates with perfectly and narrowly aligned goals with an extreme faction, and works to get them elected.
58 | 
59 | END EXAMPLES
60 | 
61 | # OUTPUT INSTRUCTIONS
62 | 
63 | 1. Only output in valid Markdown.
64 | 
65 | 2. Do not output any asterisks, such as those used for italics or bolding.
66 | 
```

--------------------------------------------------------------------------------
/libraries/python/assistant-data-gen/assistant_data_gen/config.py:
--------------------------------------------------------------------------------

```python
 1 | # Copyright (c) Microsoft. All rights reserved.
 2 | 
 3 | from pathlib import Path
 4 | from typing import Literal
 5 | 
 6 | import yaml
 7 | from pydantic import BaseModel, Field
 8 | 
 9 | from assistant_data_gen.gce.gce_agent import ResourceConstraintMode
10 | 
11 | 
12 | class ScenarioConfig(BaseModel):
13 |     description: str = Field(description="The scenario description text")
14 |     gce_conversation_flow: str = Field(description="Conversation flow instructions for this scenario")
15 |     resource_total: int | None = Field(
16 |         default=None, description="Custom resource total for this scenario (if None, uses general config)"
17 |     )
18 | 
19 | 
20 | class GeneralConfig(BaseModel):
21 |     assistant_name: str = Field(
22 |         default="Document Assistant 6-13 v1", description="Default name of the assistant to use"
23 |     )
24 |     conversation_title: str = Field(default="GCE Generated Conversation", description="Default title for conversations")
25 |     assistant_details: str = Field(description="Details about the assistant's capabilities")
26 |     gce_context: str = Field(description="Context template for the GCE agent")
27 |     gce_rules: list[str] = Field(description="Rules for the GCE agent")
28 |     resource_total: int = Field(default=50, description="Default total number of resources for conversations")
29 |     resource_constraint_mode: ResourceConstraintMode = Field(
30 |         default=ResourceConstraintMode.EXACT, description="Default resource constraint mode"
31 |     )
32 |     gce_provider: Literal["openai", "anthropic", "azure_openai"] = Field(
33 |         default="azure_openai", description="Default GCE provider to use"
34 |     )
35 | 
36 | 
37 | class EvaluationConfig(BaseModel):
38 |     general: GeneralConfig = Field(description="General configuration settings")
39 |     scenarios: list[ScenarioConfig] = Field(description="List of available scenario configurations")
40 | 
41 |     @classmethod
42 |     def load_from_yaml(cls, config_path: Path | str) -> "EvaluationConfig":
43 |         """Load configuration from a YAML file."""
44 |         config_path = Path(config_path)
45 |         with config_path.open("r", encoding="utf-8") as f:
46 |             data = yaml.safe_load(f)
47 |         return cls(**data)
48 | 
49 |     def save_to_yaml(self, config_path: Path | str) -> None:
50 |         """Save configuration to a YAML file."""
51 |         config_path = Path(config_path)
52 |         with config_path.open("w", encoding="utf-8") as f:
53 |             yaml.dump(self.model_dump(), f, default_flow_style=False, sort_keys=False)
54 | 
```

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

```typescript
 1 | import { makeStyles } from '@fluentui/react-components';
 2 | import React from 'react';
 3 | import { Conversation } from '../../../models/Conversation';
 4 | import { ConversationMessage } from '../../../models/ConversationMessage';
 5 | import { useGetConversationMessageDebugDataQuery } from '../../../services/workbench';
 6 | import { CopyButton } from '../../App/CopyButton';
 7 | import { DebugInspector } from '../DebugInspector';
 8 | import { MessageDelete } from '../MessageDelete';
 9 | import { MessageLink } from '../MessageLink';
10 | import { RewindConversation } from '../RewindConversation';
11 | 
12 | const useClasses = makeStyles({
13 |     root: {
14 |         display: 'flex',
15 |         flexDirection: 'row',
16 |         flexShrink: 1,
17 |     },
18 | });
19 | 
20 | interface MessageActionsProps {
21 |     readOnly: boolean;
22 |     message: ConversationMessage;
23 |     conversation: Conversation;
24 |     onRewind?: (message: ConversationMessage, redo: boolean) => void;
25 | }
26 | 
27 | export const MessageActions: React.FC<MessageActionsProps> = (props) => {
28 |     const { readOnly, message, conversation, onRewind } = props;
29 | 
30 |     const [skipDebugLoad, setSkipDebugLoad] = React.useState(true);
31 |     const {
32 |         data: debugData,
33 |         isLoading: isLoadingDebugData,
34 |         isUninitialized: isUninitializedDebugData,
35 |     } = useGetConversationMessageDebugDataQuery(
36 |         { conversationId: conversation.id, messageId: message.id },
37 |         { skip: skipDebugLoad },
38 |     );
39 | 
40 |     const classes = useClasses();
41 | 
42 |     return (
43 |         <div className={classes.root}>
44 |             {!readOnly && <MessageLink conversation={conversation} messageId={message.id} />}
45 |             <DebugInspector
46 |                 debug={{
47 |                     debug: message.hasDebugData ? debugData?.debugData || { loading: true } : null,
48 |                     message: message,
49 |                 }}
50 |                 loading={isLoadingDebugData || isUninitializedDebugData}
51 |                 onOpen={() => {
52 |                     setSkipDebugLoad(false);
53 |                 }}
54 |             />
55 |             <CopyButton data={message.content} tooltip="Copy message" size="small" appearance="transparent" />
56 |             {!readOnly && (
57 |                 <>
58 |                     <MessageDelete conversationId={conversation.id} message={message} />
59 |                     {onRewind && <RewindConversation onRewind={(redo) => onRewind?.(message, redo)} />}
60 |                 </>
61 |             )}
62 |         </div>
63 |     );
64 | };
65 | 
```

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

```markdown
 1 | # IDENTITY and PURPOSE
 2 | 
 3 | You are an expert at extracting world model and task algorithm updates from input.
 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 | - Think deeply about the content and what wisdom, insights, and knowledge it contains.
10 | 
11 | - Make a list of all the world model ideas presented in the content, i.e., beliefs about the world that describe how it works. Write all these world model beliefs on a virtual whiteboard in your mind.
12 | 
13 | - Make a list of all the task algorithm ideas presented in the content, i.e., beliefs about how a particular task should be performed, or behaviors that should be followed. Write all these task update beliefs on a virtual whiteboard in your mind.
14 | 
15 | # OUTPUT INSTRUCTIONS
16 | 
17 | - Create an output section called WORLD MODEL UPDATES that has a set of 15 word bullet points that describe the world model beliefs presented in the content.
18 | 
19 | - The WORLD MODEL UPDATES should not be just facts or ideas, but rather higher-level descriptions of how the world works that we can use to help make decisions.
20 | 
21 | - Create an output section called TASK ALGORITHM UPDATES that has a set of 15 word bullet points that describe the task algorithm beliefs presented in the content.
22 | 
23 | - For the TASK UPDATE ALGORITHM section, create subsections with practical one or two word category headers that correspond to the real world and human tasks, e.g., Reading, Writing, Morning Routine, Being Creative, etc.
24 | 
25 | # EXAMPLES
26 | 
27 | WORLD MODEL UPDATES
28 | 
29 | - One's success in life largely comes down to which frames of reality they choose to embrace.
30 | 
31 | - Framing—or how we see the world—completely transforms the reality that we live in. 
32 | 
33 | TASK ALGORITHM UPDATES
34 | 
35 | Hygiene
36 | 
37 | - If you have to only brush and floss your teeth once a day, do it at night rather than in the morning.
38 | 
39 | Web Application Assessment
40 | 
41 | - Start all security assessments with a full crawl of the target website with a full browser passed through Burpsuite.
42 | 
43 | (end examples)
44 | 
45 | OUTPUT INSTRUCTIONS
46 | 
47 | - Only output Markdown.
48 | 
49 | - Each bullet should be 16 words in length.
50 | 
51 | - Do not give warnings or notes; only output the requested sections.
52 | 
53 | - You use bulleted lists for output, not numbered lists.
54 | 
55 | - Do not start items with the same opening words.
56 | 
57 | - Ensure you follow ALL these instructions when creating your output.
58 | 
59 | # INPUT
60 | 
61 | INPUT:
62 | 
```

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

```markdown
 1 | # IDENTITY and PURPOSE
 2 | 
 3 | You are an expert on writing concise, clear, and illuminating technical user stories for new features in complex software programs
 4 | 
 5 | # OUTPUT INSTRUCTIONS
 6 | 
 7 |  Write the users stories in a fashion recognised by other software stakeholders, including product, development, operations and quality assurance
 8 | 
 9 | EXAMPLE USER STORY
10 | 
11 | Description
12 | As a Highlight developer
13 | I want to migrate email templates over to Mustache
14 | So that future upgrades to the messenger service can be made easier
15 | 
16 | Acceptance Criteria
17 | - Migrate the existing alerting email templates from the instance specific databases over to the messenger templates blob storage.
18 | 	- Rename each template to a GUID and store in it's own folder within the blob storage
19 | 	- Store Subject and Body as separate blobs
20 | 
21 | - Create an upgrade script to change the value of the Alerting.Email.Template local parameter in all systems to the new template names.
22 | - Change the template retrieval and saving for user editing to contact the blob storage rather than the database
23 | - Remove the database tables and code that handles the SQL based templates
24 | - Highlight sends the template name and the details of the body to the Email queue in Service bus  
25 | 	- this is handled by the generic Email Client (if created already)
26 | 	- This email type will be added to the list of email types that are sent to the messenger service (switch to be removed once all email templates are completed)  
27 | 
28 | - Include domain details as part of payload sent to the messenger service
29 | 
30 | Note: ensure that Ops know when this work is being done so they are aware of any changes to existing templates
31 | 
32 | # OUTPUT INSTRUCTIONS
33 | 
34 | - Write the user story according to the structure above.  
35 | - That means the user story should be written in a simple, bulleted style, not in a grandiose, conversational or academic style.
36 | 
37 | # OUTPUT FORMAT
38 | 
39 | - Output a full, user story about the content provided using the instructions above.
40 | - The structure should be: Description, Acceptance criteria 
41 | - Write in a simple, plain, and clear style, not in a grandiose, conversational or academic style.
42 | - Use absolutely ZERO cliches or jargon or journalistic language like "In a world…", etc.
43 | - Do not use cliches or jargon.
44 | - Do not include common setup language in any sentence, including: in conclusion, in closing, etc.
45 | - Do not output warnings or notes—just the output requested.
```

--------------------------------------------------------------------------------
/mcp-servers/mcp-server-filesystem-edit/mcp_server_filesystem_edit/evals/run_comments.py:
--------------------------------------------------------------------------------

```python
 1 | # Copyright (c) Microsoft. All rights reserved.
 2 | 
 3 | import asyncio
 4 | import logging
 5 | import os
 6 | 
 7 | from dotenv import load_dotenv
 8 | from mcp_extensions.llm.openai_chat_completion import openai_client
 9 | from rich.columns import Columns
10 | from rich.console import Console
11 | from rich.panel import Panel
12 | 
13 | from mcp_server_filesystem_edit.evals.common import load_test_cases
14 | from mcp_server_filesystem_edit.tools.add_comments import CommonComments
15 | from mcp_server_filesystem_edit.types import (
16 |     CommentOutput,
17 |     CustomContext,
18 |     FileOpRequest,
19 | )
20 | 
21 | logger = logging.getLogger(__name__)
22 | 
23 | load_dotenv(override=True)
24 | 
25 | 
26 | def print_output(
27 |     output: CommentOutput,
28 |     test_index: int,
29 |     custom_context: CustomContext,
30 | ) -> None:
31 |     console = Console()
32 |     console.rule(f"Test Case {test_index} Results. Latency: {output.llm_latency:.2f} seconds.", style="cyan")
33 |     console.print(
34 |         Panel(
35 |             custom_context.chat_history[-1].content,  # type: ignore
36 |             title="User Request",
37 |             border_style="blue",
38 |             width=120,
39 |         )
40 |     )
41 |     original_doc = Panel(
42 |         custom_context.document,
43 |         title="Original Document",
44 |         border_style="yellow",
45 |         width=90,
46 |     )
47 |     new_doc = Panel(
48 |         output.new_content,
49 |         title="Commented Document",
50 |         border_style="green",
51 |         width=90,
52 |     )
53 |     console.print(Columns([original_doc, new_doc]))
54 |     console.print(
55 |         Panel(
56 |             output.comment_instructions,
57 |             title="Comment Instructions",
58 |             border_style="blue",
59 |             width=120,
60 |         )
61 |     )
62 |     console.print()
63 | 
64 | 
65 | async def main() -> None:
66 |     custom_contexts = load_test_cases(test_case_type="comments")
67 |     client = openai_client(
68 |         api_type="azure_openai",
69 |         azure_endpoint=os.getenv("ASSISTANT__AZURE_OPENAI_ENDPOINT"),
70 |         aoai_api_version="2025-01-01-preview",
71 |     )
72 | 
73 |     for i, custom_context in enumerate(custom_contexts):
74 |         edit_request = FileOpRequest(
75 |             context=custom_context,
76 |             file_type=custom_context.file_type,
77 |             request_type="dev",
78 |             chat_completion_client=client,
79 |             file_content=custom_context.document,
80 |         )
81 |         commenter = CommonComments()
82 |         output = await commenter.run(edit_request)
83 |         print_output(output, i, custom_context)
84 | 
85 | 
86 | if __name__ == "__main__":
87 |     asyncio.run(main())
88 | 
```

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

```typescript
 1 | import { Button } from '@fluentui/react-components';
 2 | import YAML from 'js-yaml';
 3 | import React, { useRef } from 'react';
 4 | import { useAppDispatch } from '../../redux/app/hooks'; // Import the relevant hooks
 5 | import { addError } from '../../redux/features/app/appSlice'; // Import the error action
 6 | 
 7 | interface AssistantConfigImportButtonProps {
 8 |     onImport: (config: object) => void;
 9 | }
10 | 
11 | export const AssistantConfigImportButton: React.FC<AssistantConfigImportButtonProps> = ({ onImport }) => {
12 |     const fileInputRef = useRef<HTMLInputElement | null>(null);
13 |     const dispatch = useAppDispatch(); // Use the dispatch hook
14 | 
15 |     const handleFileChange = async (event: React.ChangeEvent<HTMLInputElement>) => {
16 |         const file = event.target?.files?.[0];
17 |         if (file) {
18 |             const reader = new FileReader();
19 |             reader.onload = (e) => {
20 |                 try {
21 |                     const content = e.target?.result as string;
22 |                     let importedConfig;
23 | 
24 |                     if (file.name.endsWith('.yaml') || file.name.endsWith('.yml')) {
25 |                         importedConfig = YAML.load(content);
26 |                     } else {
27 |                         importedConfig = JSON.parse(content);
28 |                     }
29 | 
30 |                     if (typeof importedConfig === 'object' && importedConfig !== null) {
31 |                         onImport(importedConfig as object);
32 |                     } else {
33 |                         throw new Error('Invalid configuration format');
34 |                     }
35 |                 } catch (error) {
36 |                     console.error('Error reading configuration file:', error);
37 |                     dispatch(
38 |                         addError({
39 |                             title: 'Import Error',
40 |                             message:
41 |                                 'There was an error importing the configuration file. Please check the file format and contents.',
42 |                         }),
43 |                     );
44 |                 }
45 |             };
46 |             reader.readAsText(file);
47 |         }
48 |         if (fileInputRef.current) {
49 |             fileInputRef.current.value = '';
50 |         }
51 |     };
52 | 
53 |     return (
54 |         <div>
55 |             <input type="file" hidden ref={fileInputRef} accept=".json,.yaml,.yml" onChange={handleFileChange} />
56 |             <Button onClick={() => fileInputRef.current?.click()}>Import Config</Button>
57 |         </div>
58 |     );
59 | };
60 | 
```

--------------------------------------------------------------------------------
/libraries/python/chat-context-toolkit/chat_context_toolkit/virtual_filesystem/tools/_view_tool.py:
--------------------------------------------------------------------------------

```python
 1 | from dataclasses import dataclass
 2 | from typing import Iterable
 3 | 
 4 | from openai.types.chat import ChatCompletionContentPartTextParam, ChatCompletionToolParam
 5 | 
 6 | from chat_context_toolkit.virtual_filesystem._types import ToolDefinition
 7 | from chat_context_toolkit.virtual_filesystem._virtual_filesystem import VirtualFileSystem
 8 | 
 9 | 
10 | @dataclass
11 | class ViewToolOptions:
12 |     tool_name: str = "view"
13 |     """Name of the tool provided to the LLM."""
14 |     tool_description: str = "Read the contents of a file at the specified path"
15 |     """Description of the tool provided to the LLM."""
16 |     path_argument_description: str = "The path to the file to read (e.g., '/docs/file.txt')"
17 |     """Description of the 'path' argument."""
18 | 
19 | 
20 | class ViewTool(ToolDefinition):
21 |     """Tool for viewing the contents of a file in the virtual file system."""
22 | 
23 |     def __init__(self, virtual_filesystem: VirtualFileSystem, options: ViewToolOptions = ViewToolOptions()) -> None:
24 |         self.virtual_filesystem = virtual_filesystem
25 |         self.options = options
26 | 
27 |     @property
28 |     def tool_param(self) -> ChatCompletionToolParam:
29 |         return ChatCompletionToolParam(
30 |             type="function",
31 |             function={
32 |                 "name": self.options.tool_name,
33 |                 "description": self.options.tool_description,
34 |                 "parameters": {
35 |                     "type": "object",
36 |                     "properties": {
37 |                         "path": {
38 |                             "type": "string",
39 |                             "description": self.options.path_argument_description,
40 |                         }
41 |                     },
42 |                     "required": ["path"],
43 |                 },
44 |             },
45 |         )
46 | 
47 |     async def execute(self, args: dict) -> str | Iterable[ChatCompletionContentPartTextParam]:
48 |         """Execute the built-in view tool to read file contents."""
49 |         path = args.get("path")
50 |         if not path:
51 |             return f"Error: 'path' argument is required for the {self.options.tool_name} tool"
52 | 
53 |         try:
54 |             file_content = await self.virtual_filesystem.read_file(path)
55 |         except FileNotFoundError:
56 |             return f"Error: File at path {path} not found. Please pay attention to the available files and try again."
57 |         except ValueError as e:
58 |             return f"Error: {str(e)}"
59 | 
60 |         result = f'<file path="{path}">\n{file_content}\n</file>'
61 |         return result
62 | 
```

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

```markdown
 1 | # IDENTITY and PURPOSE
 2 | 
 3 | You are an AI assistant specialized in reviewing speaking session submissions for conferences. Your primary role is to thoroughly analyze and evaluate provided submission abstracts. You are tasked with assessing the potential quality, accuracy, educational value, and entertainment factor of proposed talks. Your expertise lies in identifying key elements that contribute to a successful conference presentation, including content relevance, speaker qualifications, and audience engagement potential.
 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 | - Carefully read and analyze the provided submission abstract
10 | 
11 | - Assess the clarity and coherence of the abstract
12 | 
13 | - Evaluate the relevance of the topic to the conference theme and target audience
14 | 
15 | - Examine the proposed content for depth, originality, and potential impact
16 | 
17 | - Consider the speaker's qualifications and expertise in the subject matter
18 | 
19 | - Assess the potential educational value of the talk
20 | 
21 | - Evaluate the abstract for elements that suggest an engaging and entertaining presentation
22 | 
23 | - Identify any red flags or areas of concern in the submission
24 | 
25 | - Summarize the strengths and weaknesses of the proposed talk
26 | 
27 | - Provide a recommendation on whether to accept, reject, or request modifications to the submission
28 | 
29 | # OUTPUT INSTRUCTIONS
30 | 
31 | - Only output Markdown.
32 | 
33 | - Begin with a brief summary of the submission, including the title and main topic.
34 | 
35 | - Provide a detailed analysis of the abstract, addressing each of the following points in separate paragraphs:
36 |   1. Clarity and coherence
37 |   2. Relevance to conference and audience
38 |   3. Content depth and originality
39 |   4. Speaker qualifications
40 |   5. Educational value
41 |   6. Entertainment potential
42 |   7. Potential concerns or red flags
43 | 
44 | - Include a "Strengths" section with bullet points highlighting the positive aspects of the submission.
45 | 
46 | - Include a "Weaknesses" section with bullet points noting any areas for improvement or concern.
47 | 
48 | - Conclude with a "Recommendation" section, clearly stating whether you recommend accepting, rejecting, or requesting modifications to the submission. Provide a brief explanation for your recommendation.
49 | 
50 | - Use professional and objective language throughout the review.
51 | 
52 | - Ensure you follow ALL these instructions when creating your output.
53 | 
54 | # INPUT
55 | 
56 | INPUT:
57 | 
```

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

```markdown
 1 | # IDENTITY
 2 | 
 3 | You are a Honeycomb query evaluator with advanced capabilities to judge if a query is good or not.
 4 | You understand the nuances of the Honeycomb query language, including what is likely to be
 5 | most useful from an analytics perspective. 
 6 | 
 7 | # Introduction
 8 | Here is information about the Honeycomb query language:
 9 | {{query_language_info}}
10 | 
11 | Here are some guidelines for evaluating queries:
12 | {{guidelines}}
13 | 
14 | # Examples
15 | 
16 | Example evaluations:
17 | 
18 | <examples>
19 | 
20 | <example-1>
21 | <nlq>show me traces where ip is 10.0.2.90</nlq>
22 | <query>
23 | {
24 |   "breakdowns": ["trace.trace_id"],
25 |   "calculations": [{"op": "COUNT"}],
26 |   "filters": [{"column": "net.host.ip", "op": "=", "value": "10.0.2.90"}]
27 | }
28 | </query>
29 | <critique>
30 | {
31 |   "critique": "The query correctly filters for traces with an IP address of 10.0.2.90 
32 |    and counts the occurrences of those traces, grouped by trace.trace_id. The response 
33 |    is good as it meets the requirement of showing traces from a specific IP address 
34 |    without additional complexities.",
35 |   "outcome": "good"
36 | }
37 | </critique>
38 | </example-1>
39 | 
40 | <example-2>
41 | <nlq>show me slowest trace</nlq>
42 | <query>
43 | {
44 |   "calculations": [{"column": "duration_ms", "op": "MAX"}],
45 |   "orders": [{"column": "duration_ms", "op": "MAX", "order": "descending"}],
46 |   "limit": 1
47 | }
48 | </query>
49 | <critique>
50 | {
51 |   "critique": "While the query attempts to find the slowest trace using MAX(duration_ms) 
52 |    and ordering correctly, it fails to group by trace.trace_id. Without this grouping, 
53 |    the query only shows the MAX(duration_ms) measurement over time, not the actual 
54 |    slowest trace.",
55 |   "outcome": "bad"
56 | }
57 | </critique>
58 | </example-2>
59 | 
60 | <example-3>
61 | <nlq>count window-hash where window-hash exists per hour</nlq>
62 | <query>
63 | {
64 |   "breakdowns": ["window-hash"],
65 |   "calculations": [{"op": "COUNT"}],
66 |   "filters": [{"column": "window-hash", "op": "exists"}],
67 |   "time_range": 3600
68 | }
69 | </query>
70 | <critique>
71 | {
72 |   "critique": "While the query correctly counts window-hash occurrences, the time_range 
73 |    of 3600 seconds (1 hour) is insufficient for per-hour analysis. When we say 'per hour', 
74 |    we need a time_range of at least 36000 seconds to show meaningful hourly patterns.",
75 |   "outcome": "bad"
76 | }
77 | </critique>
78 | </example-3>
79 | 
80 | </examples>
81 | 
82 | For the following query, first write a detailed critique explaining your reasoning,
83 | then provide a pass/fail judgment in the same format as above.
84 | 
85 | <nlq>{{user_input}}</nlq>
86 | <query>
87 | {{generated_query}}
88 | </query>
89 | <critique>
90 | 
```

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

```typescript
 1 | // Copyright (c) Microsoft. All rights reserved.
 2 | 
 3 | import { DialogOpenChangeData, DialogOpenChangeEvent, makeStyles, tokens } from '@fluentui/react-components';
 4 | import React from 'react';
 5 | import { Assistant } from '../../models/Assistant';
 6 | import { DialogControl } from '../App/DialogControl';
 7 | import { AssistantConfiguration } from './AssistantConfiguration';
 8 | 
 9 | const useClasses = makeStyles({
10 |     dialogSurface: {
11 |         maxWidth: 'calc(min(1000px, 100vw) - 32px)',
12 |         minWidth: 'min(600px, 100vw)',
13 |         width: 'fit-content',
14 |     },
15 |     dialogContent: {
16 |         height: 'calc(100vh - 150px)',
17 |         width: 'calc(min(1000px, 100vw) - 100px)',
18 |         paddingRight: '8px',
19 |         boxSizing: 'border-box',
20 |         overflowY: 'auto',
21 |     },
22 |     content: {
23 |         display: 'flex',
24 |         flexDirection: 'column',
25 |         gap: tokens.spacingVerticalM,
26 |     },
27 | });
28 | 
29 | interface AssistantConfigureDialogProps {
30 |     assistant?: Assistant;
31 |     open: boolean;
32 |     onOpenChange: (event: DialogOpenChangeEvent, data: DialogOpenChangeData) => void;
33 | }
34 | 
35 | export const AssistantConfigureDialog: React.FC<AssistantConfigureDialogProps> = (props) => {
36 |     const { assistant, open, onOpenChange } = props;
37 |     const classes = useClasses();
38 |     const [isDirty, setIsDirty] = React.useState(false);
39 | 
40 |     const handleOpenChange = React.useCallback(
41 |         (event: DialogOpenChangeEvent, data: DialogOpenChangeData) => {
42 |             if (data.open) {
43 |                 setIsDirty(false);
44 |                 return;
45 |             }
46 | 
47 |             if (isDirty) {
48 |                 const result = window.confirm('Are you sure you want to close without saving?');
49 |                 if (!result) {
50 |                     return;
51 |                 }
52 |             }
53 | 
54 |             setIsDirty(false);
55 |             onOpenChange(event, data);
56 |         },
57 |         [isDirty, onOpenChange],
58 |     );
59 | 
60 |     return (
61 |         <DialogControl
62 |             open={open}
63 |             onOpenChange={handleOpenChange}
64 |             title={assistant && `Configure "${assistant.name}"`}
65 |             content={
66 |                 <div className={classes.content}>
67 |                     {assistant && <AssistantConfiguration assistant={assistant} onIsDirtyChange={setIsDirty} />}
68 |                 </div>
69 |             }
70 |             classNames={{
71 |                 dialogSurface: classes.dialogSurface,
72 |                 dialogContent: classes.dialogContent,
73 |             }}
74 |         />
75 |     );
76 | };
77 | 
```

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

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

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

```python
 1 | # Copyright (c) Microsoft. All rights reserved.
 2 | 
 3 | import asyncio
 4 | import logging
 5 | import time
 6 | 
 7 | from mcp_server_bing_search import settings
 8 | from mcp_server_bing_search.types import Link, WebResult
 9 | from mcp_server_bing_search.utils import format_web_results, lookup_url
10 | from mcp_server_bing_search.web.process_website import process_website
11 | from mcp_server_bing_search.web.search_bing import search_bing
12 | 
13 | logger = logging.getLogger(__name__)
14 | 
15 | 
16 | def sync_process_website(
17 |     website: Link,
18 |     apply_post_processing: bool = True,
19 | ) -> WebResult:
20 |     return asyncio.run(process_website(website, apply_post_processing))
21 | 
22 | 
23 | async def _process_websites_parallel(
24 |     urls: list[str],
25 | ) -> str:
26 |     tasks = []
27 |     for url in urls:
28 |         tasks.append(asyncio.to_thread(sync_process_website, Link(url=url), settings.improve_with_sampling))
29 | 
30 |     start_time = time.time()
31 |     results = await asyncio.gather(*tasks)
32 |     end_time = time.time()
33 |     response_duration = round(end_time - start_time, 4)
34 |     logger.info(f"Processed {len(urls)} URLs in {response_duration} seconds.")
35 | 
36 |     # Filter out any None or empty results
37 |     web_results = [result for result in results if result and result.content]
38 | 
39 |     if not web_results:
40 |         return "No content could be extracted from the provided URLs."
41 | 
42 |     web_results = format_web_results(web_results)
43 |     return web_results
44 | 
45 | 
46 | async def search(query: str) -> str:
47 |     """
48 |     Searches for web results using the provided query.
49 | 
50 |     Returns:
51 |         A formatted string containing web search results suitable for LLM consumption.
52 |     """
53 |     search_results = search_bing(query)
54 | 
55 |     if not search_results:
56 |         return "No results found."
57 | 
58 |     urls = [result.url for result in search_results]
59 |     results = await _process_websites_parallel(urls)
60 |     return results
61 | 
62 | 
63 | async def click(hashes: list[str]) -> str:
64 |     """
65 |     Looks up each of the hashes to get the associated URLs and then processes the URLs.
66 | 
67 |     Returns:
68 |         A formatted string containing the processed web content for LLM consumption
69 |     """
70 |     # Look up URLs for each hash
71 |     urls = []
72 |     for url_hash in hashes:
73 |         url = lookup_url(url_hash)
74 |         if url:
75 |             urls.append(url)
76 | 
77 |     # Only use the max num_search_results amount of urls
78 |     urls = urls[: settings.num_search_results]
79 | 
80 |     if not urls:
81 |         return "No results found."
82 | 
83 |     results = await _process_websites_parallel(urls)
84 |     return results
85 | 
```

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

```typescript
 1 | import {
 2 |     Button,
 3 |     makeStyles,
 4 |     Menu,
 5 |     MenuItem,
 6 |     MenuList,
 7 |     MenuPopover,
 8 |     MenuTrigger,
 9 |     Slot,
10 |     tokens,
11 |     useIsOverflowItemVisible,
12 |     useOverflowMenu,
13 | } from '@fluentui/react-components';
14 | import { MoreHorizontalRegular } from '@fluentui/react-icons';
15 | import React from 'react';
16 | 
17 | const useClasses = makeStyles({
18 |     menu: {
19 |         backgroundColor: tokens.colorNeutralBackground1,
20 |     },
21 |     menuButton: {
22 |         alignSelf: 'center',
23 |     },
24 | });
25 | 
26 | export interface OverflowMenuItemData {
27 |     id: string;
28 |     icon?: Slot<'span'>;
29 |     name?: string;
30 | }
31 | 
32 | interface OverflowMenuItemProps {
33 |     item: OverflowMenuItemData;
34 |     onClick: (event: React.MouseEvent, id: string) => void;
35 | }
36 | 
37 | export const OverflowMenuItem: React.FC<OverflowMenuItemProps> = (props) => {
38 |     const { item, onClick } = props;
39 |     const isVisible = useIsOverflowItemVisible(item.id);
40 | 
41 |     if (isVisible) {
42 |         return null;
43 |     }
44 | 
45 |     return (
46 |         <MenuItem key={item.id} icon={item.icon} onClick={(event) => onClick(event, item.id)}>
47 |             {item.name}
48 |         </MenuItem>
49 |     );
50 | };
51 | 
52 | interface OverflowMenuProps {
53 |     items: OverflowMenuItemData[];
54 |     onItemSelect: (id: string) => void;
55 | }
56 | 
57 | export const OverflowMenu: React.FC<OverflowMenuProps> = (props) => {
58 |     const { items, onItemSelect } = props;
59 |     const classes = useClasses();
60 |     const { ref, isOverflowing, overflowCount } = useOverflowMenu<HTMLButtonElement>();
61 | 
62 |     const handleItemClick = (_event: React.MouseEvent, id: string) => {
63 |         onItemSelect(id);
64 |     };
65 | 
66 |     if (!isOverflowing) {
67 |         return null;
68 |     }
69 | 
70 |     return (
71 |         <Menu hasIcons={items.find((item) => item.icon !== undefined) !== undefined}>
72 |             <MenuTrigger disableButtonEnhancement>
73 |                 <Button
74 |                     className={classes.menuButton}
75 |                     appearance="transparent"
76 |                     ref={ref}
77 |                     icon={<MoreHorizontalRegular />}
78 |                     aria-label={`${overflowCount} more options`}
79 |                     role="tab"
80 |                 />
81 |             </MenuTrigger>
82 |             <MenuPopover>
83 |                 <MenuList className={classes.menu}>
84 |                     {items.map((item) => (
85 |                         <OverflowMenuItem key={item.id} item={item} onClick={handleItemClick}></OverflowMenuItem>
86 |                     ))}
87 |                 </MenuList>
88 |             </MenuPopover>
89 |         </Menu>
90 |     );
91 | };
92 | 
```

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

```python
 1 | from typing import Any, Optional, cast
 2 | 
 3 | from openai_client import (
 4 |     CompletionError,
 5 |     create_system_message,
 6 |     create_user_message,
 7 |     extra_data,
 8 |     make_completion_args_serializable,
 9 |     message_content_from_completion,
10 |     validate_completion,
11 | )
12 | from skill_library import AskUserFn, EmitFn, RunContext, RunRoutineFn
13 | from skill_library.logging import logger
14 | from skill_library.skills.common import CommonSkill
15 | 
16 | DEFAULT_MAX_LENGTH = 10000
17 | 
18 | 
19 | async def main(
20 |     context: RunContext,
21 |     routine_state: dict[str, Any],
22 |     emit: EmitFn,
23 |     run: RunRoutineFn,
24 |     ask_user: AskUserFn,
25 |     content: str,
26 |     max_length: Optional[int] = DEFAULT_MAX_LENGTH,
27 | ) -> str:
28 |     """
29 |     Consolidate various pieces of content into a cohesive whole.
30 |     """
31 |     common_skill = cast(CommonSkill, context.skills["common"])
32 |     language_model = common_skill.config.language_model
33 | 
34 |     system_message = "Consolide the content provided by the user into a cohesive whole. Try not to lose any information, but reorder and deduplicate as necessary and give it all a singular tone. Just respond with your consolidated content."
35 | 
36 |     completion_args = {
37 |         "model": "gpt-4o",
38 |         "messages": [
39 |             create_system_message(system_message),
40 |             create_user_message(content),
41 |         ],
42 |         "max_tokens": max_length,
43 |     }
44 | 
45 |     logger.debug("Completion call.", extra=extra_data(make_completion_args_serializable(completion_args)))
46 |     metadata = {}
47 |     metadata["completion_args"] = make_completion_args_serializable(completion_args)
48 |     try:
49 |         completion = await language_model.beta.chat.completions.parse(
50 |             **completion_args,
51 |         )
52 |         validate_completion(completion)
53 |         logger.debug("Completion response.", extra=extra_data({"completion": completion.model_dump()}))
54 |         metadata["completion"] = completion.model_dump()
55 |     except Exception as e:
56 |         completion_error = CompletionError(e)
57 |         metadata["completion_error"] = completion_error.message
58 |         logger.error(
59 |             completion_error.message,
60 |             extra=extra_data({"completion_error": completion_error.body, "metadata": context.metadata_log}),
61 |         )
62 |         raise completion_error from e
63 |     else:
64 |         consolidation = message_content_from_completion(completion)
65 |         metadata["consolidation"] = consolidation
66 |         return consolidation
67 |     finally:
68 |         context.log("consolidated", metadata)
69 | 
```

--------------------------------------------------------------------------------
/libraries/python/openai-client/openai_client/client.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 | from .config import (
 6 |     AzureOpenAIApiKeyAuthConfig,
 7 |     AzureOpenAIAzureIdentityAuthConfig,
 8 |     AzureOpenAIServiceConfig,
 9 |     OpenAIServiceConfig,
10 |     ServiceConfig,
11 | )
12 | 
13 | 
14 | def create_client(service_config: ServiceConfig, *, api_version: str = "2024-12-01-preview") -> AsyncOpenAI:
15 |     """
16 |     Creates an AsyncOpenAI client based on the provided service configuration.
17 |     """
18 |     match service_config:
19 |         case AzureOpenAIServiceConfig():
20 |             match service_config.auth_config:
21 |                 case AzureOpenAIApiKeyAuthConfig():
22 |                     return AsyncAzureOpenAI(
23 |                         api_key=service_config.auth_config.azure_openai_api_key,
24 |                         azure_deployment=service_config.azure_openai_deployment,
25 |                         azure_endpoint=str(service_config.azure_openai_endpoint),
26 |                         api_version=api_version,
27 |                     )
28 | 
29 |                 case AzureOpenAIAzureIdentityAuthConfig():
30 |                     return AsyncAzureOpenAI(
31 |                         azure_ad_token_provider=_get_azure_bearer_token_provider(),
32 |                         azure_deployment=service_config.azure_openai_deployment,
33 |                         azure_endpoint=str(service_config.azure_openai_endpoint),
34 |                         api_version=api_version,
35 |                     )
36 | 
37 |                 case _:
38 |                     raise ValueError(f"Invalid auth method type: {type(service_config.auth_config)}")
39 | 
40 |         case OpenAIServiceConfig():
41 |             return AsyncOpenAI(
42 |                 api_key=service_config.openai_api_key,
43 |                 organization=service_config.openai_organization_id or None,
44 |             )
45 | 
46 |         case _:
47 |             raise ValueError(f"Invalid service config type: {type(service_config)}")
48 | 
49 | 
50 | _lazy_initialized_azure_bearer_token_provider = None
51 | 
52 | 
53 | def _get_azure_bearer_token_provider() -> AsyncAzureADTokenProvider:
54 |     global _lazy_initialized_azure_bearer_token_provider
55 | 
56 |     if _lazy_initialized_azure_bearer_token_provider is None:
57 |         _lazy_initialized_azure_bearer_token_provider = get_bearer_token_provider(
58 |             DefaultAzureCredential(),
59 |             "https://cognitiveservices.azure.com/.default",
60 |         )
61 |     return _lazy_initialized_azure_bearer_token_provider
62 | 
```

--------------------------------------------------------------------------------
/docs/SETUP_DEV_ENVIRONMENT.md:
--------------------------------------------------------------------------------

```markdown
 1 | # Semantic Workbench Setup Guide
 2 | 
 3 | This document covers the common setup information for the Semantic Workbench.
 4 | 
 5 | # Codespaces
 6 | 
 7 | We recommend using [GitHub Codespaces for developing with the Semantic Workbench](../.devcontainer/README.md). This will provide a pre-configured environment with all development tools already installed.
 8 | 
 9 | # Local Development
10 | 
11 | ## Prerequisites
12 | 
13 | Recommended installers:
14 | 
15 | - Linux: apt or your distribution's package manager
16 | - macOS: [brew](https://brew.sh/)
17 | - Windows: [winget](https://learn.microsoft.com/en-us/windows/package-manager/winget/)
18 | 
19 | ## Development tools
20 | 
21 | The backend service for the Semantic Workbench is written in Python.
22 | 
23 | The frontend for the Semantic Workbench is written in Typescript.
24 | 
25 | The core dependencies you need to install are:
26 | 
27 | - `make` - for scripting installation steps of the various projects within this repo
28 | - `uv` - for managing installed versions of `python` - for installing python dependencies
29 | - `nvm` - for managing installed versions of `node`
30 | - `pnpm` - for installing node dependencies
31 | 
32 | Linux:
33 | 
34 |     # make is installed by default on linux
35 |     sudo apt update && sudo apt install pipx
36 |     pipx ensurepath
37 |     pipx install uv
38 |     curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
39 | 
40 |     nvm install 20 lts
41 |     nvm use 20
42 |     npm install -g pnpm
43 | 
44 | macOS:
45 | 
46 |     brew install make
47 |     brew install uv
48 |     brew install nvm
49 | 
50 |     nvm install 20 lts
51 |     nvm use 20
52 |     npm install -g pnpm
53 | 
54 | Windows:
55 | 
56 |     winget install ezwinports.make -e
57 |     winget install astral-sh.uv  -e
58 |     winget install CoreyButler.NVMforWindows -e
59 | 
60 | On Windows, exit and restart the VSCode and/or terminal you installed from to re-load your environment
61 | variables and ensure the newly installed apps are available on your PATH.
62 | 
63 | Windows continued:
64 | 
65 |     nvm install 20 lts
66 |     nvm use 20
67 |     npm install -g pnpm
68 | 
69 | If you haven't already, enable long file paths on Windows.
70 | 
71 | - Run `regedit`.
72 | - Navigate to `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem`.
73 | - Find the `LongPathsEnabled` key. If it doesn’t exist, right-click on the `FileSystem` key, select `New > DWORD (32-bit) Value`, and name it `LongPathsEnabled`.
74 | - Double-click on `LongPathsEnabled`, set its value to `1`, and click OK.
75 | 
76 | # Install and run the backend
77 | 
78 | See [workbench-service/README.md](../workbench-service/README.md)
79 | 
80 | # Install and run the frontend
81 | 
82 | See [workbench-app/README.md](../workbench-app/README.md)
83 | 
```

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

```markdown
 1 | # IDENTITY and PURPOSE
 2 | 
 3 | You are a professional Anki card creator, able to create Anki cards from texts.
 4 | 
 5 | 
 6 | # INSTRUCTIONS
 7 | 
 8 | When creating Anki cards, stick to three principles: 
 9 | 
10 | 1. Minimum information principle. The material you learn must be formulated in as simple way as it is only possible. Simplicity does not have to imply losing information and skipping the difficult part.
11 | 
12 | 2. Optimize wording: The wording of your items must be optimized to make sure that in minimum time the right bulb in your brain lights 
13 | up. This will reduce error rates, increase specificity, reduce response time, and help your concentration. 
14 | 
15 | 3. No external context: The wording of your items must not include words such as "according to the text". This will make the cards 
16 | usable even to those who haven't read the original text.
17 | 
18 | 
19 | # EXAMPLE
20 | 
21 | The following is a model card-create template for you to study.
22 | 
23 | Text: The characteristics of the Dead Sea: Salt lake located on the border between Israel and Jordan. Its shoreline is the lowest point on the Earth's surface, averaging 396 m below sea level. It is 74 km long. It is seven times as salty (30% by volume) as the ocean. Its density keeps swimmers afloat. Only simple organisms can live in its saline waters
24 | 
25 | Create cards based on the above text as follows:
26 | 
27 | Q: Where is the Dead Sea located? A: on the border between Israel and Jordan
28 | Q: What is the lowest point on the Earth's surface? A: The Dead Sea shoreline
29 | Q: What is the average level on which the Dead Sea is located? A: 400 meters (below sea level)
30 | Q: How long is the Dead Sea? A: 70 km
31 | Q: How much saltier is the Dead Sea as compared with the oceans? A: 7 times
32 | Q: What is the volume content of salt in the Dead Sea? A: 30%
33 | Q: Why can the Dead Sea keep swimmers afloat? A: due to high salt content
34 | Q: Why is the Dead Sea called Dead? A: because only simple organisms can live in it
35 | Q: Why only simple organisms can live in the Dead Sea? A: because of high salt content
36 | 
37 | # STEPS
38 | 
39 | - Extract main points from the text
40 | 
41 | - Formulate questions according to the above rules and examples
42 | 
43 | - Present questions and answers in the form of a Markdown table
44 | 
45 | 
46 | # OUTPUT INSTRUCTIONS
47 | 
48 | - Output the cards you create as a CSV table. Put the question in the first column, and the answer in the second. Don't include the CSV 
49 | header.
50 | 
51 | - Do not output warnings or notes—just the requested sections.
52 | 
53 | - Do not output backticks: just raw CSV data.
54 | 
55 | # INPUT:
56 | 
57 | INPUT: 
58 | 
```

--------------------------------------------------------------------------------
/mcp-servers/mcp-server-fusion/mcp_server_fusion/fusion_utils/general_utils.py:
--------------------------------------------------------------------------------

```python
 1 | #  Copyright 2022 by Autodesk, Inc.
 2 | #  Permission to use, copy, modify, and distribute this software in object code form
 3 | #  for any purpose and without fee is hereby granted, provided that the above copyright
 4 | #  notice appears in all copies and that both that copyright notice and the limited
 5 | #  warranty and restricted rights notice below appear in all supporting documentation.
 6 | #
 7 | #  AUTODESK PROVIDES THIS PROGRAM "AS IS" AND WITH ALL FAULTS. AUTODESK SPECIFICALLY
 8 | #  DISCLAIMS ANY IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE.
 9 | #  AUTODESK, INC. DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE
10 | #  UNINTERRUPTED OR ERROR FREE.
11 | 
12 | # import os
13 | import traceback
14 | import adsk.core
15 | 
16 | app = adsk.core.Application.get()
17 | ui = app.userInterface
18 | 
19 | # Attempt to read DEBUG flag from parent config.
20 | try:
21 |     from ... import config
22 |     DEBUG = config.DEBUG
23 | except Exception:
24 |     DEBUG = False
25 | 
26 | 
27 | def log(message: str, level: adsk.core.LogLevels = adsk.core.LogLevels.InfoLogLevel, force_console: bool = False):
28 |     """Utility function to easily handle logging in your app.
29 | 
30 |     Arguments:
31 |     message -- The message to log.
32 |     level -- The logging severity level.
33 |     force_console -- Forces the message to be written to the Text Command window. 
34 |     """    
35 |     # Always print to console, only seen through IDE.
36 |     print(message)  
37 | 
38 |     # Log all errors to Fusion log file.
39 |     if level == adsk.core.LogLevels.ErrorLogLevel:
40 |         log_type = adsk.core.LogTypes.FileLogType
41 |         app.log(message, level, log_type)
42 | 
43 |     # If config.DEBUG is True write all log messages to the console.
44 |     if DEBUG or force_console:
45 |         log_type = adsk.core.LogTypes.ConsoleLogType
46 |         app.log(message, level, log_type)
47 | 
48 | 
49 | def handle_error(name: str, show_message_box: bool = False):
50 |     """Utility function to simplify error handling.
51 | 
52 |     Arguments:
53 |     name -- A name used to label the error.
54 |     show_message_box -- Indicates if the error should be shown in the message box.
55 |                         If False, it will only be shown in the Text Command window
56 |                         and logged to the log file.                        
57 |     """    
58 | 
59 |     log('===== Error =====', adsk.core.LogLevels.ErrorLogLevel)
60 |     log(f'{name}\n{traceback.format_exc()}', adsk.core.LogLevels.ErrorLogLevel)
61 | 
62 |     # If desired you could show an error as a message box.
63 |     if show_message_box:
64 |         ui.messageBox(f'{name}\n{traceback.format_exc()}')
65 | 
```

--------------------------------------------------------------------------------
/assistants/project-assistant/assistant/domain/conversation_preferences_manager.py:
--------------------------------------------------------------------------------

```python
 1 | from semantic_workbench_assistant.assistant_app import ConversationContext
 2 | 
 3 | from assistant.config import assistant_config
 4 | from assistant.data import ConversationPreferences, ConversationRole, InspectorTab
 5 | from assistant.domain.share_manager import ShareManager
 6 | from assistant.notifications import Notifications
 7 | from assistant.storage import ConversationStorage
 8 | 
 9 | 
10 | class ConversationPreferencesManager:
11 |     @staticmethod
12 |     async def update_preferred_communication_style(
13 |         context: ConversationContext,
14 |         preferred_communication_style: str,
15 |     ) -> None:
16 |         """
17 |         Update the preferences for a conversation.
18 |         """
19 |         preferences = ConversationStorage.read_conversation_preferences(context)
20 | 
21 |         # Set the default preferences based on the assistant config.
22 |         if not preferences:
23 |             config = await assistant_config.get(context.assistant)
24 |             role = await ShareManager.get_conversation_role(context)
25 |             if role == ConversationRole.COORDINATOR:
26 |                 style = config.coordinator_config.preferred_communication_style
27 |             else:
28 |                 style = config.team_config.preferred_communication_style
29 |             preferences = ConversationPreferences(
30 |                 preferred_communication_style=style,
31 |             )
32 | 
33 |         preferences.preferred_communication_style = preferred_communication_style.strip()
34 |         ConversationStorage.write_conversation_preferences(context, preferences)
35 | 
36 |         await Notifications.notify(context, "Preferred communication style updated.")
37 |         await Notifications.notify_all_state_update(context, [InspectorTab.DEBUG])
38 | 
39 |     @staticmethod
40 |     async def get_preferred_communication_style(context: ConversationContext) -> str:
41 |         """
42 |         Get the preferred communication style for a conversation.
43 |         """
44 |         preferences = ConversationStorage.read_conversation_preferences(context)
45 |         if preferences and preferences.preferred_communication_style:
46 |             return preferences.preferred_communication_style
47 | 
48 |         # Return the default from the assistant config if not set.
49 |         config = await assistant_config.get(context.assistant)
50 |         role = await ShareManager.get_conversation_role(context)
51 |         if role == ConversationRole.COORDINATOR:
52 |             return config.coordinator_config.preferred_communication_style
53 |         else:
54 |             return config.team_config.preferred_communication_style
55 | 
```

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

```python
 1 | from pathlib import Path
 2 | from typing import Any, cast
 3 | 
 4 | from events import MessageEvent
 5 | from openai.types.chat import ChatCompletionMessageParam
 6 | from openai_client import (
 7 |     CompletionError,
 8 |     create_system_message,
 9 |     create_user_message,
10 |     extra_data,
11 |     make_completion_args_serializable,
12 |     message_content_from_completion,
13 |     validate_completion,
14 | )
15 | from skill_library import AskUserFn, EmitFn, RunContext, RunRoutineFn
16 | from skill_library.logging import logger
17 | from skill_library.skills.common import CommonSkill
18 | 
19 | 
20 | async def main(
21 |     context: RunContext,
22 |     routine_state: dict[str, Any],
23 |     emit: EmitFn,
24 |     run: RunRoutineFn,
25 |     ask_user: AskUserFn,
26 |     pattern: str,
27 |     input: str | None = None,
28 | ) -> str:
29 |     """Run a fabric pattern."""
30 | 
31 |     common_skill = cast(CommonSkill, context.skills["common"])
32 |     language_model = common_skill.config.language_model
33 | 
34 |     pattern_file = Path(__file__).parent.parent / "patterns" / pattern / "system.md"
35 |     if not pattern_file.exists():
36 |         emit(MessageEvent(message=f"Pattern {pattern} not found."))
37 |         return f"Pattern {pattern} not found."
38 | 
39 |     with open(pattern_file, "r") as f:
40 |         pattern = f.read()
41 | 
42 |     messages: list[ChatCompletionMessageParam] = [
43 |         create_system_message(
44 |             pattern,
45 |         )
46 |     ]
47 |     if input:
48 |         messages.append(create_user_message(input))
49 | 
50 |     completion_args = {
51 |         "model": "gpt-4o",
52 |         "messages": messages,
53 |     }
54 | 
55 |     metadata = {}
56 |     logger.debug("Completion call.", extra=extra_data(make_completion_args_serializable(completion_args)))
57 |     metadata["completion_args"] = make_completion_args_serializable(completion_args)
58 |     try:
59 |         completion = await language_model.beta.chat.completions.parse(
60 |             **completion_args,
61 |         )
62 |         validate_completion(completion)
63 |         logger.debug("Completion response.", extra=extra_data({"completion": completion.model_dump()}))
64 |         metadata["completion"] = completion.model_dump()
65 |     except Exception as e:
66 |         completion_error = CompletionError(e)
67 |         metadata["completion_error"] = completion_error.message
68 |         logger.error(
69 |             completion_error.message,
70 |             extra=extra_data({"completion_error": completion_error.body, "metadata": metadata}),
71 |         )
72 |         raise completion_error from e
73 |     else:
74 |         context.log("gpt_complete", metadata=metadata)
75 |         return message_content_from_completion(completion)
76 | 
```

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

```python
 1 | from typing import Any, Callable
 2 | 
 3 | import pytest
 4 | from openai_client.tools import ToolFunctions
 5 | 
 6 | 
 7 | def no_op() -> None:
 8 |     pass
 9 | 
10 | 
11 | def echo(value: Any) -> str:
12 |     match value:
13 |         case str():
14 |             return value
15 |         case list():
16 |             return ", ".join(map(str, value))
17 |         case dict():
18 |             return ", ".join(f"{k}: {v}" for k, v in value.items())
19 |         case int() | bool() | float():
20 |             return str(value)
21 |         case _:
22 |             return str(value)
23 | 
24 | 
25 | # Create tool functions.
26 | functions = [echo, no_op]
27 | tf = ToolFunctions()
28 | for func in functions:
29 |     tf.add_function(func)
30 | 
31 | 
32 | @pytest.mark.parametrize(
33 |     "command_string, expected_command, expected_args, expected_kwargs, expected_error",
34 |     [
35 |         # Simplest case.
36 |         ("no_op()", "no_op", [], {}, None),
37 |         # Args.
38 |         ('/echo("Hello!")', "echo", ["Hello!"], {}, None),
39 |         ("/echo(42)", "echo", [42], {}, None),
40 |         ("/echo(42.0)", "echo", [42.0], {}, None),
41 |         ("/echo(True)", "echo", [True], {}, None),
42 |         ("/echo([1, 2, 3])", "echo", [[1, 2, 3]], {}, None),
43 |         ('/echo({"a": 1, "b": 2})', "echo", [{"a": 1, "b": 2}], {}, None),
44 |         # Keyword args.
45 |         ('/echo(value="Hello!")', "echo", [], {"value": "Hello!"}, None),
46 |         ("/echo(value=42)", "echo", [], {"value": 42}, None),
47 |         ("/echo(value=42.0)", "echo", [], {"value": 42.0}, None),
48 |         ("/echo(value=True)", "echo", [], {"value": True}, None),
49 |         ("/echo(value=[1, 2, 3])", "echo", [], {"value": [1, 2, 3]}, None),
50 |         ('/echo(value={"a": 1, "b": 2})', "echo", [], {"value": {"a": 1, "b": 2}}, None),
51 |         # No cmd prefix.
52 |         ('echo("Hello!")', "echo", ["Hello!"], {}, None),
53 |         # Unregistered command.
54 |         ('unregistered("Hello!")', None, [], {}, None),
55 |         # Invalid args.
56 |         ("/echo(Hello!)", None, [], {}, ValueError),
57 |     ],
58 | )
59 | def test_command_parsing_pythonic(
60 |     command_string: str,
61 |     expected_command: Callable,
62 |     expected_args: list[Any],
63 |     expected_kwargs: dict[str, Any],
64 |     expected_error: Any,
65 | ):
66 |     try:
67 |         command, args, kwargs = tf.parse_function_string(command_string)
68 |     except Exception as e:
69 |         assert expected_error is not None
70 |         assert isinstance(e, expected_error)
71 |         return
72 | 
73 |     if command is None:
74 |         assert expected_command is None
75 |     else:
76 |         assert command.name == expected_command
77 | 
78 |     assert args == expected_args
79 |     assert kwargs == expected_kwargs
80 | 
```

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

```markdown
 1 | # IDENTITY and PURPOSE
 2 | 
 3 | You take a philosopher, professional, notable figure, thinker, writer, author, philosophers, or philosophy as input, and you output a template about what it/they taught.
 4 | 
 5 | Take a deep breath and think step-by-step how to do the following STEPS.
 6 | 
 7 | # STEPS
 8 | 
 9 | 1. Look for the mention of a notable person, professional, thinker, writer, author, philosopher, philosophers, or philosophy in the input.
10 | 
11 | 2. For each thinker, output the following template:
12 | 
13 | ONE-LINE ENCAPSULATION:
14 | 
15 | The philosopher's overall philosophy encapsulated in a 10-20 words.
16 | 
17 | BACKGROUND:
18 | 
19 | 5 15-word word bullets on their background.
20 | 
21 | SCHOOL:
22 | 
23 | Give the one-two word formal school of philosophy or thinking they fall under, along with a 20-30 word description of that school of philosophy/thinking.
24 | 
25 | MOST IMPACTFUL IDEAS:
26 | 
27 | 5 15-word bullets on their teachings, starting from most important to least important.
28 | 
29 | THEIR PRIMARY ADVICE/TEACHINGS:
30 | 
31 | 5 20-30 word bullets on their teachings, starting from most important to least important.
32 | 
33 | WORKS:
34 | 
35 | 5 15-word bullets on their most popular works and what they were about.
36 | 
37 | QUOTES:
38 | 
39 | 5 of their most insightful quotes.
40 | 
41 | APPLICATION:
42 | 
43 | Describe in 30 words what it means to have something be $philosopher-ian, e.g., Socratic for Socrates, Hegelian for Hegel. Etc.
44 | 
45 | In other words if the name of the philosopher is Hitchens, the output would be something like,
46 | 
47 | Something is Hitchensian if it is like…(continued)
48 | 
49 | ADVICE:
50 | 
51 | 5 20-30 word bullets on how to live life.
52 | 
53 | 3. For each philosophy output the following template:
54 | 
55 | BACKGROUND:
56 | 
57 | 5 20-30 word bullets on the philosophy's background.
58 | 
59 | ONE-LINE ENCAPSULATION:
60 | 
61 | The philosophy's overall philosophy encapsulated in a 10-20 words.
62 | 
63 | OPPOSING SCHOOLS:
64 | 
65 | Give 3 20-30 word bullets on opposing philosophies and what they believe that's different from the philosophy provided.
66 | 
67 | TEACHINGS:
68 | 
69 | 5 20-30 word bullets on the philosophy's teachings, starting from most important to least important.
70 | 
71 | MOST PROMINENT REPRESENTATIVES:
72 | 
73 | 5 of the philosophy's most prominent representatives.
74 | 
75 | QUOTES:
76 | 
77 | 5 of the philosophy's most insightful quotes.
78 | 
79 | APPLICATION:
80 | 
81 | Describe in 30 words what it means to have something be $philosophian, e.g., Rationalist, Empiricist, etc.
82 | 
83 | In other words if the name of the philosophy is Rationalism, the output would be something like,
84 | 
85 | An idea is Rationalist if it is like…(continued)
86 | 
87 | ADVICE:
88 | 
89 | 5 20-30 word bullets on how to live life according to that philosophy.
90 | 
91 | # INPUT:
92 | 
93 | INPUT:
94 | 
```
Page 25/145FirstPrevNextLast