This is page 11 of 145. Use http://codebase.md/microsoft/semanticworkbench?lines=true&page={x} to view the full context.
# Directory Structure
```
├── .devcontainer
│ ├── .vscode
│ │ └── settings.json
│ ├── devcontainer.json
│ ├── OPTIMIZING_FOR_CODESPACES.md
│ ├── POST_SETUP_README.md
│ └── README.md
├── .dockerignore
├── .gitattributes
├── .github
│ ├── policheck.yml
│ └── workflows
│ ├── assistants-codespace-assistant.yml
│ ├── assistants-document-assistant.yml
│ ├── assistants-explorer-assistant.yml
│ ├── assistants-guided-conversation-assistant.yml
│ ├── assistants-knowledge-transfer-assistant.yml
│ ├── assistants-navigator-assistant.yml
│ ├── assistants-project-assistant.yml
│ ├── assistants-prospector-assistant.yml
│ ├── assistants-skill-assistant.yml
│ ├── libraries.yml
│ ├── mcp-server-giphy.yml
│ ├── mcp-server-memory-filesystem-edit.yml
│ ├── mcp-server-memory-user-bio.yml
│ ├── mcp-server-memory-whiteboard.yml
│ ├── mcp-server-open-deep-research-clone.yml
│ ├── mcp-server-web-research.yml
│ ├── workbench-app.yml
│ └── workbench-service.yml
├── .gitignore
├── .multi-root-tools
│ ├── Makefile
│ └── README.md
├── .vscode
│ ├── extensions.json
│ ├── launch.json
│ └── settings.json
├── ai_context
│ └── generated
│ ├── ASPIRE_ORCHESTRATOR.md
│ ├── ASSISTANT_CODESPACE.md
│ ├── ASSISTANT_DOCUMENT.md
│ ├── ASSISTANT_NAVIGATOR.md
│ ├── ASSISTANT_PROJECT.md
│ ├── ASSISTANT_PROSPECTOR.md
│ ├── ASSISTANTS_OTHER.md
│ ├── ASSISTANTS_OVERVIEW.md
│ ├── CONFIGURATION.md
│ ├── DOTNET_LIBRARIES.md
│ ├── EXAMPLES.md
│ ├── MCP_SERVERS.md
│ ├── PYTHON_LIBRARIES_AI_CLIENTS.md
│ ├── PYTHON_LIBRARIES_CORE.md
│ ├── PYTHON_LIBRARIES_EXTENSIONS.md
│ ├── PYTHON_LIBRARIES_SKILLS.md
│ ├── PYTHON_LIBRARIES_SPECIALIZED.md
│ ├── TOOLS.md
│ ├── WORKBENCH_FRONTEND.md
│ └── WORKBENCH_SERVICE.md
├── aspire-orchestrator
│ ├── .editorconfig
│ ├── Aspire.AppHost
│ │ ├── .gitignore
│ │ ├── appsettings.json
│ │ ├── Aspire.AppHost.csproj
│ │ ├── Program.cs
│ │ └── Properties
│ │ └── launchSettings.json
│ ├── Aspire.Extensions
│ │ ├── Aspire.Extensions.csproj
│ │ ├── Dashboard.cs
│ │ ├── DockerFileExtensions.cs
│ │ ├── PathNormalizer.cs
│ │ ├── UvAppHostingExtensions.cs
│ │ ├── UvAppResource.cs
│ │ ├── VirtualEnvironment.cs
│ │ └── WorkbenchServiceHostingExtensions.cs
│ ├── Aspire.ServiceDefaults
│ │ ├── Aspire.ServiceDefaults.csproj
│ │ └── Extensions.cs
│ ├── README.md
│ ├── run.sh
│ ├── SemanticWorkbench.Aspire.sln
│ └── SemanticWorkbench.Aspire.sln.DotSettings
├── assistants
│ ├── codespace-assistant
│ │ ├── .claude
│ │ │ └── settings.local.json
│ │ ├── .env.example
│ │ ├── .vscode
│ │ │ ├── extensions.json
│ │ │ ├── launch.json
│ │ │ └── settings.json
│ │ ├── assistant
│ │ │ ├── __init__.py
│ │ │ ├── assets
│ │ │ │ ├── icon_context_transfer.svg
│ │ │ │ └── icon.svg
│ │ │ ├── chat.py
│ │ │ ├── config.py
│ │ │ ├── helpers.py
│ │ │ ├── response
│ │ │ │ ├── __init__.py
│ │ │ │ ├── completion_handler.py
│ │ │ │ ├── models.py
│ │ │ │ ├── request_builder.py
│ │ │ │ ├── response.py
│ │ │ │ ├── step_handler.py
│ │ │ │ └── utils
│ │ │ │ ├── __init__.py
│ │ │ │ ├── abbreviations.py
│ │ │ │ ├── formatting_utils.py
│ │ │ │ ├── message_utils.py
│ │ │ │ └── openai_utils.py
│ │ │ ├── text_includes
│ │ │ │ ├── card_content_context_transfer.md
│ │ │ │ ├── card_content.md
│ │ │ │ ├── codespace_assistant_info.md
│ │ │ │ ├── context_transfer_assistant_info.md
│ │ │ │ ├── guardrails_prompt.txt
│ │ │ │ ├── guidance_prompt_context_transfer.txt
│ │ │ │ ├── guidance_prompt.txt
│ │ │ │ ├── instruction_prompt_context_transfer.txt
│ │ │ │ └── instruction_prompt.txt
│ │ │ └── whiteboard
│ │ │ ├── __init__.py
│ │ │ ├── _inspector.py
│ │ │ └── _whiteboard.py
│ │ ├── assistant.code-workspace
│ │ ├── Makefile
│ │ ├── pyproject.toml
│ │ ├── README.md
│ │ └── uv.lock
│ ├── document-assistant
│ │ ├── .env.example
│ │ ├── .vscode
│ │ │ ├── launch.json
│ │ │ └── settings.json
│ │ ├── assistant
│ │ │ ├── __init__.py
│ │ │ ├── assets
│ │ │ │ └── icon.svg
│ │ │ ├── chat.py
│ │ │ ├── config.py
│ │ │ ├── context_management
│ │ │ │ ├── __init__.py
│ │ │ │ └── inspector.py
│ │ │ ├── filesystem
│ │ │ │ ├── __init__.py
│ │ │ │ ├── _convert.py
│ │ │ │ ├── _file_sources.py
│ │ │ │ ├── _filesystem.py
│ │ │ │ ├── _inspector.py
│ │ │ │ ├── _model.py
│ │ │ │ ├── _prompts.py
│ │ │ │ └── _tasks.py
│ │ │ ├── guidance
│ │ │ │ ├── __init__.py
│ │ │ │ ├── dynamic_ui_inspector.py
│ │ │ │ ├── guidance_config.py
│ │ │ │ ├── guidance_prompts.py
│ │ │ │ └── README.md
│ │ │ ├── response
│ │ │ │ ├── __init__.py
│ │ │ │ ├── completion_handler.py
│ │ │ │ ├── models.py
│ │ │ │ ├── prompts.py
│ │ │ │ ├── responder.py
│ │ │ │ └── utils
│ │ │ │ ├── __init__.py
│ │ │ │ ├── formatting_utils.py
│ │ │ │ ├── message_utils.py
│ │ │ │ ├── openai_utils.py
│ │ │ │ ├── tokens_tiktoken.py
│ │ │ │ └── workbench_messages.py
│ │ │ ├── text_includes
│ │ │ │ └── document_assistant_info.md
│ │ │ ├── types.py
│ │ │ └── whiteboard
│ │ │ ├── __init__.py
│ │ │ ├── _inspector.py
│ │ │ └── _whiteboard.py
│ │ ├── assistant.code-workspace
│ │ ├── CLAUDE.md
│ │ ├── Makefile
│ │ ├── pyproject.toml
│ │ ├── README.md
│ │ ├── tests
│ │ │ ├── __init__.py
│ │ │ ├── test_convert.py
│ │ │ └── test_data
│ │ │ ├── blank_image.png
│ │ │ ├── Formatting Test.docx
│ │ │ ├── sample_data.csv
│ │ │ ├── sample_data.xlsx
│ │ │ ├── sample_page.html
│ │ │ ├── sample_presentation.pptx
│ │ │ └── simple_pdf.pdf
│ │ └── uv.lock
│ ├── explorer-assistant
│ │ ├── .env.example
│ │ ├── .vscode
│ │ │ ├── launch.json
│ │ │ └── settings.json
│ │ ├── assistant
│ │ │ ├── __init__.py
│ │ │ ├── chat.py
│ │ │ ├── config.py
│ │ │ ├── helpers.py
│ │ │ ├── response
│ │ │ │ ├── __init__.py
│ │ │ │ ├── model.py
│ │ │ │ ├── response_anthropic.py
│ │ │ │ ├── response_openai.py
│ │ │ │ └── response.py
│ │ │ └── text_includes
│ │ │ └── guardrails_prompt.txt
│ │ ├── assistant.code-workspace
│ │ ├── Makefile
│ │ ├── pyproject.toml
│ │ ├── README.md
│ │ └── uv.lock
│ ├── guided-conversation-assistant
│ │ ├── .env.example
│ │ ├── .vscode
│ │ │ ├── launch.json
│ │ │ └── settings.json
│ │ ├── assistant
│ │ │ ├── __init__.py
│ │ │ ├── agents
│ │ │ │ ├── guided_conversation
│ │ │ │ │ ├── config.py
│ │ │ │ │ ├── definition.py
│ │ │ │ │ └── definitions
│ │ │ │ │ ├── er_triage.py
│ │ │ │ │ ├── interview.py
│ │ │ │ │ ├── patient_intake.py
│ │ │ │ │ └── poem_feedback.py
│ │ │ │ └── guided_conversation_agent.py
│ │ │ ├── chat.py
│ │ │ ├── config.py
│ │ │ └── text_includes
│ │ │ └── guardrails_prompt.txt
│ │ ├── assistant.code-workspace
│ │ ├── Makefile
│ │ ├── pyproject.toml
│ │ ├── README.md
│ │ └── uv.lock
│ ├── knowledge-transfer-assistant
│ │ ├── .claude
│ │ │ └── settings.local.json
│ │ ├── .env.example
│ │ ├── .vscode
│ │ │ ├── launch.json
│ │ │ └── settings.json
│ │ ├── assistant
│ │ │ ├── __init__.py
│ │ │ ├── agentic
│ │ │ │ ├── __init__.py
│ │ │ │ ├── analysis.py
│ │ │ │ ├── coordinator_support.py
│ │ │ │ └── team_welcome.py
│ │ │ ├── assets
│ │ │ │ ├── icon-knowledge-transfer.svg
│ │ │ │ └── icon.svg
│ │ │ ├── assistant.py
│ │ │ ├── common.py
│ │ │ ├── config.py
│ │ │ ├── conversation_clients.py
│ │ │ ├── conversation_share_link.py
│ │ │ ├── data.py
│ │ │ ├── domain
│ │ │ │ ├── __init__.py
│ │ │ │ ├── audience_manager.py
│ │ │ │ ├── information_request_manager.py
│ │ │ │ ├── knowledge_brief_manager.py
│ │ │ │ ├── knowledge_digest_manager.py
│ │ │ │ ├── learning_objectives_manager.py
│ │ │ │ └── share_manager.py
│ │ │ ├── files.py
│ │ │ ├── logging.py
│ │ │ ├── notifications.py
│ │ │ ├── respond.py
│ │ │ ├── storage_models.py
│ │ │ ├── storage.py
│ │ │ ├── string_utils.py
│ │ │ ├── text_includes
│ │ │ │ ├── assistant_info.md
│ │ │ │ ├── card_content.md
│ │ │ │ ├── coordinator_instructions.txt
│ │ │ │ ├── coordinator_role.txt
│ │ │ │ ├── knowledge_digest_instructions.txt
│ │ │ │ ├── knowledge_digest_prompt.txt
│ │ │ │ ├── share_information_request_detection.txt
│ │ │ │ ├── team_instructions.txt
│ │ │ │ ├── team_role.txt
│ │ │ │ └── welcome_message_generation.txt
│ │ │ ├── tools
│ │ │ │ ├── __init__.py
│ │ │ │ ├── base.py
│ │ │ │ ├── information_requests.py
│ │ │ │ ├── learning_objectives.py
│ │ │ │ ├── learning_outcomes.py
│ │ │ │ ├── progress_tracking.py
│ │ │ │ └── share_setup.py
│ │ │ ├── ui_tabs
│ │ │ │ ├── __init__.py
│ │ │ │ ├── brief.py
│ │ │ │ ├── common.py
│ │ │ │ ├── debug.py
│ │ │ │ ├── learning.py
│ │ │ │ └── sharing.py
│ │ │ └── utils.py
│ │ ├── CLAUDE.md
│ │ ├── docs
│ │ │ ├── design
│ │ │ │ ├── actions.md
│ │ │ │ └── inference.md
│ │ │ ├── DEV_GUIDE.md
│ │ │ ├── how-kta-works.md
│ │ │ ├── JTBD.md
│ │ │ ├── knowledge-transfer-goals.md
│ │ │ ├── learning_assistance.md
│ │ │ ├── notable_claude_conversations
│ │ │ │ ├── clarifying_quad_modal_design.md
│ │ │ │ ├── CLAUDE_PROMPTS.md
│ │ │ │ ├── transfer_state.md
│ │ │ │ └── trying_the_context_agent.md
│ │ │ └── opportunities-of-knowledge-transfer.md
│ │ ├── knowledge-transfer-assistant.code-workspace
│ │ ├── Makefile
│ │ ├── pyproject.toml
│ │ ├── README.md
│ │ ├── tests
│ │ │ ├── __init__.py
│ │ │ ├── test_artifact_loading.py
│ │ │ ├── test_inspector.py
│ │ │ ├── test_share_manager.py
│ │ │ ├── test_share_storage.py
│ │ │ ├── test_share_tools.py
│ │ │ └── test_team_mode.py
│ │ └── uv.lock
│ ├── Makefile
│ ├── navigator-assistant
│ │ ├── .env.example
│ │ ├── .vscode
│ │ │ ├── launch.json
│ │ │ └── settings.json
│ │ ├── assistant
│ │ │ ├── __init__.py
│ │ │ ├── assets
│ │ │ │ ├── card_content.md
│ │ │ │ └── icon.svg
│ │ │ ├── chat.py
│ │ │ ├── config.py
│ │ │ ├── helpers.py
│ │ │ ├── response
│ │ │ │ ├── __init__.py
│ │ │ │ ├── completion_handler.py
│ │ │ │ ├── completion_requestor.py
│ │ │ │ ├── local_tool
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── add_assistant_to_conversation.py
│ │ │ │ │ ├── list_assistant_services.py
│ │ │ │ │ └── model.py
│ │ │ │ ├── models.py
│ │ │ │ ├── prompt.py
│ │ │ │ ├── request_builder.py
│ │ │ │ ├── response.py
│ │ │ │ ├── step_handler.py
│ │ │ │ └── utils
│ │ │ │ ├── __init__.py
│ │ │ │ ├── formatting_utils.py
│ │ │ │ ├── message_utils.py
│ │ │ │ ├── openai_utils.py
│ │ │ │ └── tools.py
│ │ │ ├── text_includes
│ │ │ │ ├── guardrails_prompt.md
│ │ │ │ ├── guidance_prompt.md
│ │ │ │ ├── instruction_prompt.md
│ │ │ │ ├── navigator_assistant_info.md
│ │ │ │ └── semantic_workbench_features.md
│ │ │ └── whiteboard
│ │ │ ├── __init__.py
│ │ │ ├── _inspector.py
│ │ │ └── _whiteboard.py
│ │ ├── Makefile
│ │ ├── pyproject.toml
│ │ ├── README.md
│ │ └── uv.lock
│ ├── project-assistant
│ │ ├── .cspell
│ │ │ └── custom-dictionary-workspace.txt
│ │ ├── .env.example
│ │ ├── .vscode
│ │ │ ├── launch.json
│ │ │ └── settings.json
│ │ ├── assistant
│ │ │ ├── __init__.py
│ │ │ ├── agentic
│ │ │ │ ├── __init__.py
│ │ │ │ ├── act.py
│ │ │ │ ├── coordinator_next_action.py
│ │ │ │ ├── create_invitation.py
│ │ │ │ ├── detect_audience_and_takeaways.py
│ │ │ │ ├── detect_coordinator_actions.py
│ │ │ │ ├── detect_information_request_needs.py
│ │ │ │ ├── detect_knowledge_package_gaps.py
│ │ │ │ ├── focus.py
│ │ │ │ ├── respond.py
│ │ │ │ ├── team_welcome.py
│ │ │ │ └── update_digest.py
│ │ │ ├── assets
│ │ │ │ ├── icon-knowledge-transfer.svg
│ │ │ │ └── icon.svg
│ │ │ ├── assistant.py
│ │ │ ├── common.py
│ │ │ ├── config.py
│ │ │ ├── conversation_clients.py
│ │ │ ├── data.py
│ │ │ ├── domain
│ │ │ │ ├── __init__.py
│ │ │ │ ├── audience_manager.py
│ │ │ │ ├── conversation_preferences_manager.py
│ │ │ │ ├── information_request_manager.py
│ │ │ │ ├── knowledge_brief_manager.py
│ │ │ │ ├── knowledge_digest_manager.py
│ │ │ │ ├── learning_objectives_manager.py
│ │ │ │ ├── share_manager.py
│ │ │ │ ├── tasks_manager.py
│ │ │ │ └── transfer_manager.py
│ │ │ ├── errors.py
│ │ │ ├── files.py
│ │ │ ├── logging.py
│ │ │ ├── notifications.py
│ │ │ ├── prompt_utils.py
│ │ │ ├── storage.py
│ │ │ ├── string_utils.py
│ │ │ ├── text_includes
│ │ │ │ ├── actor_instructions.md
│ │ │ │ ├── assistant_info.md
│ │ │ │ ├── card_content.md
│ │ │ │ ├── coordinator_instructions copy.md
│ │ │ │ ├── coordinator_instructions.md
│ │ │ │ ├── create_invitation.md
│ │ │ │ ├── detect_audience.md
│ │ │ │ ├── detect_coordinator_actions.md
│ │ │ │ ├── detect_information_request_needs.md
│ │ │ │ ├── detect_knowledge_package_gaps.md
│ │ │ │ ├── focus.md
│ │ │ │ ├── knowledge_digest_instructions.txt
│ │ │ │ ├── team_instructions.txt
│ │ │ │ ├── to_do.md
│ │ │ │ ├── update_knowledge_brief.md
│ │ │ │ ├── update_knowledge_digest.md
│ │ │ │ └── welcome_message_generation.txt
│ │ │ ├── tools
│ │ │ │ ├── __init__.py
│ │ │ │ ├── base.py
│ │ │ │ ├── conversation_preferences.py
│ │ │ │ ├── information_requests.py
│ │ │ │ ├── learning_objectives.py
│ │ │ │ ├── learning_outcomes.py
│ │ │ │ ├── progress_tracking.py
│ │ │ │ ├── share_setup.py
│ │ │ │ ├── system_reminders.py
│ │ │ │ ├── tasks.py
│ │ │ │ └── todo.py
│ │ │ ├── ui_tabs
│ │ │ │ ├── __init__.py
│ │ │ │ ├── brief.py
│ │ │ │ ├── common.py
│ │ │ │ ├── debug.py
│ │ │ │ ├── learning.py
│ │ │ │ └── sharing.py
│ │ │ └── utils.py
│ │ ├── CLAUDE.md
│ │ ├── docs
│ │ │ ├── design
│ │ │ │ ├── actions.md
│ │ │ │ ├── control_options.md
│ │ │ │ ├── design.md
│ │ │ │ ├── inference.md
│ │ │ │ └── PXL_20250814_190140267.jpg
│ │ │ ├── DEV_GUIDE.md
│ │ │ ├── how-kta-works.md
│ │ │ ├── JTBD.md
│ │ │ ├── knowledge-transfer-goals.md
│ │ │ ├── learning_assistance.md
│ │ │ ├── notable_claude_conversations
│ │ │ │ ├── clarifying_quad_modal_design.md
│ │ │ │ ├── CLAUDE_PROMPTS.md
│ │ │ │ ├── transfer_state.md
│ │ │ │ └── trying_the_context_agent.md
│ │ │ └── opportunities-of-knowledge-transfer.md
│ │ ├── knowledge-transfer-assistant.code-workspace
│ │ ├── Makefile
│ │ ├── pyproject.toml
│ │ ├── README.md
│ │ ├── tests
│ │ │ ├── __init__.py
│ │ │ ├── test_artifact_loading.py
│ │ │ ├── test_inspector.py
│ │ │ ├── test_share_manager.py
│ │ │ ├── test_share_storage.py
│ │ │ └── test_team_mode.py
│ │ └── uv.lock
│ ├── prospector-assistant
│ │ ├── .env.example
│ │ ├── .vscode
│ │ │ ├── launch.json
│ │ │ └── settings.json
│ │ ├── assistant
│ │ │ ├── __init__.py
│ │ │ ├── agents
│ │ │ │ ├── artifact_agent.py
│ │ │ │ ├── document
│ │ │ │ │ ├── config.py
│ │ │ │ │ ├── gc_draft_content_feedback_config.py
│ │ │ │ │ ├── gc_draft_outline_feedback_config.py
│ │ │ │ │ ├── guided_conversation.py
│ │ │ │ │ └── state.py
│ │ │ │ └── document_agent.py
│ │ │ ├── artifact_creation_extension
│ │ │ │ ├── __init__.py
│ │ │ │ ├── _llm.py
│ │ │ │ ├── config.py
│ │ │ │ ├── document.py
│ │ │ │ ├── extension.py
│ │ │ │ ├── store.py
│ │ │ │ ├── test
│ │ │ │ │ ├── conftest.py
│ │ │ │ │ ├── evaluation.py
│ │ │ │ │ ├── test_completion_with_tools.py
│ │ │ │ │ └── test_extension.py
│ │ │ │ └── tools.py
│ │ │ ├── chat.py
│ │ │ ├── config.py
│ │ │ ├── form_fill_extension
│ │ │ │ ├── __init__.py
│ │ │ │ ├── config.py
│ │ │ │ ├── extension.py
│ │ │ │ ├── inspector.py
│ │ │ │ ├── state.py
│ │ │ │ └── steps
│ │ │ │ ├── __init__.py
│ │ │ │ ├── _guided_conversation.py
│ │ │ │ ├── _llm.py
│ │ │ │ ├── acquire_form_step.py
│ │ │ │ ├── extract_form_fields_step.py
│ │ │ │ ├── fill_form_step.py
│ │ │ │ └── types.py
│ │ │ ├── helpers.py
│ │ │ ├── legacy.py
│ │ │ └── text_includes
│ │ │ ├── artifact_agent_enabled.md
│ │ │ ├── guardrails_prompt.txt
│ │ │ ├── guided_conversation_agent_enabled.md
│ │ │ └── skills_agent_enabled.md
│ │ ├── assistant.code-workspace
│ │ ├── gc_learnings
│ │ │ ├── gc_learnings.md
│ │ │ └── images
│ │ │ ├── gc_conversation_plan_fcn.png
│ │ │ ├── gc_conversation_plan_template.png
│ │ │ ├── gc_execute_plan_callstack.png
│ │ │ ├── gc_functions.png
│ │ │ ├── gc_generate_plan_callstack.png
│ │ │ ├── gc_get_resource_instructions.png
│ │ │ ├── gc_get_termination_instructions.png
│ │ │ ├── gc_kernel_arguments.png
│ │ │ ├── gc_plan_calls.png
│ │ │ ├── gc_termination_instructions.png
│ │ │ ├── sk_get_chat_message_contents.png
│ │ │ ├── sk_inner_get_chat_message_contents.png
│ │ │ ├── sk_send_request_prep.png
│ │ │ └── sk_send_request.png
│ │ ├── Makefile
│ │ ├── pyproject.toml
│ │ ├── README.md
│ │ └── uv.lock
│ └── skill-assistant
│ ├── .env.example
│ ├── .vscode
│ │ ├── launch.json
│ │ └── settings.json
│ ├── assistant
│ │ ├── __init__.py
│ │ ├── config.py
│ │ ├── logging.py
│ │ ├── skill_assistant.py
│ │ ├── skill_engine_registry.py
│ │ ├── skill_event_mapper.py
│ │ ├── text_includes
│ │ │ └── guardrails_prompt.txt
│ │ └── workbench_helpers.py
│ ├── assistant.code-workspace
│ ├── Makefile
│ ├── pyproject.toml
│ ├── README.md
│ ├── tests
│ │ └── test_setup.py
│ └── uv.lock
├── CLAUDE.md
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── docs
│ ├── .vscode
│ │ └── settings.json
│ ├── ASSISTANT_CONFIG.md
│ ├── ASSISTANT_DEVELOPMENT_GUIDE.md
│ ├── CUSTOM_APP_REGISTRATION.md
│ ├── HOSTED_ASSISTANT_WITH_LOCAL_MCP_SERVERS.md
│ ├── images
│ │ ├── architecture-animation.gif
│ │ ├── configure_assistant.png
│ │ ├── conversation_canvas_open.png
│ │ ├── conversation_duplicate.png
│ │ ├── conversation_export.png
│ │ ├── conversation_share_dialog.png
│ │ ├── conversation_share_link.png
│ │ ├── dashboard_configured_view.png
│ │ ├── dashboard_view.png
│ │ ├── license_agreement.png
│ │ ├── message_bar.png
│ │ ├── message_inspection.png
│ │ ├── message_link.png
│ │ ├── new_prospector_assistant_dialog.png
│ │ ├── open_conversation_canvas.png
│ │ ├── prospector_example.png
│ │ ├── readme1.png
│ │ ├── readme2.png
│ │ ├── readme3.png
│ │ ├── rewind.png
│ │ ├── signin_page.png
│ │ └── splash_screen.png
│ ├── LOCAL_ASSISTANT_WITH_REMOTE_WORKBENCH.md
│ ├── SETUP_DEV_ENVIRONMENT.md
│ └── WORKBENCH_APP.md
├── examples
│ ├── dotnet
│ │ ├── .editorconfig
│ │ ├── dotnet-01-echo-bot
│ │ │ ├── appsettings.json
│ │ │ ├── dotnet-01-echo-bot.csproj
│ │ │ ├── MyAgent.cs
│ │ │ ├── MyAgentConfig.cs
│ │ │ ├── MyWorkbenchConnector.cs
│ │ │ ├── Program.cs
│ │ │ └── README.md
│ │ ├── dotnet-02-message-types-demo
│ │ │ ├── appsettings.json
│ │ │ ├── ConnectorExtensions.cs
│ │ │ ├── docs
│ │ │ │ ├── abc.png
│ │ │ │ ├── code.png
│ │ │ │ ├── config.png
│ │ │ │ ├── echo.png
│ │ │ │ ├── markdown.png
│ │ │ │ ├── mermaid.png
│ │ │ │ ├── reverse.png
│ │ │ │ └── safety-check.png
│ │ │ ├── dotnet-02-message-types-demo.csproj
│ │ │ ├── MyAgent.cs
│ │ │ ├── MyAgentConfig.cs
│ │ │ ├── MyWorkbenchConnector.cs
│ │ │ ├── Program.cs
│ │ │ └── README.md
│ │ └── dotnet-03-simple-chatbot
│ │ ├── appsettings.json
│ │ ├── ConnectorExtensions.cs
│ │ ├── dotnet-03-simple-chatbot.csproj
│ │ ├── MyAgent.cs
│ │ ├── MyAgentConfig.cs
│ │ ├── MyWorkbenchConnector.cs
│ │ ├── Program.cs
│ │ └── README.md
│ ├── Makefile
│ └── python
│ ├── python-01-echo-bot
│ │ ├── .env.example
│ │ ├── .vscode
│ │ │ ├── launch.json
│ │ │ └── settings.json
│ │ ├── assistant
│ │ │ ├── __init__.py
│ │ │ ├── chat.py
│ │ │ └── config.py
│ │ ├── assistant.code-workspace
│ │ ├── Makefile
│ │ ├── pyproject.toml
│ │ ├── README.md
│ │ └── uv.lock
│ ├── python-02-simple-chatbot
│ │ ├── .env.example
│ │ ├── .vscode
│ │ │ ├── launch.json
│ │ │ └── settings.json
│ │ ├── assistant
│ │ │ ├── __init__.py
│ │ │ ├── chat.py
│ │ │ ├── config.py
│ │ │ └── text_includes
│ │ │ └── guardrails_prompt.txt
│ │ ├── assistant.code-workspace
│ │ ├── Makefile
│ │ ├── pyproject.toml
│ │ ├── README.md
│ │ └── uv.lock
│ └── python-03-multimodel-chatbot
│ ├── .env.example
│ ├── .vscode
│ │ ├── launch.json
│ │ └── settings.json
│ ├── assistant
│ │ ├── __init__.py
│ │ ├── chat.py
│ │ ├── config.py
│ │ ├── model_adapters.py
│ │ └── text_includes
│ │ └── guardrails_prompt.txt
│ ├── assistant.code-workspace
│ ├── Makefile
│ ├── pyproject.toml
│ ├── README.md
│ └── uv.lock
├── KNOWN_ISSUES.md
├── libraries
│ ├── dotnet
│ │ ├── .editorconfig
│ │ ├── pack.sh
│ │ ├── README.md
│ │ ├── SemanticWorkbench.sln
│ │ ├── SemanticWorkbench.sln.DotSettings
│ │ └── WorkbenchConnector
│ │ ├── AgentBase.cs
│ │ ├── AgentConfig
│ │ │ ├── AgentConfigBase.cs
│ │ │ ├── AgentConfigPropertyAttribute.cs
│ │ │ └── ConfigUtils.cs
│ │ ├── Constants.cs
│ │ ├── IAgentBase.cs
│ │ ├── icon.png
│ │ ├── Models
│ │ │ ├── Command.cs
│ │ │ ├── Conversation.cs
│ │ │ ├── ConversationEvent.cs
│ │ │ ├── DebugInfo.cs
│ │ │ ├── Insight.cs
│ │ │ ├── Message.cs
│ │ │ ├── MessageMetadata.cs
│ │ │ ├── Participant.cs
│ │ │ ├── Sender.cs
│ │ │ └── ServiceInfo.cs
│ │ ├── Storage
│ │ │ ├── AgentInfo.cs
│ │ │ ├── AgentServiceStorage.cs
│ │ │ └── IAgentServiceStorage.cs
│ │ ├── StringLoggingExtensions.cs
│ │ ├── Webservice.cs
│ │ ├── WorkbenchConfig.cs
│ │ ├── WorkbenchConnector.cs
│ │ └── WorkbenchConnector.csproj
│ ├── Makefile
│ └── python
│ ├── anthropic-client
│ │ ├── .vscode
│ │ │ └── settings.json
│ │ ├── anthropic_client
│ │ │ ├── __init__.py
│ │ │ ├── client.py
│ │ │ ├── config.py
│ │ │ └── messages.py
│ │ ├── Makefile
│ │ ├── pyproject.toml
│ │ ├── README.md
│ │ └── uv.lock
│ ├── assistant-data-gen
│ │ ├── .vscode
│ │ │ ├── launch.json
│ │ │ └── settings.json
│ │ ├── assistant_data_gen
│ │ │ ├── __init__.py
│ │ │ ├── assistant_api.py
│ │ │ ├── config.py
│ │ │ ├── gce
│ │ │ │ ├── __init__.py
│ │ │ │ ├── gce_agent.py
│ │ │ │ └── prompts.py
│ │ │ └── pydantic_ai_utils.py
│ │ ├── configs
│ │ │ └── document_assistant_example_config.yaml
│ │ ├── Makefile
│ │ ├── pyproject.toml
│ │ ├── README.md
│ │ ├── scripts
│ │ │ ├── gce_simulation.py
│ │ │ └── generate_scenario.py
│ │ └── uv.lock
│ ├── assistant-drive
│ │ ├── .gitignore
│ │ ├── .vscode
│ │ │ ├── extensions.json
│ │ │ └── settings.json
│ │ ├── assistant_drive
│ │ │ ├── __init__.py
│ │ │ ├── drive.py
│ │ │ └── tests
│ │ │ └── test_basic.py
│ │ ├── Makefile
│ │ ├── pyproject.toml
│ │ ├── pytest.ini
│ │ ├── README.md
│ │ ├── usage.ipynb
│ │ └── uv.lock
│ ├── assistant-extensions
│ │ ├── .vscode
│ │ │ └── settings.json
│ │ ├── assistant_extensions
│ │ │ ├── __init__.py
│ │ │ ├── ai_clients
│ │ │ │ └── config.py
│ │ │ ├── artifacts
│ │ │ │ ├── __init__.py
│ │ │ │ ├── _artifacts.py
│ │ │ │ ├── _inspector.py
│ │ │ │ └── _model.py
│ │ │ ├── attachments
│ │ │ │ ├── __init__.py
│ │ │ │ ├── _attachments.py
│ │ │ │ ├── _convert.py
│ │ │ │ ├── _model.py
│ │ │ │ ├── _shared.py
│ │ │ │ └── _summarizer.py
│ │ │ ├── chat_context_toolkit
│ │ │ │ ├── __init__.py
│ │ │ │ ├── _config.py
│ │ │ │ ├── archive
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── _archive.py
│ │ │ │ │ └── _summarizer.py
│ │ │ │ ├── message_history
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── _history.py
│ │ │ │ │ └── _message.py
│ │ │ │ └── virtual_filesystem
│ │ │ │ ├── __init__.py
│ │ │ │ ├── _archive_file_source.py
│ │ │ │ └── _attachments_file_source.py
│ │ │ ├── dashboard_card
│ │ │ │ ├── __init__.py
│ │ │ │ └── _dashboard_card.py
│ │ │ ├── document_editor
│ │ │ │ ├── __init__.py
│ │ │ │ ├── _extension.py
│ │ │ │ ├── _inspector.py
│ │ │ │ └── _model.py
│ │ │ ├── mcp
│ │ │ │ ├── __init__.py
│ │ │ │ ├── _assistant_file_resource_handler.py
│ │ │ │ ├── _client_utils.py
│ │ │ │ ├── _devtunnel.py
│ │ │ │ ├── _model.py
│ │ │ │ ├── _openai_utils.py
│ │ │ │ ├── _sampling_handler.py
│ │ │ │ ├── _tool_utils.py
│ │ │ │ └── _workbench_file_resource_handler.py
│ │ │ ├── navigator
│ │ │ │ ├── __init__.py
│ │ │ │ └── _navigator.py
│ │ │ └── workflows
│ │ │ ├── __init__.py
│ │ │ ├── _model.py
│ │ │ ├── _workflows.py
│ │ │ └── runners
│ │ │ └── _user_proxy.py
│ │ ├── Makefile
│ │ ├── pyproject.toml
│ │ ├── README.md
│ │ ├── test
│ │ │ └── attachments
│ │ │ └── test_attachments.py
│ │ └── uv.lock
│ ├── chat-context-toolkit
│ │ ├── .claude
│ │ │ └── settings.local.json
│ │ ├── .env.sample
│ │ ├── .vscode
│ │ │ └── settings.json
│ │ ├── assets
│ │ │ ├── archive_v1.png
│ │ │ ├── history_v1.png
│ │ │ └── vfs_v1.png
│ │ ├── chat_context_toolkit
│ │ │ ├── __init__.py
│ │ │ ├── archive
│ │ │ │ ├── __init__.py
│ │ │ │ ├── _archive_reader.py
│ │ │ │ ├── _archive_task_queue.py
│ │ │ │ ├── _state.py
│ │ │ │ ├── _types.py
│ │ │ │ └── summarization
│ │ │ │ ├── __init__.py
│ │ │ │ └── _summarizer.py
│ │ │ ├── history
│ │ │ │ ├── __init__.py
│ │ │ │ ├── _budget.py
│ │ │ │ ├── _decorators.py
│ │ │ │ ├── _history.py
│ │ │ │ ├── _prioritize.py
│ │ │ │ ├── _types.py
│ │ │ │ └── tool_abbreviations
│ │ │ │ ├── __init__.py
│ │ │ │ └── _tool_abbreviations.py
│ │ │ └── virtual_filesystem
│ │ │ ├── __init__.py
│ │ │ ├── _types.py
│ │ │ ├── _virtual_filesystem.py
│ │ │ ├── README.md
│ │ │ └── tools
│ │ │ ├── __init__.py
│ │ │ ├── _ls_tool.py
│ │ │ ├── _tools.py
│ │ │ └── _view_tool.py
│ │ ├── CLAUDE.md
│ │ ├── Makefile
│ │ ├── pyproject.toml
│ │ ├── README.md
│ │ ├── test
│ │ │ ├── archive
│ │ │ │ └── test_archive_reader.py
│ │ │ ├── history
│ │ │ │ ├── test_abbreviate_messages.py
│ │ │ │ ├── test_history.py
│ │ │ │ ├── test_pair_and_order_tool_messages.py
│ │ │ │ ├── test_prioritize.py
│ │ │ │ └── test_truncate_messages.py
│ │ │ └── virtual_filesystem
│ │ │ ├── test_virtual_filesystem.py
│ │ │ └── tools
│ │ │ ├── test_ls_tool.py
│ │ │ ├── test_tools.py
│ │ │ └── test_view_tool.py
│ │ └── uv.lock
│ ├── content-safety
│ │ ├── .vscode
│ │ │ └── settings.json
│ │ ├── content_safety
│ │ │ ├── __init__.py
│ │ │ ├── evaluators
│ │ │ │ ├── __init__.py
│ │ │ │ ├── azure_content_safety
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── config.py
│ │ │ │ │ └── evaluator.py
│ │ │ │ ├── config.py
│ │ │ │ ├── evaluator.py
│ │ │ │ └── openai_moderations
│ │ │ │ ├── __init__.py
│ │ │ │ ├── config.py
│ │ │ │ └── evaluator.py
│ │ │ └── README.md
│ │ ├── Makefile
│ │ ├── pyproject.toml
│ │ ├── README.md
│ │ └── uv.lock
│ ├── events
│ │ ├── .vscode
│ │ │ └── settings.json
│ │ ├── events
│ │ │ ├── __init__.py
│ │ │ └── events.py
│ │ ├── Makefile
│ │ ├── pyproject.toml
│ │ ├── README.md
│ │ └── uv.lock
│ ├── guided-conversation
│ │ ├── .vscode
│ │ │ └── settings.json
│ │ ├── guided_conversation
│ │ │ ├── __init__.py
│ │ │ ├── functions
│ │ │ │ ├── __init__.py
│ │ │ │ ├── conversation_plan.py
│ │ │ │ ├── execution.py
│ │ │ │ └── final_update_plan.py
│ │ │ ├── guided_conversation_agent.py
│ │ │ ├── plugins
│ │ │ │ ├── __init__.py
│ │ │ │ ├── agenda.py
│ │ │ │ └── artifact.py
│ │ │ └── utils
│ │ │ ├── __init__.py
│ │ │ ├── base_model_llm.py
│ │ │ ├── conversation_helpers.py
│ │ │ ├── openai_tool_calling.py
│ │ │ ├── plugin_helpers.py
│ │ │ └── resources.py
│ │ ├── Makefile
│ │ ├── pyproject.toml
│ │ ├── README.md
│ │ └── uv.lock
│ ├── llm-client
│ │ ├── .vscode
│ │ │ └── settings.json
│ │ ├── llm_client
│ │ │ ├── __init__.py
│ │ │ └── model.py
│ │ ├── Makefile
│ │ ├── pyproject.toml
│ │ ├── README.md
│ │ └── uv.lock
│ ├── Makefile
│ ├── mcp-extensions
│ │ ├── .vscode
│ │ │ └── settings.json
│ │ ├── Makefile
│ │ ├── mcp_extensions
│ │ │ ├── __init__.py
│ │ │ ├── _client_session.py
│ │ │ ├── _model.py
│ │ │ ├── _sampling.py
│ │ │ ├── _server_extensions.py
│ │ │ ├── _tool_utils.py
│ │ │ ├── llm
│ │ │ │ ├── __init__.py
│ │ │ │ ├── chat_completion.py
│ │ │ │ ├── helpers.py
│ │ │ │ ├── llm_types.py
│ │ │ │ ├── mcp_chat_completion.py
│ │ │ │ └── openai_chat_completion.py
│ │ │ └── server
│ │ │ ├── __init__.py
│ │ │ └── storage.py
│ │ ├── pyproject.toml
│ │ ├── README.md
│ │ ├── tests
│ │ │ └── test_tool_utils.py
│ │ └── uv.lock
│ ├── mcp-tunnel
│ │ ├── .vscode
│ │ │ └── settings.json
│ │ ├── Makefile
│ │ ├── mcp_tunnel
│ │ │ ├── __init__.py
│ │ │ ├── _devtunnel.py
│ │ │ ├── _dir.py
│ │ │ └── _main.py
│ │ ├── pyproject.toml
│ │ ├── README.md
│ │ └── uv.lock
│ ├── openai-client
│ │ ├── .vscode
│ │ │ └── settings.json
│ │ ├── Makefile
│ │ ├── openai_client
│ │ │ ├── __init__.py
│ │ │ ├── chat_driver
│ │ │ │ ├── __init__.py
│ │ │ │ ├── chat_driver.ipynb
│ │ │ │ ├── chat_driver.py
│ │ │ │ ├── message_history_providers
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── in_memory_message_history_provider.py
│ │ │ │ │ ├── local_message_history_provider.py
│ │ │ │ │ ├── message_history_provider.py
│ │ │ │ │ └── tests
│ │ │ │ │ └── formatted_instructions_test.py
│ │ │ │ └── README.md
│ │ │ ├── client.py
│ │ │ ├── completion.py
│ │ │ ├── config.py
│ │ │ ├── errors.py
│ │ │ ├── logging.py
│ │ │ ├── messages.py
│ │ │ ├── tokens.py
│ │ │ └── tools.py
│ │ ├── pyproject.toml
│ │ ├── README.md
│ │ ├── tests
│ │ │ ├── test_command_parsing.py
│ │ │ ├── test_formatted_messages.py
│ │ │ ├── test_messages.py
│ │ │ └── test_tokens.py
│ │ └── uv.lock
│ ├── semantic-workbench-api-model
│ │ ├── .vscode
│ │ │ └── settings.json
│ │ ├── Makefile
│ │ ├── pyproject.toml
│ │ ├── README.md
│ │ ├── semantic_workbench_api_model
│ │ │ ├── __init__.py
│ │ │ ├── assistant_model.py
│ │ │ ├── assistant_service_client.py
│ │ │ ├── workbench_model.py
│ │ │ └── workbench_service_client.py
│ │ └── uv.lock
│ ├── semantic-workbench-assistant
│ │ ├── .vscode
│ │ │ ├── launch.json
│ │ │ └── settings.json
│ │ ├── Makefile
│ │ ├── pyproject.toml
│ │ ├── README.md
│ │ ├── semantic_workbench_assistant
│ │ │ ├── __init__.py
│ │ │ ├── assistant_app
│ │ │ │ ├── __init__.py
│ │ │ │ ├── assistant.py
│ │ │ │ ├── config.py
│ │ │ │ ├── content_safety.py
│ │ │ │ ├── context.py
│ │ │ │ ├── error.py
│ │ │ │ ├── export_import.py
│ │ │ │ ├── protocol.py
│ │ │ │ └── service.py
│ │ │ ├── assistant_service.py
│ │ │ ├── auth.py
│ │ │ ├── canonical.py
│ │ │ ├── command.py
│ │ │ ├── config.py
│ │ │ ├── logging_config.py
│ │ │ ├── settings.py
│ │ │ ├── start.py
│ │ │ └── storage.py
│ │ ├── tests
│ │ │ ├── conftest.py
│ │ │ ├── test_assistant_app.py
│ │ │ ├── test_canonical.py
│ │ │ ├── test_config.py
│ │ │ └── test_storage.py
│ │ └── uv.lock
│ └── skills
│ ├── .vscode
│ │ └── settings.json
│ ├── Makefile
│ ├── README.md
│ └── skill-library
│ ├── .vscode
│ │ └── settings.json
│ ├── docs
│ │ └── vs-recipe-tool.md
│ ├── Makefile
│ ├── pyproject.toml
│ ├── README.md
│ ├── skill_library
│ │ ├── __init__.py
│ │ ├── chat_driver_helpers.py
│ │ ├── cli
│ │ │ ├── azure_openai.py
│ │ │ ├── conversation_history.py
│ │ │ ├── README.md
│ │ │ ├── run_routine.py
│ │ │ ├── settings.py
│ │ │ └── skill_logger.py
│ │ ├── engine.py
│ │ ├── llm_info.txt
│ │ ├── logging.py
│ │ ├── README.md
│ │ ├── routine_stack.py
│ │ ├── skill.py
│ │ ├── skills
│ │ │ ├── common
│ │ │ │ ├── __init__.py
│ │ │ │ ├── common_skill.py
│ │ │ │ └── routines
│ │ │ │ ├── bing_search.py
│ │ │ │ ├── consolidate.py
│ │ │ │ ├── echo.py
│ │ │ │ ├── gather_context.py
│ │ │ │ ├── get_content_from_url.py
│ │ │ │ ├── gpt_complete.py
│ │ │ │ ├── select_user_intent.py
│ │ │ │ └── summarize.py
│ │ │ ├── eval
│ │ │ │ ├── __init__.py
│ │ │ │ ├── eval_skill.py
│ │ │ │ └── routines
│ │ │ │ └── eval.py
│ │ │ ├── fabric
│ │ │ │ ├── __init__.py
│ │ │ │ ├── fabric_skill.py
│ │ │ │ ├── patterns
│ │ │ │ │ ├── agility_story
│ │ │ │ │ │ ├── system.md
│ │ │ │ │ │ └── user.md
│ │ │ │ │ ├── ai
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── analyze_answers
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── analyze_candidates
│ │ │ │ │ │ ├── system.md
│ │ │ │ │ │ └── user.md
│ │ │ │ │ ├── analyze_cfp_submission
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── analyze_claims
│ │ │ │ │ │ ├── system.md
│ │ │ │ │ │ └── user.md
│ │ │ │ │ ├── analyze_comments
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── analyze_debate
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── analyze_email_headers
│ │ │ │ │ │ ├── system.md
│ │ │ │ │ │ └── user.md
│ │ │ │ │ ├── analyze_incident
│ │ │ │ │ │ ├── system.md
│ │ │ │ │ │ └── user.md
│ │ │ │ │ ├── analyze_interviewer_techniques
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── analyze_logs
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── analyze_malware
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── analyze_military_strategy
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── analyze_mistakes
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── analyze_paper
│ │ │ │ │ │ ├── system.md
│ │ │ │ │ │ └── user.md
│ │ │ │ │ ├── analyze_patent
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── analyze_personality
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── analyze_presentation
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── analyze_product_feedback
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── analyze_proposition
│ │ │ │ │ │ ├── system.md
│ │ │ │ │ │ └── user.md
│ │ │ │ │ ├── analyze_prose
│ │ │ │ │ │ ├── system.md
│ │ │ │ │ │ └── user.md
│ │ │ │ │ ├── analyze_prose_json
│ │ │ │ │ │ ├── system.md
│ │ │ │ │ │ └── user.md
│ │ │ │ │ ├── analyze_prose_pinker
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── analyze_risk
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── analyze_sales_call
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── analyze_spiritual_text
│ │ │ │ │ │ ├── system.md
│ │ │ │ │ │ └── user.md
│ │ │ │ │ ├── analyze_tech_impact
│ │ │ │ │ │ ├── system.md
│ │ │ │ │ │ └── user.md
│ │ │ │ │ ├── analyze_threat_report
│ │ │ │ │ │ ├── system.md
│ │ │ │ │ │ └── user.md
│ │ │ │ │ ├── analyze_threat_report_cmds
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── analyze_threat_report_trends
│ │ │ │ │ │ ├── system.md
│ │ │ │ │ │ └── user.md
│ │ │ │ │ ├── answer_interview_question
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── ask_secure_by_design_questions
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── ask_uncle_duke
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── capture_thinkers_work
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── check_agreement
│ │ │ │ │ │ ├── system.md
│ │ │ │ │ │ └── user.md
│ │ │ │ │ ├── clean_text
│ │ │ │ │ │ ├── system.md
│ │ │ │ │ │ └── user.md
│ │ │ │ │ ├── coding_master
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── compare_and_contrast
│ │ │ │ │ │ ├── system.md
│ │ │ │ │ │ └── user.md
│ │ │ │ │ ├── convert_to_markdown
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── create_5_sentence_summary
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── create_academic_paper
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── create_ai_jobs_analysis
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── create_aphorisms
│ │ │ │ │ │ ├── system.md
│ │ │ │ │ │ └── user.md
│ │ │ │ │ ├── create_art_prompt
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── create_better_frame
│ │ │ │ │ │ ├── system.md
│ │ │ │ │ │ └── user.md
│ │ │ │ │ ├── create_coding_project
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── create_command
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── system.md
│ │ │ │ │ │ └── user.md
│ │ │ │ │ ├── create_cyber_summary
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── create_design_document
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── create_diy
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── create_formal_email
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── create_git_diff_commit
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── create_graph_from_input
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── create_hormozi_offer
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── create_idea_compass
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── create_investigation_visualization
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── create_keynote
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── create_logo
│ │ │ │ │ │ ├── system.md
│ │ │ │ │ │ └── user.md
│ │ │ │ │ ├── create_markmap_visualization
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── create_mermaid_visualization
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── create_mermaid_visualization_for_github
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── create_micro_summary
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── create_network_threat_landscape
│ │ │ │ │ │ ├── system.md
│ │ │ │ │ │ └── user.md
│ │ │ │ │ ├── create_newsletter_entry
│ │ │ │ │ │ ├── system.md
│ │ │ │ │ │ └── user.md
│ │ │ │ │ ├── create_npc
│ │ │ │ │ │ ├── system.md
│ │ │ │ │ │ └── user.md
│ │ │ │ │ ├── create_pattern
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── create_prd
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── create_prediction_block
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── create_quiz
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── create_reading_plan
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── create_recursive_outline
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── create_report_finding
│ │ │ │ │ │ ├── system.md
│ │ │ │ │ │ └── user.md
│ │ │ │ │ ├── create_rpg_summary
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── create_security_update
│ │ │ │ │ │ ├── system.md
│ │ │ │ │ │ └── user.md
│ │ │ │ │ ├── create_show_intro
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── create_sigma_rules
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── create_story_explanation
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── create_stride_threat_model
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── create_summary
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── create_tags
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── create_threat_scenarios
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── create_ttrc_graph
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── create_ttrc_narrative
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── create_upgrade_pack
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── create_user_story
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── create_video_chapters
│ │ │ │ │ │ ├── system.md
│ │ │ │ │ │ └── user.md
│ │ │ │ │ ├── create_visualization
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── dialog_with_socrates
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── enrich_blog_post
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── explain_code
│ │ │ │ │ │ ├── system.md
│ │ │ │ │ │ └── user.md
│ │ │ │ │ ├── explain_docs
│ │ │ │ │ │ ├── system.md
│ │ │ │ │ │ └── user.md
│ │ │ │ │ ├── explain_math
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── explain_project
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── explain_terms
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── export_data_as_csv
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── extract_algorithm_update_recommendations
│ │ │ │ │ │ ├── system.md
│ │ │ │ │ │ └── user.md
│ │ │ │ │ ├── extract_article_wisdom
│ │ │ │ │ │ ├── dmiessler
│ │ │ │ │ │ │ └── extract_wisdom-1.0.0
│ │ │ │ │ │ │ ├── system.md
│ │ │ │ │ │ │ └── user.md
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── system.md
│ │ │ │ │ │ └── user.md
│ │ │ │ │ ├── extract_book_ideas
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── extract_book_recommendations
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── extract_business_ideas
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── extract_controversial_ideas
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── extract_core_message
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── extract_ctf_writeup
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── extract_domains
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── extract_extraordinary_claims
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── extract_ideas
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── extract_insights
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── extract_insights_dm
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── extract_instructions
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── extract_jokes
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── extract_latest_video
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── extract_main_idea
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── extract_most_redeeming_thing
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── extract_patterns
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── extract_poc
│ │ │ │ │ │ ├── system.md
│ │ │ │ │ │ └── user.md
│ │ │ │ │ ├── extract_predictions
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── extract_primary_problem
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── extract_primary_solution
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── extract_product_features
│ │ │ │ │ │ ├── dmiessler
│ │ │ │ │ │ │ └── extract_wisdom-1.0.0
│ │ │ │ │ │ │ ├── system.md
│ │ │ │ │ │ │ └── user.md
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── extract_questions
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── extract_recipe
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── extract_recommendations
│ │ │ │ │ │ ├── system.md
│ │ │ │ │ │ └── user.md
│ │ │ │ │ ├── extract_references
│ │ │ │ │ │ ├── system.md
│ │ │ │ │ │ └── user.md
│ │ │ │ │ ├── extract_skills
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── extract_song_meaning
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── extract_sponsors
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── extract_videoid
│ │ │ │ │ │ ├── system.md
│ │ │ │ │ │ └── user.md
│ │ │ │ │ ├── extract_wisdom
│ │ │ │ │ │ ├── dmiessler
│ │ │ │ │ │ │ └── extract_wisdom-1.0.0
│ │ │ │ │ │ │ ├── system.md
│ │ │ │ │ │ │ └── user.md
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── extract_wisdom_agents
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── extract_wisdom_dm
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── extract_wisdom_nometa
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── find_hidden_message
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── find_logical_fallacies
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── get_wow_per_minute
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── get_youtube_rss
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── humanize
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── identify_dsrp_distinctions
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── identify_dsrp_perspectives
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── identify_dsrp_relationships
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── identify_dsrp_systems
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── identify_job_stories
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── improve_academic_writing
│ │ │ │ │ │ ├── system.md
│ │ │ │ │ │ └── user.md
│ │ │ │ │ ├── improve_prompt
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── improve_report_finding
│ │ │ │ │ │ ├── system.md
│ │ │ │ │ │ └── user.md
│ │ │ │ │ ├── improve_writing
│ │ │ │ │ │ ├── system.md
│ │ │ │ │ │ └── user.md
│ │ │ │ │ ├── judge_output
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── label_and_rate
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── loaded
│ │ │ │ │ ├── md_callout
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── official_pattern_template
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── pattern_explanations.md
│ │ │ │ │ ├── prepare_7s_strategy
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── provide_guidance
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── rate_ai_response
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── rate_ai_result
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── rate_content
│ │ │ │ │ │ ├── system.md
│ │ │ │ │ │ └── user.md
│ │ │ │ │ ├── rate_value
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── system.md
│ │ │ │ │ │ └── user.md
│ │ │ │ │ ├── raw_query
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── raycast
│ │ │ │ │ │ ├── capture_thinkers_work
│ │ │ │ │ │ ├── create_story_explanation
│ │ │ │ │ │ ├── extract_primary_problem
│ │ │ │ │ │ ├── extract_wisdom
│ │ │ │ │ │ └── yt
│ │ │ │ │ ├── recommend_artists
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── recommend_pipeline_upgrades
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── recommend_talkpanel_topics
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── refine_design_document
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── review_design
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── sanitize_broken_html_to_markdown
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── show_fabric_options_markmap
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── solve_with_cot
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── stringify
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── suggest_pattern
│ │ │ │ │ │ ├── system.md
│ │ │ │ │ │ └── user.md
│ │ │ │ │ ├── summarize
│ │ │ │ │ │ ├── dmiessler
│ │ │ │ │ │ │ └── summarize
│ │ │ │ │ │ │ ├── system.md
│ │ │ │ │ │ │ └── user.md
│ │ │ │ │ │ ├── system.md
│ │ │ │ │ │ └── user.md
│ │ │ │ │ ├── summarize_debate
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── summarize_git_changes
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── summarize_git_diff
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── summarize_lecture
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── summarize_legislation
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── summarize_meeting
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── summarize_micro
│ │ │ │ │ │ ├── system.md
│ │ │ │ │ │ └── user.md
│ │ │ │ │ ├── summarize_newsletter
│ │ │ │ │ │ ├── system.md
│ │ │ │ │ │ └── user.md
│ │ │ │ │ ├── summarize_paper
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── system.md
│ │ │ │ │ │ └── user.md
│ │ │ │ │ ├── summarize_prompt
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── summarize_pull-requests
│ │ │ │ │ │ ├── system.md
│ │ │ │ │ │ └── user.md
│ │ │ │ │ ├── summarize_rpg_session
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── t_analyze_challenge_handling
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── t_check_metrics
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── t_create_h3_career
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── t_create_opening_sentences
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── t_describe_life_outlook
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── t_extract_intro_sentences
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── t_extract_panel_topics
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── t_find_blindspots
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── t_find_negative_thinking
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── t_find_neglected_goals
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── t_give_encouragement
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── t_red_team_thinking
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── t_threat_model_plans
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── t_visualize_mission_goals_projects
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── t_year_in_review
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── to_flashcards
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── transcribe_minutes
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── translate
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── tweet
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── write_essay
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── write_hackerone_report
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── write_latex
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── write_micro_essay
│ │ │ │ │ │ └── system.md
│ │ │ │ │ ├── write_nuclei_template_rule
│ │ │ │ │ │ ├── system.md
│ │ │ │ │ │ └── user.md
│ │ │ │ │ ├── write_pull-request
│ │ │ │ │ │ └── system.md
│ │ │ │ │ └── write_semgrep_rule
│ │ │ │ │ ├── system.md
│ │ │ │ │ └── user.md
│ │ │ │ └── routines
│ │ │ │ ├── list.py
│ │ │ │ ├── run.py
│ │ │ │ └── show.py
│ │ │ ├── guided_conversation
│ │ │ │ ├── __init__.py
│ │ │ │ ├── agenda.py
│ │ │ │ ├── artifact_helpers.py
│ │ │ │ ├── chat_completions
│ │ │ │ │ ├── fix_agenda_error.py
│ │ │ │ │ ├── fix_artifact_error.py
│ │ │ │ │ ├── generate_agenda.py
│ │ │ │ │ ├── generate_artifact_updates.py
│ │ │ │ │ ├── generate_final_artifact.py
│ │ │ │ │ └── generate_message.py
│ │ │ │ ├── conversation_guides
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── acrostic_poem.py
│ │ │ │ │ ├── er_triage.py
│ │ │ │ │ ├── interview.py
│ │ │ │ │ └── patient_intake.py
│ │ │ │ ├── guide.py
│ │ │ │ ├── guided_conversation_skill.py
│ │ │ │ ├── logging.py
│ │ │ │ ├── message.py
│ │ │ │ ├── resources.py
│ │ │ │ ├── routines
│ │ │ │ │ └── guided_conversation.py
│ │ │ │ └── tests
│ │ │ │ ├── conftest.py
│ │ │ │ ├── test_artifact_helpers.py
│ │ │ │ ├── test_generate_agenda.py
│ │ │ │ ├── test_generate_artifact_updates.py
│ │ │ │ ├── test_generate_final_artifact.py
│ │ │ │ └── test_resource.py
│ │ │ ├── meta
│ │ │ │ ├── __init__.py
│ │ │ │ ├── meta_skill.py
│ │ │ │ ├── README.md
│ │ │ │ └── routines
│ │ │ │ └── generate_routine.py
│ │ │ ├── posix
│ │ │ │ ├── __init__.py
│ │ │ │ ├── posix_skill.py
│ │ │ │ ├── routines
│ │ │ │ │ ├── append_file.py
│ │ │ │ │ ├── cd.py
│ │ │ │ │ ├── ls.py
│ │ │ │ │ ├── make_home_dir.py
│ │ │ │ │ ├── mkdir.py
│ │ │ │ │ ├── mv.py
│ │ │ │ │ ├── pwd.py
│ │ │ │ │ ├── read_file.py
│ │ │ │ │ ├── rm.py
│ │ │ │ │ ├── touch.py
│ │ │ │ │ └── write_file.py
│ │ │ │ └── sandbox_shell.py
│ │ │ ├── README.md
│ │ │ ├── research
│ │ │ │ ├── __init__.py
│ │ │ │ ├── README.md
│ │ │ │ ├── research_skill.py
│ │ │ │ └── routines
│ │ │ │ ├── answer_question_about_content.py
│ │ │ │ ├── evaluate_answer.py
│ │ │ │ ├── generate_research_plan.py
│ │ │ │ ├── generate_search_query.py
│ │ │ │ ├── update_research_plan.py
│ │ │ │ ├── web_research.py
│ │ │ │ └── web_search.py
│ │ │ ├── research2
│ │ │ │ ├── __init__.py
│ │ │ │ ├── README.md
│ │ │ │ ├── research_skill.py
│ │ │ │ └── routines
│ │ │ │ ├── facts.py
│ │ │ │ ├── make_final_report.py
│ │ │ │ ├── research.py
│ │ │ │ ├── search_plan.py
│ │ │ │ ├── search.py
│ │ │ │ └── visit_pages.py
│ │ │ └── web_research
│ │ │ ├── __init__.py
│ │ │ ├── README.md
│ │ │ ├── research_skill.py
│ │ │ └── routines
│ │ │ ├── facts.py
│ │ │ ├── make_final_report.py
│ │ │ ├── research.py
│ │ │ ├── search_plan.py
│ │ │ ├── search.py
│ │ │ └── visit_pages.py
│ │ ├── tests
│ │ │ ├── test_common_skill.py
│ │ │ ├── test_integration.py
│ │ │ ├── test_routine_stack.py
│ │ │ ├── tst_skill
│ │ │ │ ├── __init__.py
│ │ │ │ └── routines
│ │ │ │ ├── __init__.py
│ │ │ │ └── a_routine.py
│ │ │ └── utilities
│ │ │ ├── test_find_template_vars.py
│ │ │ ├── test_make_arg_set.py
│ │ │ ├── test_paramspec.py
│ │ │ ├── test_parse_command_string.py
│ │ │ └── test_to_string.py
│ │ ├── types.py
│ │ ├── usage.py
│ │ └── utilities.py
│ └── uv.lock
├── LICENSE
├── Makefile
├── mcp-servers
│ ├── ai-assist-content
│ │ ├── .vscode
│ │ │ └── settings.json
│ │ ├── mcp-example-brave-search.md
│ │ ├── mcp-fastmcp-typescript-README.md
│ │ ├── mcp-llms-full.txt
│ │ ├── mcp-metadata-tips.md
│ │ ├── mcp-python-sdk-README.md
│ │ ├── mcp-typescript-sdk-README.md
│ │ ├── pydanticai-documentation.md
│ │ ├── pydanticai-example-question-graph.md
│ │ ├── pydanticai-example-weather.md
│ │ ├── pydanticai-tutorial.md
│ │ └── README.md
│ ├── Makefile
│ ├── mcp-server-bing-search
│ │ ├── .env.example
│ │ ├── .gitignore
│ │ ├── .vscode
│ │ │ ├── launch.json
│ │ │ └── settings.json
│ │ ├── Makefile
│ │ ├── mcp_server_bing_search
│ │ │ ├── __init__.py
│ │ │ ├── config.py
│ │ │ ├── prompts
│ │ │ │ ├── __init__.py
│ │ │ │ ├── clean_website.py
│ │ │ │ └── filter_links.py
│ │ │ ├── server.py
│ │ │ ├── start.py
│ │ │ ├── tools.py
│ │ │ ├── types.py
│ │ │ ├── utils.py
│ │ │ └── web
│ │ │ ├── __init__.py
│ │ │ ├── get_content.py
│ │ │ ├── llm_processing.py
│ │ │ ├── process_website.py
│ │ │ └── search_bing.py
│ │ ├── pyproject.toml
│ │ ├── README.md
│ │ ├── tests
│ │ │ └── test_tools.py
│ │ └── uv.lock
│ ├── mcp-server-bundle
│ │ ├── .vscode
│ │ │ ├── launch.json
│ │ │ └── settings.json
│ │ ├── Makefile
│ │ ├── mcp_server_bundle
│ │ │ ├── __init__.py
│ │ │ └── main.py
│ │ ├── pyinstaller.spec
│ │ ├── pyproject.toml
│ │ ├── README.md
│ │ └── uv.lock
│ ├── mcp-server-filesystem
│ │ ├── .env.example
│ │ ├── .github
│ │ │ └── workflows
│ │ │ └── ci.yml
│ │ ├── .gitignore
│ │ ├── .vscode
│ │ │ ├── launch.json
│ │ │ └── settings.json
│ │ ├── Makefile
│ │ ├── mcp_server_filesystem
│ │ │ ├── __init__.py
│ │ │ ├── config.py
│ │ │ ├── server.py
│ │ │ └── start.py
│ │ ├── pyproject.toml
│ │ ├── README.md
│ │ ├── tests
│ │ │ └── test_filesystem.py
│ │ └── uv.lock
│ ├── mcp-server-filesystem-edit
│ │ ├── .env.example
│ │ ├── .gitignore
│ │ ├── .vscode
│ │ │ ├── launch.json
│ │ │ └── settings.json
│ │ ├── data
│ │ │ ├── attachments
│ │ │ │ ├── Daily Game Ideas.txt
│ │ │ │ ├── Frontend Framework Proposal.txt
│ │ │ │ ├── ReDoodle.txt
│ │ │ │ └── Research Template.tex
│ │ │ ├── test_cases.yaml
│ │ │ └── transcripts
│ │ │ ├── transcript_research_simple.md
│ │ │ ├── transcript_Startup_Idea_1_202503031513.md
│ │ │ ├── transcript_Startup_Idea_2_202503031659.md
│ │ │ └── transcript_Web_Frontends_202502281551.md
│ │ ├── Makefile
│ │ ├── mcp_server_filesystem_edit
│ │ │ ├── __init__.py
│ │ │ ├── app_handling
│ │ │ │ ├── __init__.py
│ │ │ │ ├── excel.py
│ │ │ │ ├── miktex.py
│ │ │ │ ├── office_common.py
│ │ │ │ ├── powerpoint.py
│ │ │ │ └── word.py
│ │ │ ├── config.py
│ │ │ ├── evals
│ │ │ │ ├── __init__.py
│ │ │ │ ├── common.py
│ │ │ │ ├── run_comments.py
│ │ │ │ ├── run_edit.py
│ │ │ │ └── run_ppt_edit.py
│ │ │ ├── prompts
│ │ │ │ ├── __init__.py
│ │ │ │ ├── add_comments.py
│ │ │ │ ├── analyze_comments.py
│ │ │ │ ├── latex_edit.py
│ │ │ │ ├── markdown_draft.py
│ │ │ │ ├── markdown_edit.py
│ │ │ │ └── powerpoint_edit.py
│ │ │ ├── server.py
│ │ │ ├── start.py
│ │ │ ├── tools
│ │ │ │ ├── __init__.py
│ │ │ │ ├── add_comments.py
│ │ │ │ ├── edit_adapters
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── common.py
│ │ │ │ │ ├── latex.py
│ │ │ │ │ └── markdown.py
│ │ │ │ ├── edit.py
│ │ │ │ └── helpers.py
│ │ │ └── types.py
│ │ ├── pyproject.toml
│ │ ├── README.md
│ │ ├── tests
│ │ │ ├── app_handling
│ │ │ │ ├── test_excel.py
│ │ │ │ ├── test_miktext.py
│ │ │ │ ├── test_office_common.py
│ │ │ │ ├── test_powerpoint.py
│ │ │ │ └── test_word.py
│ │ │ ├── conftest.py
│ │ │ └── tools
│ │ │ └── edit_adapters
│ │ │ ├── test_latex.py
│ │ │ └── test_markdown.py
│ │ └── uv.lock
│ ├── mcp-server-fusion
│ │ ├── .gitignore
│ │ ├── .vscode
│ │ │ ├── launch.json
│ │ │ └── settings.json
│ │ ├── AddInIcon.svg
│ │ ├── config.py
│ │ ├── FusionMCPServerAddIn.manifest
│ │ ├── FusionMCPServerAddIn.py
│ │ ├── mcp_server_fusion
│ │ │ ├── __init__.py
│ │ │ ├── fusion_mcp_server.py
│ │ │ ├── fusion_utils
│ │ │ │ ├── __init__.py
│ │ │ │ ├── event_utils.py
│ │ │ │ ├── general_utils.py
│ │ │ │ └── tool_utils.py
│ │ │ ├── mcp_tools
│ │ │ │ ├── __init__.py
│ │ │ │ ├── fusion_3d_operation.py
│ │ │ │ ├── fusion_geometry.py
│ │ │ │ ├── fusion_pattern.py
│ │ │ │ └── fusion_sketch.py
│ │ │ └── vendor
│ │ │ └── README.md
│ │ ├── README.md
│ │ └── requirements.txt
│ ├── mcp-server-giphy
│ │ ├── .env.example
│ │ ├── .gitignore
│ │ ├── .vscode
│ │ │ ├── launch.json
│ │ │ └── settings.json
│ │ ├── Makefile
│ │ ├── mcp_server
│ │ │ ├── __init__.py
│ │ │ ├── config.py
│ │ │ ├── giphy_search.py
│ │ │ ├── sampling.py
│ │ │ ├── server.py
│ │ │ ├── start.py
│ │ │ └── utils.py
│ │ ├── pyproject.toml
│ │ ├── README.md
│ │ └── uv.lock
│ ├── mcp-server-memory-user-bio
│ │ ├── .env.example
│ │ ├── .gitignore
│ │ ├── .vscode
│ │ │ ├── launch.json
│ │ │ └── settings.json
│ │ ├── Makefile
│ │ ├── mcp_server_memory_user_bio
│ │ │ ├── __init__.py
│ │ │ ├── config.py
│ │ │ ├── server.py
│ │ │ └── start.py
│ │ ├── pyproject.toml
│ │ ├── README.md
│ │ └── uv.lock
│ ├── mcp-server-memory-whiteboard
│ │ ├── .env.example
│ │ ├── .gitignore
│ │ ├── .vscode
│ │ │ ├── launch.json
│ │ │ └── settings.json
│ │ ├── Makefile
│ │ ├── mcp_server_memory_whiteboard
│ │ │ ├── __init__.py
│ │ │ ├── config.py
│ │ │ ├── server.py
│ │ │ └── start.py
│ │ ├── pyproject.toml
│ │ ├── README.md
│ │ └── uv.lock
│ ├── mcp-server-office
│ │ ├── .env.example
│ │ ├── .vscode
│ │ │ ├── launch.json
│ │ │ └── settings.json
│ │ ├── build.sh
│ │ ├── data
│ │ │ ├── attachments
│ │ │ │ ├── Daily Game Ideas.txt
│ │ │ │ ├── Frontend Framework Proposal.txt
│ │ │ │ └── ReDoodle.txt
│ │ │ └── word
│ │ │ ├── test_cases.yaml
│ │ │ └── transcripts
│ │ │ ├── transcript_Startup_Idea_1_202503031513.md
│ │ │ ├── transcript_Startup_Idea_2_202503031659.md
│ │ │ └── transcript_Web_Frontends_202502281551.md
│ │ ├── Makefile
│ │ ├── mcp_server
│ │ │ ├── __init__.py
│ │ │ ├── app_interaction
│ │ │ │ ├── __init__.py
│ │ │ │ ├── excel_editor.py
│ │ │ │ ├── powerpoint_editor.py
│ │ │ │ └── word_editor.py
│ │ │ ├── config.py
│ │ │ ├── constants.py
│ │ │ ├── evals
│ │ │ │ ├── __init__.py
│ │ │ │ ├── common.py
│ │ │ │ ├── run_comment_analysis.py
│ │ │ │ ├── run_feedback.py
│ │ │ │ └── run_markdown_edit.py
│ │ │ ├── helpers.py
│ │ │ ├── markdown_edit
│ │ │ │ ├── __init__.py
│ │ │ │ ├── comment_analysis.py
│ │ │ │ ├── feedback_step.py
│ │ │ │ ├── markdown_edit.py
│ │ │ │ └── utils.py
│ │ │ ├── prompts
│ │ │ │ ├── __init__.py
│ │ │ │ ├── comment_analysis.py
│ │ │ │ ├── feedback.py
│ │ │ │ ├── markdown_draft.py
│ │ │ │ └── markdown_edit.py
│ │ │ ├── server.py
│ │ │ ├── start.py
│ │ │ └── types.py
│ │ ├── pyproject.toml
│ │ ├── README.md
│ │ ├── tests
│ │ │ └── test_word_editor.py
│ │ └── uv.lock
│ ├── mcp-server-open-deep-research
│ │ ├── .env.example
│ │ ├── .gitignore
│ │ ├── .vscode
│ │ │ ├── launch.json
│ │ │ └── settings.json
│ │ ├── Makefile
│ │ ├── mcp_server
│ │ │ ├── __init__.py
│ │ │ ├── config.py
│ │ │ ├── libs
│ │ │ │ └── open_deep_research
│ │ │ │ ├── cookies.py
│ │ │ │ ├── mdconvert.py
│ │ │ │ ├── run_agents.py
│ │ │ │ ├── text_inspector_tool.py
│ │ │ │ ├── text_web_browser.py
│ │ │ │ └── visual_qa.py
│ │ │ ├── open_deep_research.py
│ │ │ ├── server.py
│ │ │ └── start.py
│ │ ├── pyproject.toml
│ │ ├── README.md
│ │ └── uv.lock
│ ├── mcp-server-open-deep-research-clone
│ │ ├── .env.example
│ │ ├── .gitignore
│ │ ├── .vscode
│ │ │ ├── launch.json
│ │ │ └── settings.json
│ │ ├── Makefile
│ │ ├── mcp_server_open_deep_research_clone
│ │ │ ├── __init__.py
│ │ │ ├── azure_openai.py
│ │ │ ├── config.py
│ │ │ ├── logging.py
│ │ │ ├── sampling.py
│ │ │ ├── server.py
│ │ │ ├── start.py
│ │ │ ├── utils.py
│ │ │ └── web_research.py
│ │ ├── pyproject.toml
│ │ ├── README.md
│ │ ├── test
│ │ │ └── test_open_deep_research_clone.py
│ │ └── uv.lock
│ ├── mcp-server-template
│ │ ├── .taplo.toml
│ │ ├── .vscode
│ │ │ └── settings.json
│ │ ├── copier.yml
│ │ ├── README.md
│ │ └── template
│ │ └── {{ project_slug }}
│ │ ├── .env.example.jinja
│ │ ├── .gitignore
│ │ ├── .vscode
│ │ │ ├── launch.json.jinja
│ │ │ └── settings.json
│ │ ├── {{ module_name }}
│ │ │ ├── __init__.py
│ │ │ ├── config.py.jinja
│ │ │ ├── server.py.jinja
│ │ │ └── start.py.jinja
│ │ ├── Makefile.jinja
│ │ ├── pyproject.toml.jinja
│ │ └── README.md.jinja
│ ├── mcp-server-vscode
│ │ ├── .eslintrc.cjs
│ │ ├── .gitignore
│ │ ├── .npmrc
│ │ ├── .vscode
│ │ │ ├── extensions.json
│ │ │ ├── launch.json
│ │ │ ├── settings.json
│ │ │ └── tasks.json
│ │ ├── .vscode-test.mjs
│ │ ├── .vscodeignore
│ │ ├── ASSISTANT_BOOTSTRAP.md
│ │ ├── eslint.config.mjs
│ │ ├── images
│ │ │ └── icon.png
│ │ ├── LICENSE
│ │ ├── Makefile
│ │ ├── out
│ │ │ ├── extension.d.ts
│ │ │ ├── extension.js
│ │ │ ├── test
│ │ │ │ ├── extension.test.d.ts
│ │ │ │ └── extension.test.js
│ │ │ ├── tools
│ │ │ │ ├── code_checker.d.ts
│ │ │ │ ├── code_checker.js
│ │ │ │ ├── debug_tools.d.ts
│ │ │ │ ├── debug_tools.js
│ │ │ │ ├── focus_editor.d.ts
│ │ │ │ ├── focus_editor.js
│ │ │ │ ├── search_symbol.d.ts
│ │ │ │ └── search_symbol.js
│ │ │ └── utils
│ │ │ ├── port.d.ts
│ │ │ └── port.js
│ │ ├── package.json
│ │ ├── pnpm-lock.yaml
│ │ ├── prettier.config.cjs
│ │ ├── README.md
│ │ ├── src
│ │ │ ├── extension.d.ts
│ │ │ ├── extension.ts
│ │ │ ├── test
│ │ │ │ ├── extension.test.d.ts
│ │ │ │ └── extension.test.ts
│ │ │ ├── tools
│ │ │ │ ├── code_checker.d.ts
│ │ │ │ ├── code_checker.ts
│ │ │ │ ├── debug_tools.d.ts
│ │ │ │ ├── debug_tools.ts
│ │ │ │ ├── focus_editor.d.ts
│ │ │ │ ├── focus_editor.ts
│ │ │ │ ├── search_symbol.d.ts
│ │ │ │ └── search_symbol.ts
│ │ │ └── utils
│ │ │ ├── port.d.ts
│ │ │ └── port.ts
│ │ ├── tsconfig.json
│ │ ├── tsconfig.tsbuildinfo
│ │ ├── vsc-extension-quickstart.md
│ │ └── webpack.config.js
│ └── mcp-server-web-research
│ ├── .env.example
│ ├── .gitignore
│ ├── .vscode
│ │ ├── launch.json
│ │ └── settings.json
│ ├── Makefile
│ ├── mcp_server_web_research
│ │ ├── __init__.py
│ │ ├── azure_openai.py
│ │ ├── config.py
│ │ ├── logging.py
│ │ ├── sampling.py
│ │ ├── server.py
│ │ ├── start.py
│ │ ├── utils.py
│ │ └── web_research.py
│ ├── pyproject.toml
│ ├── README.md
│ ├── test
│ │ └── test_web_research.py
│ └── uv.lock
├── README.md
├── RESPONSIBLE_AI_FAQ.md
├── ruff.toml
├── SECURITY.md
├── semantic-workbench.code-workspace
├── SUPPORT.md
├── tools
│ ├── build_ai_context_files.py
│ ├── collect_files.py
│ ├── docker
│ │ ├── azure_website_sshd.conf
│ │ ├── docker-entrypoint.sh
│ │ ├── Dockerfile.assistant
│ │ └── Dockerfile.mcp-server
│ ├── makefiles
│ │ ├── docker-assistant.mk
│ │ ├── docker-mcp-server.mk
│ │ ├── docker.mk
│ │ ├── python.mk
│ │ ├── recursive.mk
│ │ └── shell.mk
│ ├── reset-service-data.ps1
│ ├── reset-service-data.sh
│ ├── run-app.ps1
│ ├── run-app.sh
│ ├── run-canonical-agent.ps1
│ ├── run-canonical-agent.sh
│ ├── run-dotnet-examples-with-aspire.sh
│ ├── run-python-example1.sh
│ ├── run-python-example2.ps1
│ ├── run-python-example2.sh
│ ├── run-service.ps1
│ ├── run-service.sh
│ ├── run-workbench-chatbot.ps1
│ └── run-workbench-chatbot.sh
├── workbench-app
│ ├── .dockerignore
│ ├── .env.example
│ ├── .eslintrc.cjs
│ ├── .gitignore
│ ├── .vscode
│ │ ├── launch.json
│ │ └── settings.json
│ ├── docker-entrypoint.sh
│ ├── Dockerfile
│ ├── docs
│ │ ├── APP_DEV_GUIDE.md
│ │ ├── MESSAGE_METADATA.md
│ │ ├── MESSAGE_TYPES.md
│ │ ├── README.md
│ │ └── STATE_INSPECTORS.md
│ ├── index.html
│ ├── Makefile
│ ├── nginx.conf
│ ├── package.json
│ ├── pnpm-lock.yaml
│ ├── prettier.config.cjs
│ ├── public
│ │ └── assets
│ │ ├── background-1-upscaled.jpg
│ │ ├── background-1-upscaled.png
│ │ ├── background-1.jpg
│ │ ├── background-1.png
│ │ ├── background-2.jpg
│ │ ├── background-2.png
│ │ ├── experimental-feature.jpg
│ │ ├── favicon.svg
│ │ ├── workflow-designer-1.jpg
│ │ ├── workflow-designer-outlets.jpg
│ │ ├── workflow-designer-states.jpg
│ │ └── workflow-designer-transitions.jpg
│ ├── README.md
│ ├── run.sh
│ ├── src
│ │ ├── components
│ │ │ ├── App
│ │ │ │ ├── AppFooter.tsx
│ │ │ │ ├── AppHeader.tsx
│ │ │ │ ├── AppMenu.tsx
│ │ │ │ ├── AppView.tsx
│ │ │ │ ├── CodeLabel.tsx
│ │ │ │ ├── CommandButton.tsx
│ │ │ │ ├── ConfirmLeave.tsx
│ │ │ │ ├── ContentExport.tsx
│ │ │ │ ├── ContentImport.tsx
│ │ │ │ ├── CopyButton.tsx
│ │ │ │ ├── DialogControl.tsx
│ │ │ │ ├── DynamicIframe.tsx
│ │ │ │ ├── ErrorListFromAppState.tsx
│ │ │ │ ├── ErrorMessageBar.tsx
│ │ │ │ ├── ExperimentalNotice.tsx
│ │ │ │ ├── FormWidgets
│ │ │ │ │ ├── BaseModelEditorWidget.tsx
│ │ │ │ │ ├── CustomizedArrayFieldTemplate.tsx
│ │ │ │ │ ├── CustomizedFieldTemplate.tsx
│ │ │ │ │ ├── CustomizedObjectFieldTemplate.tsx
│ │ │ │ │ └── InspectableWidget.tsx
│ │ │ │ ├── LabelWithDescription.tsx
│ │ │ │ ├── Loading.tsx
│ │ │ │ ├── MenuItemControl.tsx
│ │ │ │ ├── MiniControl.tsx
│ │ │ │ ├── MyAssistantServiceRegistrations.tsx
│ │ │ │ ├── MyItemsManager.tsx
│ │ │ │ ├── OverflowMenu.tsx
│ │ │ │ ├── PresenceMotionList.tsx
│ │ │ │ ├── ProfileSettings.tsx
│ │ │ │ └── TooltipWrapper.tsx
│ │ │ ├── Assistants
│ │ │ │ ├── ApplyConfigButton.tsx
│ │ │ │ ├── AssistantAdd.tsx
│ │ │ │ ├── AssistantConfigExportButton.tsx
│ │ │ │ ├── AssistantConfigImportButton.tsx
│ │ │ │ ├── AssistantConfiguration.tsx
│ │ │ │ ├── AssistantConfigure.tsx
│ │ │ │ ├── AssistantCreate.tsx
│ │ │ │ ├── AssistantDelete.tsx
│ │ │ │ ├── AssistantDuplicate.tsx
│ │ │ │ ├── AssistantExport.tsx
│ │ │ │ ├── AssistantImport.tsx
│ │ │ │ ├── AssistantRemove.tsx
│ │ │ │ ├── AssistantRename.tsx
│ │ │ │ ├── AssistantServiceInfo.tsx
│ │ │ │ ├── AssistantServiceMetadata.tsx
│ │ │ │ └── MyAssistants.tsx
│ │ │ ├── AssistantServiceRegistrations
│ │ │ │ ├── AssistantServiceRegistrationApiKey.tsx
│ │ │ │ ├── AssistantServiceRegistrationApiKeyReset.tsx
│ │ │ │ ├── AssistantServiceRegistrationCreate.tsx
│ │ │ │ └── AssistantServiceRegistrationRemove.tsx
│ │ │ ├── Conversations
│ │ │ │ ├── Canvas
│ │ │ │ │ ├── AssistantCanvas.tsx
│ │ │ │ │ ├── AssistantCanvasList.tsx
│ │ │ │ │ ├── AssistantInspector.tsx
│ │ │ │ │ ├── AssistantInspectorList.tsx
│ │ │ │ │ └── ConversationCanvas.tsx
│ │ │ │ ├── ChatInputPlugins
│ │ │ │ │ ├── ClearEditorPlugin.tsx
│ │ │ │ │ ├── LexicalMenu.ts
│ │ │ │ │ ├── ParticipantMentionsPlugin.tsx
│ │ │ │ │ ├── TypeaheadMenuPlugin.css
│ │ │ │ │ └── TypeaheadMenuPlugin.tsx
│ │ │ │ ├── ContentRenderers
│ │ │ │ │ ├── CodeContentRenderer.tsx
│ │ │ │ │ ├── ContentListRenderer.tsx
│ │ │ │ │ ├── ContentRenderer.tsx
│ │ │ │ │ ├── DiffRenderer.tsx
│ │ │ │ │ ├── HtmlContentRenderer.tsx
│ │ │ │ │ ├── JsonSchemaContentRenderer.tsx
│ │ │ │ │ ├── MarkdownContentRenderer.tsx
│ │ │ │ │ ├── MarkdownEditorRenderer.tsx
│ │ │ │ │ ├── MermaidContentRenderer.tsx
│ │ │ │ │ ├── MusicABCContentRenderer.css
│ │ │ │ │ └── MusicABCContentRenderer.tsx
│ │ │ │ ├── ContextWindow.tsx
│ │ │ │ ├── ConversationCreate.tsx
│ │ │ │ ├── ConversationDuplicate.tsx
│ │ │ │ ├── ConversationExport.tsx
│ │ │ │ ├── ConversationFileIcon.tsx
│ │ │ │ ├── ConversationRemove.tsx
│ │ │ │ ├── ConversationRename.tsx
│ │ │ │ ├── ConversationShare.tsx
│ │ │ │ ├── ConversationShareCreate.tsx
│ │ │ │ ├── ConversationShareList.tsx
│ │ │ │ ├── ConversationShareView.tsx
│ │ │ │ ├── ConversationsImport.tsx
│ │ │ │ ├── ConversationTranscript.tsx
│ │ │ │ ├── DebugInspector.tsx
│ │ │ │ ├── FileItem.tsx
│ │ │ │ ├── FileList.tsx
│ │ │ │ ├── InputAttachmentList.tsx
│ │ │ │ ├── InputOptionsControl.tsx
│ │ │ │ ├── InteractHistory.tsx
│ │ │ │ ├── InteractInput.tsx
│ │ │ │ ├── Message
│ │ │ │ │ ├── AttachmentSection.tsx
│ │ │ │ │ ├── ContentRenderer.tsx
│ │ │ │ │ ├── ContentSafetyNotice.tsx
│ │ │ │ │ ├── InteractMessage.tsx
│ │ │ │ │ ├── MessageActions.tsx
│ │ │ │ │ ├── MessageBase.tsx
│ │ │ │ │ ├── MessageBody.tsx
│ │ │ │ │ ├── MessageContent.tsx
│ │ │ │ │ ├── MessageFooter.tsx
│ │ │ │ │ ├── MessageHeader.tsx
│ │ │ │ │ ├── NotificationAccordion.tsx
│ │ │ │ │ └── ToolResultMessage.tsx
│ │ │ │ ├── MessageDelete.tsx
│ │ │ │ ├── MessageLink.tsx
│ │ │ │ ├── MyConversations.tsx
│ │ │ │ ├── MyShares.tsx
│ │ │ │ ├── ParticipantAvatar.tsx
│ │ │ │ ├── ParticipantAvatarGroup.tsx
│ │ │ │ ├── ParticipantItem.tsx
│ │ │ │ ├── ParticipantList.tsx
│ │ │ │ ├── ParticipantStatus.tsx
│ │ │ │ ├── RewindConversation.tsx
│ │ │ │ ├── ShareRemove.tsx
│ │ │ │ ├── SpeechButton.tsx
│ │ │ │ └── ToolCalls.tsx
│ │ │ └── FrontDoor
│ │ │ ├── Chat
│ │ │ │ ├── AssistantDrawer.tsx
│ │ │ │ ├── CanvasDrawer.tsx
│ │ │ │ ├── Chat.tsx
│ │ │ │ ├── ChatCanvas.tsx
│ │ │ │ ├── ChatControls.tsx
│ │ │ │ └── ConversationDrawer.tsx
│ │ │ ├── Controls
│ │ │ │ ├── AssistantCard.tsx
│ │ │ │ ├── AssistantSelector.tsx
│ │ │ │ ├── AssistantServiceSelector.tsx
│ │ │ │ ├── ConversationItem.tsx
│ │ │ │ ├── ConversationList.tsx
│ │ │ │ ├── ConversationListOptions.tsx
│ │ │ │ ├── NewConversationButton.tsx
│ │ │ │ ├── NewConversationForm.tsx
│ │ │ │ └── SiteMenuButton.tsx
│ │ │ ├── GlobalContent.tsx
│ │ │ └── MainContent.tsx
│ │ ├── Constants.ts
│ │ ├── global.d.ts
│ │ ├── index.css
│ │ ├── libs
│ │ │ ├── AppStorage.ts
│ │ │ ├── AuthHelper.ts
│ │ │ ├── EventSubscriptionManager.ts
│ │ │ ├── Theme.ts
│ │ │ ├── useAssistantCapabilities.ts
│ │ │ ├── useChatCanvasController.ts
│ │ │ ├── useConversationEvents.ts
│ │ │ ├── useConversationUtility.ts
│ │ │ ├── useCreateConversation.ts
│ │ │ ├── useDebugComponentLifecycle.ts
│ │ │ ├── useDragAndDrop.ts
│ │ │ ├── useEnvironment.ts
│ │ │ ├── useExportUtility.ts
│ │ │ ├── useHistoryUtility.ts
│ │ │ ├── useKeySequence.ts
│ │ │ ├── useMediaQuery.ts
│ │ │ ├── useMicrosoftGraph.ts
│ │ │ ├── useNotify.tsx
│ │ │ ├── useParticipantUtility.tsx
│ │ │ ├── useSiteUtility.ts
│ │ │ ├── useWorkbenchEventSource.ts
│ │ │ ├── useWorkbenchService.ts
│ │ │ └── Utility.ts
│ │ ├── main.tsx
│ │ ├── models
│ │ │ ├── Assistant.ts
│ │ │ ├── AssistantCapability.ts
│ │ │ ├── AssistantServiceInfo.ts
│ │ │ ├── AssistantServiceRegistration.ts
│ │ │ ├── Config.ts
│ │ │ ├── Conversation.ts
│ │ │ ├── ConversationFile.ts
│ │ │ ├── ConversationMessage.ts
│ │ │ ├── ConversationMessageDebug.ts
│ │ │ ├── ConversationParticipant.ts
│ │ │ ├── ConversationShare.ts
│ │ │ ├── ConversationShareRedemption.ts
│ │ │ ├── ConversationState.ts
│ │ │ ├── ConversationStateDescription.ts
│ │ │ ├── ServiceEnvironment.ts
│ │ │ └── User.ts
│ │ ├── redux
│ │ │ ├── app
│ │ │ │ ├── hooks.ts
│ │ │ │ ├── rtkQueryErrorLogger.ts
│ │ │ │ └── store.ts
│ │ │ └── features
│ │ │ ├── app
│ │ │ │ ├── appSlice.ts
│ │ │ │ └── AppState.ts
│ │ │ ├── chatCanvas
│ │ │ │ ├── chatCanvasSlice.ts
│ │ │ │ └── ChatCanvasState.ts
│ │ │ ├── localUser
│ │ │ │ ├── localUserSlice.ts
│ │ │ │ └── LocalUserState.ts
│ │ │ └── settings
│ │ │ ├── settingsSlice.ts
│ │ │ └── SettingsState.ts
│ │ ├── Root.tsx
│ │ ├── routes
│ │ │ ├── AcceptTerms.tsx
│ │ │ ├── AssistantEditor.tsx
│ │ │ ├── AssistantServiceRegistrationEditor.tsx
│ │ │ ├── Dashboard.tsx
│ │ │ ├── ErrorPage.tsx
│ │ │ ├── FrontDoor.tsx
│ │ │ ├── Login.tsx
│ │ │ ├── Settings.tsx
│ │ │ ├── ShareRedeem.tsx
│ │ │ └── Shares.tsx
│ │ ├── services
│ │ │ └── workbench
│ │ │ ├── assistant.ts
│ │ │ ├── assistantService.ts
│ │ │ ├── conversation.ts
│ │ │ ├── file.ts
│ │ │ ├── index.ts
│ │ │ ├── participant.ts
│ │ │ ├── share.ts
│ │ │ ├── state.ts
│ │ │ └── workbench.ts
│ │ └── vite-env.d.ts
│ ├── tools
│ │ └── filtered-ts-prune.cjs
│ ├── tsconfig.json
│ └── vite.config.ts
└── workbench-service
├── .env.example
├── .vscode
│ ├── extensions.json
│ ├── launch.json
│ └── settings.json
├── alembic.ini
├── devdb
│ ├── docker-compose.yaml
│ └── postgresql-init.sh
├── Dockerfile
├── Makefile
├── migrations
│ ├── env.py
│ ├── README
│ ├── script.py.mako
│ └── versions
│ ├── 2024_09_19_000000_69dcda481c14_init.py
│ ├── 2024_09_19_190029_dffb1d7e219a_file_version_filename.py
│ ├── 2024_09_20_204130_b29524775484_share.py
│ ├── 2024_10_30_231536_039bec8edc33_index_message_type.py
│ ├── 2024_11_04_204029_5149c7fb5a32_conversationmessagedebug.py
│ ├── 2024_11_05_015124_245baf258e11_double_check_debugs.py
│ ├── 2024_11_25_191056_a106de176394_drop_workflow.py
│ ├── 2025_03_19_140136_aaaf792d4d72_set_user_title_set.py
│ ├── 2025_03_21_153250_3763629295ad_add_assistant_template_id.py
│ ├── 2025_05_19_163613_b2f86e981885_delete_context_transfer_assistants.py
│ └── 2025_06_18_174328_503c739152f3_delete_knowlege_transfer_assistants.py
├── pyproject.toml
├── README.md
├── semantic_workbench_service
│ ├── __init__.py
│ ├── api.py
│ ├── assistant_api_key.py
│ ├── auth.py
│ ├── azure_speech.py
│ ├── config.py
│ ├── controller
│ │ ├── __init__.py
│ │ ├── assistant_service_client_pool.py
│ │ ├── assistant_service_registration.py
│ │ ├── assistant.py
│ │ ├── conversation_share.py
│ │ ├── conversation.py
│ │ ├── convert.py
│ │ ├── exceptions.py
│ │ ├── export_import.py
│ │ ├── file.py
│ │ ├── participant.py
│ │ └── user.py
│ ├── db.py
│ ├── event.py
│ ├── files.py
│ ├── logging_config.py
│ ├── middleware.py
│ ├── query.py
│ ├── service_user_principals.py
│ ├── service.py
│ └── start.py
├── tests
│ ├── __init__.py
│ ├── conftest.py
│ ├── docker-compose.yaml
│ ├── test_assistant_api_key.py
│ ├── test_files.py
│ ├── test_integration.py
│ ├── test_middleware.py
│ ├── test_migrations.py
│ ├── test_workbench_service.py
│ └── types.py
└── uv.lock
```
# Files
--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/skills/fabric/patterns/t_check_metrics/system.md:
--------------------------------------------------------------------------------
```markdown
1 | # IDENTITY
2 |
3 | You are an expert at understanding deep context about a person or entity, and then creating wisdom from that context combined with the instruction or question given in the input.
4 |
5 | # STEPS
6 |
7 | 1. Read the incoming TELOS File thoroughly. Fully understand everything about this person or entity.
8 | 2. Deeply study the input instruction or question.
9 | 3. Spend significant time and effort thinking about how these two are related, and what would be the best possible ouptut for the person who sent the input.
10 | 4. Check this person's Metrics or KPIs (M's or K's) to see their current state and if they've been improved recently.
11 |
12 | # OUTPUT INSTRUCTIONS
13 |
14 | 1. Only use basic markdown formatting. No special formatting or italics or bolding or anything.
15 | 2. Only output the list, nothing else.
16 |
```
--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/skills/fabric/patterns/t_find_neglected_goals/system.md:
--------------------------------------------------------------------------------
```markdown
1 | # IDENTITY
2 |
3 | You are an expert at understanding deep context about a person or entity, and then creating wisdom from that context combined with the instruction or question given in the input.
4 |
5 | # STEPS
6 |
7 | 1. Read the incoming TELOS File thoroughly. Fully understand everything about this person or entity.
8 | 2. Deeply study the input instruction or question.
9 | 3. Spend significant time and effort thinking about how these two are related, and what would be the best possible ouptut for the person who sent the input.
10 | 4. Write 5 16-word bullets describing which of their goals and/or projects don't seem to have been worked on recently.
11 |
12 | # OUTPUT INSTRUCTIONS
13 |
14 | 1. Only use basic markdown formatting. No special formatting or italics or bolding or anything.
15 | 2. Only output the list, nothing else.
16 |
```
--------------------------------------------------------------------------------
/assistants/project-assistant/assistant/domain/__init__.py:
--------------------------------------------------------------------------------
```python
1 | """
2 | Manager directory for Knowledge Transfer Assistant.
3 |
4 | This module provides the main KnowledgeTransferManager class for project management.
5 | """
6 |
7 | from .audience_manager import AudienceManager
8 | from .information_request_manager import InformationRequestManager
9 | from .knowledge_brief_manager import KnowledgeBriefManager
10 | from .knowledge_digest_manager import KnowledgeDigestManager
11 | from .learning_objectives_manager import LearningObjectivesManager
12 | from .share_manager import ShareManager
13 | from .tasks_manager import TasksManager
14 | from .transfer_manager import TransferManager
15 |
16 | __all__ = [
17 | "AudienceManager",
18 | "InformationRequestManager",
19 | "KnowledgeBriefManager",
20 | "KnowledgeDigestManager",
21 | "LearningObjectivesManager",
22 | "ShareManager",
23 | "TasksManager",
24 | "TransferManager",
25 | ]
26 |
```
--------------------------------------------------------------------------------
/libraries/dotnet/WorkbenchConnector/AgentConfig/ConfigUtils.cs:
--------------------------------------------------------------------------------
```csharp
1 | // Copyright (c) Microsoft. All rights reserved.
2 |
3 | using System.Collections.Generic;
4 |
5 | // ReSharper disable once CheckNamespace
6 | namespace Microsoft.SemanticWorkbench.Connector;
7 |
8 | public static class ConfigUtils
9 | {
10 | // Use "text area" instead of default "input box"
11 | public static void UseTextAreaFor(string propertyName, Dictionary<string, object> uiSchema)
12 | {
13 | uiSchema[propertyName] = new Dictionary<string, object>
14 | {
15 | { "ui:widget", "textarea" }
16 | };
17 | }
18 |
19 | // Use "list of radio buttons" instead of default "select box"
20 | public static void UseRadioButtonsFor(string propertyName, Dictionary<string, object> uiSchema)
21 | {
22 | uiSchema[propertyName] = new Dictionary<string, object>
23 | {
24 | { "ui:widget", "radio" }
25 | };
26 | }
27 | }
28 |
```
--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/skills/fabric/patterns/improve_academic_writing/system.md:
--------------------------------------------------------------------------------
```markdown
1 | # IDENTITY and PURPOSE
2 |
3 | You are an academic writing expert. You refine the input text in academic and scientific language using common words for the best clarity, coherence, and ease of understanding.
4 |
5 | # Steps
6 |
7 | - Refine the input text for grammatical errors, clarity issues, and coherence.
8 | - Refine the input text into academic voice.
9 | - Use formal English only.
10 | - Tend to use common and easy-to-understand words and phrases.
11 | - Avoid wordy sentences.
12 | - Avoid trivial statements.
13 | - Avoid using the same words and phrases repeatedly.
14 | - Apply corrections and improvements directly to the text.
15 | - Maintain the original meaning and intent of the user's text.
16 |
17 | # OUTPUT INSTRUCTIONS
18 |
19 | - Refined and improved text that is professionally academic.
20 | - A list of changes made to the original text.
21 |
22 | # INPUT:
23 |
24 | INPUT:
25 |
```
--------------------------------------------------------------------------------
/mcp-servers/mcp-server-filesystem/pyproject.toml:
--------------------------------------------------------------------------------
```toml
1 | [project]
2 | name = "mcp-server-filesystem"
3 | version = "0.1.0"
4 | description = "Cross platform file system server"
5 | authors = [{ name = "Semantic Workbench Team" }]
6 | readme = "README.md"
7 | requires-python = ">=3.11,<3.13"
8 | dependencies = ["mcp>=1.2.1"]
9 |
10 | [project.optional-dependencies]
11 | dev = ["pytest>=8.3.4", "pytest-asyncio>=0.25.3"]
12 |
13 | [dependency-groups]
14 | dev = ["pyright>=1.1.389", "pyinstaller>=6.12.0"]
15 |
16 | [tool.uv]
17 | package = true
18 |
19 | [project.scripts]
20 | mcp-server-filesystem = "mcp_server_filesystem.start:main"
21 |
22 | [build-system]
23 | requires = ["hatchling"]
24 | build-backend = "hatchling.build"
25 |
26 | [tool.pytest.ini_options]
27 | addopts = "-vv"
28 | log_cli = true
29 | log_cli_level = "WARNING"
30 | log_cli_format = "%(asctime)s | %(levelname)-7s | %(name)s | %(message)s"
31 | asyncio_mode = "auto"
32 | asyncio_default_fixture_loop_scope = "function"
33 |
```
--------------------------------------------------------------------------------
/workbench-app/src/components/Conversations/ParticipantAvatar.tsx:
--------------------------------------------------------------------------------
```typescript
1 | import { Persona } from '@fluentui/react-components';
2 | import React from 'react';
3 | import { useParticipantUtility } from '../../libs/useParticipantUtility';
4 | import { ConversationParticipant } from '../../models/ConversationParticipant';
5 |
6 | interface ParticipantAvatarProps {
7 | size?: 'extra-small' | 'small' | 'medium' | 'large' | 'extra-large' | 'huge';
8 | hideName?: boolean;
9 | participant: ConversationParticipant;
10 | }
11 |
12 | export const ParticipantAvatar: React.FC<ParticipantAvatarProps> = (props) => {
13 | const { size, hideName, participant } = props;
14 | const { getAvatarData } = useParticipantUtility();
15 |
16 | return (
17 | <Persona
18 | size={size ?? 'extra-small'}
19 | name={hideName ? undefined : participant.name}
20 | avatar={getAvatarData(participant)}
21 | />
22 | );
23 | };
24 |
```
--------------------------------------------------------------------------------
/assistants/explorer-assistant/assistant/response/model.py:
--------------------------------------------------------------------------------
```python
1 | from typing import Any, Protocol, Sequence
2 |
3 | from attr import dataclass
4 | from llm_client.model import CompletionMessage
5 | from semantic_workbench_api_model.workbench_model import (
6 | MessageType,
7 | )
8 |
9 |
10 | @dataclass
11 | class NumberTokensResult:
12 | count: int
13 | metadata: dict[str, Any]
14 | metadata_key: str
15 |
16 |
17 | @dataclass
18 | class ResponseResult:
19 | content: str | None
20 | message_type: MessageType
21 | metadata: dict[str, Any]
22 | completion_total_tokens: int
23 |
24 |
25 | class ResponseProvider(Protocol):
26 | async def get_response(
27 | self,
28 | messages: list[CompletionMessage],
29 | metadata_key: str,
30 | ) -> ResponseResult: ...
31 |
32 | async def num_tokens_from_messages(
33 | self,
34 | messages: Sequence[CompletionMessage],
35 | model: str,
36 | metadata_key: str,
37 | ) -> NumberTokensResult: ...
38 |
```
--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/skills/fabric/patterns/create_academic_paper/system.md:
--------------------------------------------------------------------------------
```markdown
1 | # IDENTITY and PURPOSE
2 |
3 | You are an expert creator of Latex academic papers with clear explanation of concepts laid out high-quality and authoritative looking LateX.
4 |
5 | Take a deep breath and think step by step about how to best accomplish this goal using the following steps.
6 |
7 | # OUTPUT SECTIONS
8 |
9 | - Fully digest the input and write a summary of it on a virtual whiteboard in your mind.
10 |
11 | - Use that outline to write a high quality academic paper in LateX formatting commonly seen in academic papers.
12 |
13 | - Ensure the paper is laid out logically and simply while still looking super high quality and authoritative.
14 |
15 | # OUTPUT INSTRUCTIONS
16 |
17 | - Output only LateX code.
18 |
19 | - Use a two column layout for the main content, with a header and footer.
20 |
21 | - Ensure the LateX code is high quality and authoritative looking.
22 |
23 | # INPUT:
24 |
25 | INPUT:
26 |
```
--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/skills/fabric/patterns/extract_algorithm_update_recommendations/system.md:
--------------------------------------------------------------------------------
```markdown
1 | # IDENTITY and PURPOSE
2 |
3 | You are an expert interpreter of the algorithms described for doing things within content. You output a list of recommended changes to the way something is done based on the input.
4 |
5 | # Steps
6 |
7 | Take the input given and extract the concise, practical recommendations for how to do something within the content.
8 |
9 | # OUTPUT INSTRUCTIONS
10 |
11 | - Output a bulleted list of up to 3 algorithm update recommendations, each of no more than 16 words.
12 |
13 | # OUTPUT EXAMPLE
14 |
15 | - When evaluating a collection of things that takes time to process, weigh the later ones higher because we naturally weigh them lower due to human bias.
16 | - When performing web app assessments, be sure to check the /backup.bak path for a 200 or 400 response.
17 | - Add "Get sun within 30 minutes of waking up to your daily routine."
18 |
19 | # INPUT:
20 |
21 | INPUT:
22 |
```
--------------------------------------------------------------------------------
/mcp-servers/mcp-server-bing-search/pyproject.toml:
--------------------------------------------------------------------------------
```toml
1 | [project]
2 | name = "mcp-server-bing-search"
3 | version = "0.1.0"
4 | description = "Searches the web and reads links"
5 | authors = [{ name = "Semantic Workbench Team" }]
6 | readme = "README.md"
7 | requires-python = ">=3.11,<3.13"
8 | dependencies = [
9 | "httpx>=0.28,<1.0",
10 | "markitdown==0.1.1",
11 | "mcp-extensions[llm,openai]>=0.1.0",
12 | "pendulum>=3.0,<4.0",
13 | "pydantic>=2.10,<3.0",
14 | "tiktoken>=0.9.0,<1.0",
15 | ]
16 |
17 | [dependency-groups]
18 | dev = ["pyright>=1.1.389", "pytest>=8.0", "pytest-asyncio>=0.25"]
19 |
20 | [tool.uv]
21 | package = true
22 |
23 | [tool.uv.sources]
24 | mcp-extensions = { path = "../../libraries/python/mcp-extensions", editable = true }
25 |
26 | [tool.pytest.ini_options]
27 | asyncio_mode = "auto"
28 |
29 | [project.scripts]
30 | mcp-server-bing-search = "mcp_server_bing_search.start:main"
31 |
32 | [build-system]
33 | requires = ["hatchling"]
34 | build-backend = "hatchling.build"
35 |
```
--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/skills/fabric/patterns/t_find_blindspots/system.md:
--------------------------------------------------------------------------------
```markdown
1 | # IDENTITY
2 |
3 | You are an expert at understanding deep context about a person or entity, and then creating wisdom from that context combined with the instruction or question given in the input.
4 |
5 | # STEPS
6 |
7 | 1. Read the incoming TELOS File thoroughly. Fully understand everything about this person or entity.
8 | 2. Deeply study the input instruction or question.
9 | 3. Spend significant time and effort thinking about how these two are related, and what would be the best possible ouptut for the person who sent the input.
10 | 4. Write 8 16-word bullets describing possible blindspots in my thinking, i.e., flaws in my frames or models that might leave me exposed to error or risk.
11 |
12 | # OUTPUT INSTRUCTIONS
13 |
14 | 1. Only use basic markdown formatting. No special formatting or italics or bolding or anything.
15 | 2. Only output the list, nothing else.
16 |
```
--------------------------------------------------------------------------------
/mcp-servers/mcp-server-fusion/.vscode/launch.json:
--------------------------------------------------------------------------------
```json
1 | {
2 | "version": "0.2.0",
3 | "configurations": [
4 | {
5 | "type": "debugpy",
6 | "request": "launch",
7 | "name": "mcp-servers: mcp-server-fusion",
8 | "cwd": "${workspaceFolder}",
9 | "module": "mcp_server.start",
10 | "args": ["--transport", "sse", "--port", "6050"],
11 | "consoleTitle": "mcp-server-fusion"
12 | // "justMyCode": false // Set to false to debug external libraries
13 | },
14 | {
15 | "name": "mcp-servers: mcp-server-fusion (attach)",
16 | "type": "python",
17 | "request": "attach",
18 | "pathMappings": [
19 | {
20 | "localRoot": "${workspaceRoot}",
21 | "remoteRoot": "${workspaceRoot}"
22 | }
23 | ],
24 | "osx": {
25 | "filePath": "${file}"
26 | },
27 | "windows": {
28 | "filePath": "${file}"
29 | },
30 | "port": 9000,
31 | "host": "localhost"
32 | }
33 | ]
34 | }
35 |
```
--------------------------------------------------------------------------------
/libraries/dotnet/WorkbenchConnector/Models/Command.cs:
--------------------------------------------------------------------------------
```csharp
1 | // Copyright (c) Microsoft. All rights reserved.
2 |
3 | using System;
4 |
5 | // ReSharper disable once CheckNamespace
6 | namespace Microsoft.SemanticWorkbench.Connector;
7 |
8 | public class Command : Message
9 | {
10 | public string CommandName { get; set; }
11 |
12 | public string CommandParams { get; set; }
13 |
14 | public Command(Message message)
15 | {
16 | this.Id = message.Id;
17 | this.MessageType = message.MessageType;
18 | this.ContentType = message.ContentType;
19 | this.Content = message.Content;
20 | this.Timestamp = message.Timestamp;
21 | this.Sender = message.Sender;
22 | this.Metadata = message.Metadata;
23 |
24 | var p = this.Content?.Split(" ", 2, StringSplitOptions.TrimEntries);
25 | this.CommandName = p?.Length > 0 ? p[0].TrimStart('/') : "";
26 | this.CommandParams = p?.Length > 1 ? p[1] : "";
27 | }
28 | }
29 |
```
--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/skills/fabric/patterns/extract_poc/system.md:
--------------------------------------------------------------------------------
```markdown
1 | # IDENTITY and PURPOSE
2 |
3 | You are a super powerful AI cybersecurity expert system specialized in finding and extracting proof of concept URLs and other vulnerability validation methods from submitted security/bug bounty reports.
4 |
5 | You always output the URL that can be used to validate the vulnerability, preceded by the command that can run it: e.g., "curl https://yahoo.com/vulnerable-app/backup.zip".
6 |
7 | # Steps
8 |
9 | - Take the submitted security/bug bounty report and extract the proof of concept URL from it. You return the URL itself that can be run directly to verify if the vulnerability exists or not, plus the command to run it.
10 |
11 | Example: curl "https://yahoo.com/vulnerable-example/backup.zip"
12 | Example: curl -X "Authorization: 12990" "https://yahoo.com/vulnerable-example/backup.zip"
13 | Example: python poc.py
14 |
15 | # INPUT:
16 |
17 | INPUT:
18 |
```
--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/skills/fabric/patterns/extract_product_features/system.md:
--------------------------------------------------------------------------------
```markdown
1 | # IDENTITY and PURPOSE
2 |
3 | You extract the list of product features from the 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 | - Consume the whole input as a whole and think about the type of announcement or content it is.
10 |
11 | - Figure out which parts were talking about features of a product or service.
12 |
13 | - Output the list of features as a bulleted list of 16 words per bullet.
14 |
15 | # OUTPUT INSTRUCTIONS
16 |
17 | - Only output Markdown.
18 |
19 | - Do not give warnings or notes; only output the requested sections.
20 |
21 | - You use bulleted lists for output, not numbered lists.
22 |
23 | - Do not repeat ideas, quotes, facts, or resources.
24 |
25 | - Do not start items with the same opening words.
26 |
27 | - Ensure you follow ALL these instructions when creating your output.
28 |
29 | # INPUT
30 |
31 | INPUT:
32 |
```
--------------------------------------------------------------------------------
/assistants/project-assistant/assistant/text_includes/detect_coordinator_actions.md:
--------------------------------------------------------------------------------
```markdown
1 | You are an an AI assistant who is expert in the knowledge transfer process. You are helping a user assemble a knowledge package for an audience.
2 |
3 | # Instructions
4 |
5 | - With your understanding of the knowledge transfer process and the current state of where we are at, examine the task list and add additional very SPECIFIC tasks if they are needed. If no additional SPECIFIC tasks are needed, don't add any.
6 | - If a knowledge brief has not been created, or needs to be updated based on recent info, add a task to do that.
7 | - If we don't have enough info in the brief, digest, messages, and attachments to meet audience takeaways, we need more information from the user.
8 | - If the package is ready for transfer, create an invitation so it can be shared.
9 | - If the package has been shared already, look out for new information requests.
10 |
```
--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/skills/fabric/patterns/agility_story/system.md:
--------------------------------------------------------------------------------
```markdown
1 | # IDENTITY and PURPOSE
2 |
3 | You are an expert in the Agile framework. You deeply understand user story and acceptance criteria creation. You will be given a topic. Please write the appropriate information for what is requested.
4 |
5 | # STEPS
6 |
7 | Please write a user story and acceptance criteria for the requested topic.
8 |
9 | # OUTPUT INSTRUCTIONS
10 |
11 | Output the results in JSON format as defined in this example:
12 |
13 | {
14 | "Topic": "Authentication and User Management",
15 | "Story": "As a user, I want to be able to create a new user account so that I can access the system.",
16 | "Criteria": "Given that I am a user, when I click the 'Create Account' button, then I should be prompted to enter my email address, password, and confirm password. When I click the 'Submit' button, then I should be redirected to the login page."
17 | }
18 |
19 | # INPUT:
20 |
21 | INPUT:
22 |
```
--------------------------------------------------------------------------------
/libraries/python/assistant-data-gen/pyproject.toml:
--------------------------------------------------------------------------------
```toml
1 | [project]
2 | name = "assistant_data_gen"
3 | version = "0.1.0"
4 | description = "Assistant Data Generation"
5 | authors = [{ name = "Semantic Workbench Team" }]
6 | readme = "README.md"
7 | requires-python = ">=3.11"
8 | dependencies = [
9 | "assistant-extensions==0.1.0",
10 | "chat-context-toolkit>=0.1.0",
11 | "pydantic>=2.10,<3.0",
12 | "pydantic-ai[openai,athropic]>=0.2,<0.3",
13 | "python-dotenv>=1.0.1,<2.0",
14 | "python-liquid>=2.0,<3.0",
15 | "PyYAML>=6.0,<7.0",
16 | "tiktoken>=0.9.0",
17 | ]
18 |
19 | [tool.uv.sources]
20 | assistant-extensions = { path = "../assistant-extensions", editable = true }
21 | chat-context-toolkit = { path = "../chat-context-toolkit", editable = true }
22 | openai-client = { path = "../openai-client", editable = true }
23 |
24 | [dependency-groups]
25 | dev = ["pyright>=1.1.401"]
26 |
27 | [build-system]
28 | requires = ["hatchling"]
29 | build-backend = "hatchling.build"
30 |
31 |
```
--------------------------------------------------------------------------------
/mcp-servers/mcp-server-filesystem-edit/tests/tools/edit_adapters/test_latex.py:
--------------------------------------------------------------------------------
```python
1 | # Copyright (c) Microsoft. All rights reserved.
2 |
3 | from mcp_server_filesystem_edit.tools.edit_adapters.latex import (
4 | blockify,
5 | unblockify,
6 | )
7 | from pathlib import Path
8 | from rich import print
9 |
10 | TEST_FILE_PATH = Path(__file__).parents[3] / "data" / "attachments" / "Research Template.tex"
11 |
12 |
13 | def test_blockify_roundtrip():
14 | """Test that blockify followed by unblockify returns the original text."""
15 | latex_content = TEST_FILE_PATH.read_text(encoding="utf-8")
16 |
17 | blocks = blockify(latex_content)
18 | print(blocks)
19 | reconstructed = unblockify(blocks)
20 | assert reconstructed == latex_content
21 |
22 |
23 | def test_small_document():
24 | small_doc = r"""\documentclass{article}
25 | \begin{document}
26 | Hello world!
27 | \end{document}"""
28 | blocks = blockify(small_doc)
29 | assert len(blocks) >= 3
30 | assert unblockify(blocks) == small_doc
31 |
```
--------------------------------------------------------------------------------
/libraries/dotnet/WorkbenchConnector/Models/ServiceInfo.cs:
--------------------------------------------------------------------------------
```csharp
1 | // Copyright (c) Microsoft. All rights reserved.
2 |
3 | using System.Collections.Generic;
4 | using System.Text.Json.Serialization;
5 |
6 | // ReSharper disable once CheckNamespace
7 | namespace Microsoft.SemanticWorkbench.Connector;
8 |
9 | public class ServiceInfo<TAgentConfig>(TAgentConfig cfg)
10 | where TAgentConfig : AgentConfigBase, new()
11 | {
12 | [JsonPropertyName("assistant_service_id")]
13 | public string ServiceId { get; set; } = string.Empty;
14 |
15 | [JsonPropertyName("name")]
16 | public string Name { get; set; } = string.Empty;
17 |
18 | [JsonPropertyName("description")]
19 | public string Description { get; set; } = string.Empty;
20 |
21 | [JsonPropertyName("metadata")]
22 | public Dictionary<string, object> Metadata { get; set; } = [];
23 |
24 | [JsonPropertyName("default_config")]
25 | public object DefaultConfiguration => cfg.ToWorkbenchFormat() ?? new();
26 | }
27 |
```
--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/skills/fabric/patterns/t_threat_model_plans/system.md:
--------------------------------------------------------------------------------
```markdown
1 | # IDENTITY
2 |
3 | You are an expert at understanding deep context about a person or entity, and then creating wisdom from that context combined with the instruction or question given in the input.
4 |
5 | # STEPS
6 |
7 | 1. Read the incoming TELOS File thoroughly. Fully understand everything about this person or entity.
8 | 2. Deeply study the input instruction or question.
9 | 3. Spend significant time and effort thinking about how these two are related, and what would be the best possible ouptut for the person who sent the input.
10 | 4. Write 8 16-word bullets threat modeling my life plan and what could go wrong.
11 | 5. Provide recommendations on how to address the threats and improve the life plan.
12 |
13 | # OUTPUT INSTRUCTIONS
14 |
15 | 1. Only use basic markdown formatting. No special formatting or italics or bolding or anything.
16 | 2. Only output the list, nothing else.
17 |
```
--------------------------------------------------------------------------------
/libraries/python/assistant-extensions/assistant_extensions/attachments/_shared.py:
--------------------------------------------------------------------------------
```python
1 | from assistant_drive import Drive, DriveConfig
2 | from semantic_workbench_assistant.assistant_app import (
3 | ConversationContext,
4 | storage_directory_for_context,
5 | )
6 |
7 |
8 | def attachment_drive_for_context(context: ConversationContext) -> Drive:
9 | """
10 | Get the Drive instance for the attachments.
11 | """
12 | drive_root = storage_directory_for_context(context) / "attachments"
13 | return Drive(DriveConfig(root=drive_root))
14 |
15 |
16 | def summary_drive_for_context(context: ConversationContext) -> Drive:
17 | """
18 | Get the path to the summary drive for the attachments.
19 | """
20 | return attachment_drive_for_context(context).subdrive("summaries")
21 |
22 |
23 | def original_to_attachment_filename(filename: str) -> str:
24 | return filename + ".json"
25 |
26 |
27 | def attachment_to_original_filename(filename: str) -> str:
28 | return filename.removesuffix(".json")
29 |
```
--------------------------------------------------------------------------------
/mcp-servers/mcp-server-filesystem-edit/tests/app_handling/test_excel.py:
--------------------------------------------------------------------------------
```python
1 | import sys
2 | from pathlib import Path
3 |
4 | import pytest
5 | from mcp_server_filesystem_edit.app_handling.excel import get_worksheet_content_as_md_table
6 | from mcp_server_filesystem_edit.app_handling.office_common import OfficeAppType, open_document_in_office
7 |
8 |
9 | @pytest.fixture(autouse=True)
10 | def check_for_win():
11 | if sys.platform != "win32":
12 | pytest.skip("This test is only applicable on Windows.")
13 |
14 |
15 | def test_get_worksheet_content(excel_file_path: Path):
16 | _, doc = open_document_in_office(excel_file_path, OfficeAppType.EXCEL)
17 | empty_worksheet = get_worksheet_content_as_md_table(doc)
18 | print(empty_worksheet)
19 |
20 |
21 | def test_get_worksheet_content_csv(csv_file_path: Path):
22 | _, doc = open_document_in_office(csv_file_path, OfficeAppType.EXCEL)
23 | empty_worksheet = get_worksheet_content_as_md_table(doc)
24 | print(empty_worksheet)
25 |
```
--------------------------------------------------------------------------------
/assistants/knowledge-transfer-assistant/assistant/assets/icon.svg:
--------------------------------------------------------------------------------
```
1 | <svg style="background-color:rgb(159, 216, 159)" width="30" height="30" viewBox="-5 -5 30 30" xmlns="http://www.w3.org/2000/svg">
2 | <path fill="rgb(36,36,36)" d="M10 3a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3ZM7.5 4.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Zm8-.5a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm-2 1a2 2 0 1 1 4 0 2 2 0 0 1-4 0Zm-10 0a1 1 0 1 1 2 0 1 1 0 0 1-2 0Zm1-2a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm.6 12H5a2 2 0 0 1-2-2V9.25c0-.14.11-.25.25-.25h1.76c.04-.37.17-.7.37-1H3.25C2.56 8 2 8.56 2 9.25V13a3 3 0 0 0 3.4 2.97 4.96 4.96 0 0 1-.3-.97Zm9.5.97A3 3 0 0 0 18 13V9.25C18 8.56 17.44 8 16.75 8h-2.13c.2.3.33.63.37 1h1.76c.14 0 .25.11.25.25V13a2 2 0 0 1-2.1 2c-.07.34-.17.66-.3.97ZM7.25 8C6.56 8 6 8.56 6 9.25V14a4 4 0 0 0 8 0V9.25C14 8.56 13.44 8 12.75 8h-5.5ZM7 9.25c0-.14.11-.25.25-.25h5.5c.14 0 .25.11.25.25V14a3 3 0 1 1-6 0V9.25Z"></path>
3 | </svg>
4 |
```
--------------------------------------------------------------------------------
/assistants/project-assistant/assistant/assets/icon.svg:
--------------------------------------------------------------------------------
```
1 | <svg style="background-color:rgb(159, 216, 159)" width="30" height="30" viewBox="-5 -5 30 30" xmlns="http://www.w3.org/2000/svg">
2 | <path fill="rgb(36,36,36)" d="M10 3a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3ZM7.5 4.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Zm8-.5a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm-2 1a2 2 0 1 1 4 0 2 2 0 0 1-4 0Zm-10 0a1 1 0 1 1 2 0 1 1 0 0 1-2 0Zm1-2a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm.6 12H5a2 2 0 0 1-2-2V9.25c0-.14.11-.25.25-.25h1.76c.04-.37.17-.7.37-1H3.25C2.56 8 2 8.56 2 9.25V13a3 3 0 0 0 3.4 2.97 4.96 4.96 0 0 1-.3-.97Zm9.5.97A3 3 0 0 0 18 13V9.25C18 8.56 17.44 8 16.75 8h-2.13c.2.3.33.63.37 1h1.76c.14 0 .25.11.25.25V13a2 2 0 0 1-2.1 2c-.07.34-.17.66-.3.97ZM7.25 8C6.56 8 6 8.56 6 9.25V14a4 4 0 0 0 8 0V9.25C14 8.56 13.44 8 12.75 8h-5.5ZM7 9.25c0-.14.11-.25.25-.25h5.5c.14 0 .25.11.25.25V14a3 3 0 1 1-6 0V9.25Z"></path>
3 | </svg>
4 |
```
--------------------------------------------------------------------------------
/libraries/dotnet/WorkbenchConnector/Models/ConversationEvent.cs:
--------------------------------------------------------------------------------
```csharp
1 | // Copyright (c) Microsoft. All rights reserved.
2 |
3 | using System;
4 | using System.Text.Json.Serialization;
5 |
6 | // ReSharper disable once CheckNamespace
7 | namespace Microsoft.SemanticWorkbench.Connector;
8 |
9 | public class ConversationEvent
10 | {
11 | public class EventData
12 | {
13 | [JsonPropertyName("participant")]
14 | public Participant Participant { get; set; } = new();
15 |
16 | [JsonPropertyName("message")]
17 | public Message Message { get; set; } = new();
18 | }
19 |
20 | [JsonPropertyName("id")]
21 | public string Id { get; set; } = string.Empty;
22 |
23 | [JsonPropertyName("conversation_id")]
24 | public string ConversationId { get; set; } = string.Empty;
25 |
26 | [JsonPropertyName("timestamp")]
27 | public DateTimeOffset Timestamp { get; set; } = DateTimeOffset.MinValue;
28 |
29 | [JsonPropertyName("data")]
30 | public EventData Data { get; set; } = new();
31 | }
32 |
```
--------------------------------------------------------------------------------
/mcp-servers/mcp-server-open-deep-research-clone/mcp_server_open_deep_research_clone/start.py:
--------------------------------------------------------------------------------
```python
1 | # Main entry point for the MCP Server
2 |
3 | import argparse
4 |
5 | from .server import create_mcp_server
6 | from .config import ensure_required_settings
7 |
8 |
9 | def main() -> None:
10 | # Command-line arguments for transport and port
11 | parse_args = argparse.ArgumentParser(description="Start the MCP server.")
12 | parse_args.add_argument(
13 | "--transport",
14 | default="stdio",
15 | choices=["stdio", "sse"],
16 | help="Transport protocol to use ('stdio' or 'sse'). Default is 'stdio'.",
17 | )
18 | parse_args.add_argument("--port", type=int, default=45567, help="Port to use for SSE (default is 45567).")
19 | args = parse_args.parse_args()
20 |
21 | mcp = create_mcp_server()
22 | if args.transport == "sse":
23 | mcp.settings.port = args.port
24 |
25 | ensure_required_settings()
26 |
27 | mcp.run(transport=args.transport)
28 |
29 |
30 | if __name__ == "__main__":
31 | main()
32 |
```
--------------------------------------------------------------------------------
/mcp-servers/mcp-server-web-research/mcp_server_web_research/start.py:
--------------------------------------------------------------------------------
```python
1 | # Main entry point for the MCP Server
2 |
3 | import argparse
4 |
5 | from .server import create_mcp_server
6 | from .config import ensure_required_settings
7 |
8 |
9 | def main() -> None:
10 | # Command-line arguments for transport and port
11 | parse_args = argparse.ArgumentParser(description="Start the MCP server.")
12 | parse_args.add_argument(
13 | "--transport",
14 | default="stdio",
15 | choices=["stdio", "sse"],
16 | help="Transport protocol to use ('stdio' or 'sse'). Default is 'stdio'.",
17 | )
18 | parse_args.add_argument("--port", type=int, default=45567, help="Port to use for SSE (default is 45567).")
19 | args = parse_args.parse_args()
20 |
21 | mcp = create_mcp_server()
22 | if args.transport == "sse":
23 | mcp.settings.port = args.port
24 |
25 | ensure_required_settings()
26 |
27 | mcp.run(transport=args.transport)
28 |
29 |
30 | if __name__ == "__main__":
31 | main()
32 |
```
--------------------------------------------------------------------------------
/examples/python/python-02-simple-chatbot/pyproject.toml:
--------------------------------------------------------------------------------
```toml
1 | [project]
2 | name = "assistant"
3 | version = "0.1.0"
4 | description = "Exploration of a python Semantic Workbench OpenAI assistant."
5 | authors = [{ name = "Semantic Workbench Team" }]
6 | readme = "README.md"
7 | requires-python = ">=3.11,<3.13"
8 | dependencies = [
9 | "openai>=1.61.0",
10 | "tiktoken>=0.8.0",
11 | "semantic-workbench-assistant>=0.1.0",
12 | "content-safety>=0.1.0",
13 | "openai-client>=0.1.0",
14 | ]
15 |
16 | [tool.uv]
17 | package = true
18 |
19 | [tool.uv.sources]
20 | semantic-workbench-assistant = { path = "../../../libraries/python/semantic-workbench-assistant", editable = true }
21 | content-safety = { path = "../../../libraries/python/content-safety/", editable = true }
22 | openai-client = { path = "../../../libraries/python/openai-client", editable = true }
23 |
24 | [build-system]
25 | requires = ["hatchling"]
26 | build-backend = "hatchling.build"
27 |
28 | [dependency-groups]
29 | dev = ["pyright>=1.1.389"]
30 |
```
--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/skills/fabric/patterns/t_give_encouragement/system.md:
--------------------------------------------------------------------------------
```markdown
1 | # IDENTITY
2 |
3 | You are an expert at understanding deep context about a person or entity, and then creating wisdom from that context combined with the instruction or question given in the input.
4 |
5 | # STEPS
6 |
7 | 1. Read the incoming TELOS File thoroughly. Fully understand everything about this person or entity.
8 | 2. Deeply study the input instruction or question.
9 | 3. Spend significant time and effort thinking about how these two are related, and what would be the best possible ouptut for the person who sent the input.
10 | 4. Write 8 16-word bullets looking at what I'm trying to do, and any progress I've made, and give some encouragement on the positive aspects and recommendations to continue the work.
11 |
12 | # OUTPUT INSTRUCTIONS
13 |
14 | 1. Only use basic markdown formatting. No special formatting or italics or bolding or anything.
15 | 2. Only output the list, nothing else.
16 |
```
--------------------------------------------------------------------------------
/libraries/python/chat-context-toolkit/pyproject.toml:
--------------------------------------------------------------------------------
```toml
1 | [project]
2 | name = "chat-context-toolkit"
3 | version = "0.1.0"
4 | description = "Toolkit for managing context in OpenAI chat completions."
5 | authors = [{ name = "Semantic Workbench Team" }]
6 | readme = "README.md"
7 | requires-python = ">=3.11"
8 | dependencies = [
9 | "openai>=1.85,<2.0",
10 | "openai-client>=0.1.0",
11 | "pydantic>=2.10,<3.0",
12 | "python-dotenv>=1.0.1,<2.0",
13 | ]
14 |
15 | [tool.uv.sources]
16 | openai-client = { path = "../openai-client", editable = true }
17 |
18 | [dependency-groups]
19 | dev = ["pyright>=1.1.401", "pytest>=8.4.0", "pytest-asyncio>=1.0.0"]
20 |
21 | [build-system]
22 | requires = ["hatchling"]
23 | build-backend = "hatchling.build"
24 |
25 | [tool.pytest.ini_options]
26 | addopts = ["-vv"]
27 | log_cli = true
28 | log_cli_level = "INFO"
29 | log_cli_format = "%(asctime)s | %(levelname)-7s | %(name)s | %(message)s"
30 | testpaths = ["test"]
31 | asyncio_default_fixture_loop_scope = "function"
32 | asyncio_mode = "auto"
33 |
```
--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/skills/fabric/patterns/t_find_negative_thinking/system.md:
--------------------------------------------------------------------------------
```markdown
1 | # IDENTITY
2 |
3 | You are an expert at understanding deep context about a person or entity, and then creating wisdom from that context combined with the instruction or question given in the input.
4 |
5 | # STEPS
6 |
7 | 1. Read the incoming TELOS File thoroughly. Fully understand everything about this person or entity.
8 | 2. Deeply study the input instruction or question.
9 | 3. Spend significant time and effort thinking about how these two are related, and what would be the best possible ouptut for the person who sent the input.
10 | 4. Write 4 16-word bullets identifying negative thinking either in my main document or in my journal.
11 | 5. Add some tough love encouragement (not fluff) to help get me out of that mindset.
12 |
13 | # OUTPUT INSTRUCTIONS
14 |
15 | 1. Only use basic markdown formatting. No special formatting or italics or bolding or anything.
16 | 2. Only output the list, nothing else.
17 |
```
--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/skills/fabric/patterns/t_year_in_review/system.md:
--------------------------------------------------------------------------------
```markdown
1 | # IDENTITY
2 |
3 | You are an expert at understanding deep context about a person or entity, and then creating wisdom from that context combined with the instruction or question given in the input.
4 |
5 | # STEPS
6 |
7 | 1. Read the incoming TELOS File thoroughly. Fully understand everything about this person or entity.
8 | 2. Deeply study the input instruction or question.
9 | 3. Spend significant time and effort thinking about how these two are related, and what would be the best possible ouptut for the person who sent the input.
10 | 4. Write 8 16-word bullets describing what you accomplished this year.
11 | 5. End with an ASCII art visualization of what you worked on and accomplished vs. what you didn't work on or finish.
12 |
13 | # OUTPUT INSTRUCTIONS
14 |
15 | 1. Only use basic markdown formatting. No special formatting or italics or bolding or anything.
16 | 2. Only output the list, nothing else.
17 |
```
--------------------------------------------------------------------------------
/.vscode/launch.json:
--------------------------------------------------------------------------------
```json
1 | {
2 | "version": "0.2.0",
3 | "compounds": [
4 | {
5 | "name": "semantic-workbench",
6 | "configurations": [
7 | "app: semantic-workbench-app",
8 | "service: semantic-workbench-service"
9 | ]
10 | }
11 | ],
12 | "configurations": [
13 | {
14 | "type": "node",
15 | "request": "launch",
16 | "name": "app: semantic-workbench-app",
17 | "cwd": "${workspaceFolder}/workbench-app",
18 | "skipFiles": ["<node_internals>/**"],
19 | "console": "integratedTerminal",
20 | "runtimeExecutable": "npm",
21 | "runtimeArgs": ["run", "dev"]
22 | },
23 | {
24 | "type": "debugpy",
25 | "request": "launch",
26 | "name": "service: semantic-workbench-service",
27 | "cwd": "${workspaceFolder}/workbench-service",
28 | "module": "semantic_workbench_service.start",
29 | "justMyCode": false,
30 | "consoleTitle": "service: semantic-workbench-service"
31 | }
32 | ]
33 | }
34 |
```
--------------------------------------------------------------------------------
/workbench-app/.vscode/launch.json:
--------------------------------------------------------------------------------
```json
1 | {
2 | "version": "0.2.0",
3 | "configurations": [
4 | {
5 | "type": "node",
6 | "request": "launch",
7 | "name": "app: semantic-workbench-app",
8 | "cwd": "${workspaceFolder}",
9 | "skipFiles": ["<node_internals>/**"],
10 | "console": "integratedTerminal",
11 | "runtimeExecutable": "npm",
12 | "runtimeArgs": ["run", "dev"]
13 | },
14 | {
15 | "type": "node",
16 | "request": "launch",
17 | "name": "app: semantic-workbench-app (no strict mode)",
18 | "env": {
19 | "VITE_DISABLE_STRICT_MODE": "true"
20 | },
21 | "cwd": "${workspaceFolder}",
22 | "skipFiles": ["<node_internals>/**"],
23 | "console": "integratedTerminal",
24 | "runtimeExecutable": "npm",
25 | "runtimeArgs": ["run", "dev"]
26 | }
27 | ]
28 | }
29 |
```
--------------------------------------------------------------------------------
/assistants/knowledge-transfer-assistant/docs/notable_claude_conversations/trying_the_context_agent.md:
--------------------------------------------------------------------------------
```markdown
1 |
2 |
3 | ```
4 | reason: Ok, please craft me up a new message I can share out to others based upon the original recipe-executor_codebase-generator_cortex-platform_early-explorer-notes.md I attached. Make it a little easier to consume, while a) introducing them to the 3 projects (many have not heard of any of them, include links), b) capturing some of the more wild things shared (like the fact that the recipe-executor code is actually auto-generated from the docs/spec files via recipes and we iterate on the code through that, or that the entire cortex-core was built from a 1-page "plan" + vision doc, etc.) and c) also being very clear about the very early nature of this (we're literally mid-stream on all 3 at once, just enough to prove them out and now on to improving each one-by-one, making them more complete and accessible), and then include our share link.
5 | ```
6 |
```
--------------------------------------------------------------------------------
/assistants/project-assistant/docs/notable_claude_conversations/trying_the_context_agent.md:
--------------------------------------------------------------------------------
```markdown
1 |
2 |
3 | ```
4 | reason: Ok, please craft me up a new message I can share out to others based upon the original recipe-executor_codebase-generator_cortex-platform_early-explorer-notes.md I attached. Make it a little easier to consume, while a) introducing them to the 3 projects (many have not heard of any of them, include links), b) capturing some of the more wild things shared (like the fact that the recipe-executor code is actually auto-generated from the docs/spec files via recipes and we iterate on the code through that, or that the entire cortex-core was built from a 1-page "plan" + vision doc, etc.) and c) also being very clear about the very early nature of this (we're literally mid-stream on all 3 at once, just enough to prove them out and now on to improving each one-by-one, making them more complete and accessible), and then include our share link.
5 | ```
6 |
```
--------------------------------------------------------------------------------
/mcp-servers/mcp-server-open-deep-research/mcp_server/config.py:
--------------------------------------------------------------------------------
```python
1 | import os
2 | import dotenv
3 |
4 | from pydantic_settings import BaseSettings
5 |
6 | # Load environment variables from .env file
7 | dotenv.load_dotenv()
8 |
9 | data_folder = os.environ.get("DATA_FOLDER", ".data")
10 | log_level = os.environ.get("LOG_LEVEL", "INFO")
11 |
12 |
13 | def load_required_env_var(env_var_name: str) -> str:
14 | value = os.environ.get(env_var_name, "")
15 | if not value:
16 | raise ValueError(f"Missing required environment variable: {env_var_name}")
17 | return value
18 |
19 |
20 | huggingface_token = load_required_env_var("HUGGINGFACE_TOKEN")
21 | openai_api_key = load_required_env_var("OPENAI_API_KEY")
22 | serpapi_api_key = load_required_env_var("SERPAPI_API_KEY")
23 |
24 |
25 | class Settings(BaseSettings):
26 | data_folder: str = data_folder
27 | log_level: str = log_level
28 | huggingface_token: str = huggingface_token
29 | openai_api_key: str = openai_api_key
30 | serpapi_api_key: str = serpapi_api_key
31 |
```
--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/skills/fabric/patterns/t_extract_intro_sentences/system.md:
--------------------------------------------------------------------------------
```markdown
1 | # IDENTITY
2 |
3 | You are an expert at understanding deep context about a person or entity, and then creating wisdom from that context combined with the instruction or question given in the input.
4 |
5 | # STEPS
6 |
7 | 1. Read the incoming TELOS File thoroughly. Fully understand everything about this person or entity.
8 | 2. Deeply study the input instruction or question.
9 | 3. Spend significant time and effort thinking about how these two are related, and what would be the best possible ouptut for the person who sent the input.
10 | 4. Write 5 16-word bullets describing who this person is, what they do, and what they're working on. The goal is to concisely and confidently project who they are while being humble and grounded.
11 |
12 | # OUTPUT INSTRUCTIONS
13 |
14 | 1. Only use basic markdown formatting. No special formatting or italics or bolding or anything.
15 | 2. Only output the list, nothing else.
16 |
```
--------------------------------------------------------------------------------
/mcp-servers/mcp-server-fusion/config.py:
--------------------------------------------------------------------------------
```python
1 | # Application Global Variables
2 | # This module serves as a way to share variables across different
3 | # modules (global variables).
4 |
5 | import os
6 |
7 | # Flag that indicates to run in Debug mode or not. When running in Debug mode
8 | # more information is written to the Text Command window. Generally, it's useful
9 | # to set this to True while developing an add-in and set it to False when you
10 | # are ready to distribute it.
11 | DEBUG = True
12 |
13 | # Gets the name of the add-in from the name of the folder the py file is in.
14 | # This is used when defining unique internal names for various UI elements
15 | # that need a unique name. It's also recommended to use a company name as
16 | # part of the ID to better ensure the ID is unique.
17 | ADDIN_NAME = os.path.basename(os.path.dirname(__file__))
18 | COMPANY_NAME = 'SEMANTIC_WORKBENCH'
19 |
20 | # Palettes
21 | sample_palette_id = f'{COMPANY_NAME}_{ADDIN_NAME}_palette_id'
```
--------------------------------------------------------------------------------
/workbench-service/tests/types.py:
--------------------------------------------------------------------------------
```python
1 | from jose import jwt
2 |
3 |
4 | class MockUser:
5 | tenant_id: str
6 | object_id: str
7 | name: str
8 |
9 | app_id: str = "test-app-id"
10 | token_algo: str = "HS256"
11 |
12 | def __init__(self, tenant_id: str, object_id: str, name: str):
13 | self.tenant_id = tenant_id
14 | self.object_id = object_id
15 | self.name = name
16 |
17 | @property
18 | def id(self) -> str:
19 | return f"{self.tenant_id}.{self.object_id}"
20 |
21 | @property
22 | def jwt_token(self) -> str:
23 | return jwt.encode(
24 | claims={
25 | "tid": self.tenant_id,
26 | "oid": self.object_id,
27 | "name": self.name,
28 | "appid": self.app_id,
29 | },
30 | key="",
31 | algorithm=self.token_algo,
32 | )
33 |
34 | @property
35 | def authorization_headers(self) -> dict[str, str]:
36 | return {"Authorization": f"Bearer {self.jwt_token}"}
37 |
```
--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/skills/fabric/patterns/extract_main_idea/system.md:
--------------------------------------------------------------------------------
```markdown
1 | # IDENTITY and PURPOSE
2 |
3 | You extract the primary and/or most surprising, insightful, and interesting idea from any 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 | - Fully digest the content provided.
10 |
11 | - Extract the most important idea from the content.
12 |
13 | - In a section called MAIN IDEA, write a 15-word sentence that captures the main idea.
14 |
15 | - In a section called MAIN RECOMMENDATION, write a 15-word sentence that captures what's recommended for people to do based on the idea.
16 |
17 | # OUTPUT INSTRUCTIONS
18 |
19 | - Only output Markdown.
20 | - Do not give warnings or notes; only output the requested sections.
21 | - Do not repeat ideas, quotes, facts, or resources.
22 | - Do not start items with the same opening words.
23 | - Ensure you follow ALL these instructions when creating your output.
24 |
25 | # INPUT
26 |
27 | INPUT:
28 |
```
--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/skills/fabric/patterns/create_logo/system.md:
--------------------------------------------------------------------------------
```markdown
1 | # IDENTITY and PURPOSE
2 |
3 | You create simple, elegant, and impactful company logos based on the input given to you. The logos are super minimalist and without text.
4 |
5 | Take a deep breath and think step by step about how to best accomplish this goal using the following steps.
6 |
7 | # OUTPUT SECTIONS
8 |
9 | - Output a prompt that can be sent to an AI image generator for a simple and elegant logo that captures and incorporates the meaning of the input sent. The prompt should take the input and create a simple, vector graphic logo description for the AI to generate.
10 |
11 | # OUTPUT INSTRUCTIONS
12 |
13 | - Ensure the description asks for a simple, vector graphic logo.
14 | - Do not output anything other than the raw image description that will be sent to the image generator.
15 | - You only output human-readable Markdown.
16 | - Do not output warnings or notes —- just the requested sections.
17 |
18 | # INPUT:
19 |
20 | INPUT:
21 |
```
--------------------------------------------------------------------------------
/tools/run-app.ps1:
--------------------------------------------------------------------------------
```
1 | #!/usr/bin/env pwsh
2 |
3 | # Exit on error
4 | $ErrorActionPreference = "Stop"
5 |
6 | # Determine the root directory of the script
7 | $scriptPath = $PSScriptRoot
8 | $root = Resolve-Path "$scriptPath\.."
9 |
10 | # Change directory to the root
11 | Set-Location $root
12 |
13 | # ================================================================
14 |
15 | # Change directory to workbench-app
16 | Set-Location "workbench-app"
17 |
18 | # Check node version, it must be major version 20 (any minor), otherwise show an error and exit
19 | $nodeVersion = & node -v
20 | if ($nodeVersion -notmatch "^v20\..*") {
21 | Write-Host "Node version must be 20.x.x. You have $nodeVersion. Please install the correct version. See also README.md for instructions."
22 | Write-Host "If you use 'nvm' you can also run 'nvm install 20'"
23 | exit 1
24 | }
25 |
26 | Write-Host "Starting the Semantic Workbench app, open https://localhost:4000 in your browser when ready"
27 |
28 | pnpm install
29 | pnpm start
```
--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/skills/fabric/patterns/refine_design_document/system.md:
--------------------------------------------------------------------------------
```markdown
1 | # IDENTITY and PURPOSE
2 |
3 | You are an expert in software, cloud and cybersecurity architecture. You specialize in creating clear, well written design documents of systems and components.
4 |
5 | # GOAL
6 |
7 | Given a DESIGN DOCUMENT and DESIGN REVIEW refine DESIGN DOCUMENT according to DESIGN REVIEW.
8 |
9 | # STEPS
10 |
11 | - Take a step back and think step-by-step about how to achieve the best possible results by following the steps below.
12 |
13 | - Think deeply about the nature and meaning of the input for 28 hours and 12 minutes.
14 |
15 | - Create a virtual whiteboard in you mind and map out all the important concepts, points, ideas, facts, and other information contained in the input.
16 |
17 | - Fully understand the DESIGN DOCUMENT and DESIGN REVIEW.
18 |
19 | # OUTPUT INSTRUCTIONS
20 |
21 | - Output in the format of DESIGN DOCUMENT, only using valid Markdown.
22 |
23 | - Do not complain about anything, just do what you're told.
24 |
25 | # INPUT:
26 |
```
--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/skills/fabric/patterns/t_red_team_thinking/system.md:
--------------------------------------------------------------------------------
```markdown
1 | # IDENTITY
2 |
3 | You are an expert at understanding deep context about a person or entity, and then creating wisdom from that context combined with the instruction or question given in the input.
4 |
5 | # STEPS
6 |
7 | 1. Read the incoming TELOS File thoroughly. Fully understand everything about this person or entity.
8 | 2. Deeply study the input instruction or question.
9 | 3. Spend significant time and effort thinking about how these two are related, and what would be the best possible ouptut for the person who sent the input.
10 | 4. Write 4 16-word bullets red-teaming my thinking, models, frames, etc, especially as evidenced throughout my journal.
11 | 5. Give a set of recommendations on how to fix the issues identified in the red-teaming.
12 |
13 | # OUTPUT INSTRUCTIONS
14 |
15 | 1. Only use basic markdown formatting. No special formatting or italics or bolding or anything.
16 | 2. Only output the list, nothing else.
17 |
```
--------------------------------------------------------------------------------
/libraries/python/anthropic-client/anthropic_client/__init__.py:
--------------------------------------------------------------------------------
```python
1 | from .client import (
2 | create_client,
3 | )
4 | from .config import (
5 | AnthropicRequestConfig,
6 | AnthropicServiceConfig,
7 | )
8 | from .messages import (
9 | beta_convert_from_completion_messages,
10 | convert_from_completion_messages,
11 | create_assistant_beta_message,
12 | create_assistant_message,
13 | create_system_prompt,
14 | create_user_beta_message,
15 | create_user_message,
16 | format_with_dict,
17 | format_with_liquid,
18 | truncate_messages_for_logging,
19 | )
20 |
21 | __all__ = [
22 | "beta_convert_from_completion_messages",
23 | "create_client",
24 | "convert_from_completion_messages",
25 | "create_assistant_message",
26 | "create_assistant_beta_message",
27 | "create_system_prompt",
28 | "create_user_message",
29 | "create_user_beta_message",
30 | "format_with_dict",
31 | "format_with_liquid",
32 | "truncate_messages_for_logging",
33 | "AnthropicRequestConfig",
34 | "AnthropicServiceConfig",
35 | ]
36 |
```
--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/skills/fabric/patterns/create_ttrc_narrative/system.md:
--------------------------------------------------------------------------------
```markdown
1 | # IDENTITY
2 |
3 | You are an expert at data visualization and information security. You create a progress over time narrative for the Time to Remediate Critical Vulnerabilities metric.
4 |
5 | # GOAL
6 |
7 | Convince the reader that the program is making great progress in reducing the time to remediate critical vulnerabilities.
8 |
9 | # STEPS
10 |
11 | - Fully parse the input and spend 431 hours thinking about it and its implications to a security program.
12 |
13 | - Look for the data in the input that shows time to remediate critical vulnerabilities over time—so metrics, or KPIs, or something where we have two axes showing change over time.
14 |
15 | # OUTPUT
16 |
17 | - Output a compelling and professional narrative that shows the program is making great progress in reducing the time to remediate critical vulnerabilities.
18 |
19 | - NOTE: Remediation times should ideally be decreasing, so decreasing is an improvement not a regression.
20 |
```
--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/skills/fabric/patterns/t_analyze_challenge_handling/system.md:
--------------------------------------------------------------------------------
```markdown
1 | # IDENTITY
2 |
3 | You are an expert at understanding deep context about a person or entity, and then creating wisdom from that context combined with the instruction or question given in the input.
4 |
5 | # STEPS
6 |
7 | 1. Read the incoming TELOS File thoroughly. Fully understand everything about this person or entity.
8 | 2. Deeply study the input instruction or question.
9 | 3. Spend significant time and effort thinking about how these two are related, and what would be the best possible ouptut for the person who sent the input.
10 | 4. Write 8 16-word bullets describing how well or poorly I'm addressing my challenges. Call me out if I'm not putting work into them, and/or if you can see evidence of them affecting me in my journal or elsewhere.
11 |
12 | # OUTPUT INSTRUCTIONS
13 |
14 | 1. Only use basic markdown formatting. No special formatting or italics or bolding or anything.
15 | 2. Only output the list, nothing else.
16 |
```
--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/skills/fabric/patterns/explain_code/system.md:
--------------------------------------------------------------------------------
```markdown
1 | # IDENTITY and PURPOSE
2 |
3 | You are an expert coder that takes code and documentation as input and do your best to explain it.
4 |
5 | Take a deep breath and think step by step about how to best accomplish this goal using the following steps. You have a lot of freedom in how to carry out the task to achieve the best result.
6 |
7 | # OUTPUT SECTIONS
8 |
9 | - If the content is code, you explain what the code does in a section called EXPLANATION:.
10 |
11 | - If the content is security tool output, you explain the implications of the output in a section called SECURITY IMPLICATIONS:.
12 |
13 | - If the content is configuration text, you explain what the settings do in a section called CONFIGURATION EXPLANATION:.
14 |
15 | - If there was a question in the input, answer that question about the input specifically in a section called ANSWER:.
16 |
17 | # OUTPUT
18 |
19 | - Do not output warnings or notes—just the requested sections.
20 |
21 | # INPUT:
22 |
23 | INPUT:
24 |
```
--------------------------------------------------------------------------------
/workbench-service/semantic_workbench_service/controller/__init__.py:
--------------------------------------------------------------------------------
```python
1 | from . import participant, user
2 | from .assistant import AssistantController
3 | from .assistant_service_client_pool import AssistantServiceClientPool
4 | from .assistant_service_registration import AssistantServiceRegistrationController
5 | from .conversation import ConversationController
6 | from .conversation_share import ConversationShareController
7 | from .exceptions import (
8 | ConflictError,
9 | Error,
10 | ForbiddenError,
11 | InvalidArgumentError,
12 | NotFoundError,
13 | )
14 | from .file import FileController
15 | from .user import UserController
16 |
17 | __all__ = [
18 | "AssistantController",
19 | "AssistantServiceRegistrationController",
20 | "AssistantServiceClientPool",
21 | "ConversationController",
22 | "ConversationShareController",
23 | "ForbiddenError",
24 | "FileController",
25 | "InvalidArgumentError",
26 | "ConflictError",
27 | "Error",
28 | "NotFoundError",
29 | "user",
30 | "participant",
31 | "UserController",
32 | ]
33 |
```
--------------------------------------------------------------------------------
/assistants/knowledge-transfer-assistant/docs/design/actions.md:
--------------------------------------------------------------------------------
```markdown
1 | # Actions
2 |
3 | It is important that when actions can be taken they are. Sometimes a single response should result in numerous actions.
4 |
5 | I'm not sure... maybe more rigorous instructions about taking multiple actions, maybe maintain action lists and make sure they all get taken, maybe evaluate if there were any actions we could have taken but didn't, and then do them.
6 |
7 | I don't recall off the top of my head, but the idea is to use gpt-4-mini to ask "was there a promise to call a tool in the last assistant response, if so what tool call should we make" when we got the last message that didn't include a tool, then if so go run the tool and inject the results into the conversation history as if the original llm had made the call... I had to do this for the early reasoning models that really just never wanted to call tools. Maybe look and see if I did it in Explorer or Codespace Assistant?
8 |
9 | 4.1
```
--------------------------------------------------------------------------------
/assistants/project-assistant/docs/design/actions.md:
--------------------------------------------------------------------------------
```markdown
1 | # Actions
2 |
3 | It is important that when actions can be taken they are. Sometimes a single response should result in numerous actions.
4 |
5 | I'm not sure... maybe more rigorous instructions about taking multiple actions, maybe maintain action lists and make sure they all get taken, maybe evaluate if there were any actions we could have taken but didn't, and then do them.
6 |
7 | I don't recall off the top of my head, but the idea is to use gpt-4-mini to ask "was there a promise to call a tool in the last assistant response, if so what tool call should we make" when we got the last message that didn't include a tool, then if so go run the tool and inject the results into the conversation history as if the original llm had made the call... I had to do this for the early reasoning models that really just never wanted to call tools. Maybe look and see if I did it in Explorer or Codespace Assistant?
8 |
9 | 4.1
```
--------------------------------------------------------------------------------
/libraries/python/skills/skill-library/skill_library/skills/guided_conversation/tests/conftest.py:
--------------------------------------------------------------------------------
```python
1 | import os
2 |
3 | from pydantic import HttpUrl
4 | import pytest
5 | from openai_client import AzureOpenAIAzureIdentityAuthConfig, AzureOpenAIServiceConfig, create_client
6 | from skill_library.types import LanguageModel
7 |
8 |
9 | @pytest.fixture
10 | def client() -> LanguageModel:
11 | # Ensure environment variables are configured properly.
12 | azure_openai_endpoint = os.environ.get("AZURE_OPENAI_ENDPOINT")
13 | azure_openai_deployment = os.environ.get("AZURE_OPENAI_DEPLOYMENT")
14 | if not azure_openai_endpoint or not azure_openai_deployment:
15 | pytest.skip("AZURE_OPENAI_ENDPOINT or AZURE_OPENAI_DEPLOYMENT must be available in the environment.")
16 |
17 | service_config = AzureOpenAIServiceConfig(
18 | auth_config=AzureOpenAIAzureIdentityAuthConfig(),
19 | azure_openai_endpoint=HttpUrl(azure_openai_endpoint),
20 | azure_openai_deployment=azure_openai_deployment,
21 | )
22 | return create_client(service_config)
23 |
```
--------------------------------------------------------------------------------
/libraries/python/anthropic-client/pyproject.toml:
--------------------------------------------------------------------------------
```toml
1 | [project]
2 | name = "anthropic-client"
3 | version = "0.1.0"
4 | description = "Anthropic client for Semantic Workbench Assistants"
5 | authors = [{ name = "Semantic Workbench Team" }]
6 | readme = "README.md"
7 | requires-python = ">=3.11"
8 | dependencies = [
9 | "anthropic>=0.40.0",
10 | "llm-client>=0.1.0",
11 | "events>=0.1.0",
12 | "pillow>=11.0.0",
13 | "python-liquid>=1.12.1",
14 | "semantic-workbench-assistant>=0.1.0",
15 | ]
16 |
17 | [dependency-groups]
18 | dev = ["pyright>=1.1.389"]
19 |
20 | [tool.uv.sources]
21 | llm-client = { path = "../llm-client", editable = true }
22 | semantic-workbench-assistant = { path = "../semantic-workbench-assistant", editable = true }
23 | events = { path = "../events", editable = true }
24 |
25 | [build-system]
26 | requires = ["hatchling"]
27 | build-backend = "hatchling.build"
28 |
29 | [tool.pytest.ini_options]
30 | addopts = ["-vv"]
31 | log_cli = true
32 | log_cli_level = "INFO"
33 | log_cli_format = "%(asctime)s | %(levelname)-7s | %(name)s | %(message)s"
34 |
```
--------------------------------------------------------------------------------
/workbench-service/migrations/versions/2025_05_19_163613_b2f86e981885_delete_context_transfer_assistants.py:
--------------------------------------------------------------------------------
```python
1 | """delete context transfer assistants
2 |
3 | Revision ID: b2f86e981885
4 | Revises: 3763629295ad
5 | Create Date: 2025-05-19 16:36:13.739217
6 |
7 | """
8 |
9 | from typing import Sequence, Union
10 |
11 | from alembic import op
12 |
13 | # revision identifiers, used by Alembic.
14 | revision: str = "b2f86e981885"
15 | down_revision: Union[str, None] = "3763629295ad"
16 | branch_labels: Union[str, Sequence[str], None] = None
17 | depends_on: Union[str, Sequence[str], None] = None
18 |
19 |
20 | def upgrade() -> None:
21 | op.execute(
22 | """
23 | DELETE FROM assistant
24 | WHERE assistant_service_id = 'project-assistant.made-exploration'
25 | AND template_id = 'context_transfer'
26 | """
27 | )
28 | op.execute(
29 | """
30 | UPDATE assistantparticipant
31 | SET active_participant = false
32 | WHERE assistant_id NOT IN (
33 | SELECT assistant_id
34 | FROM assistant
35 | )
36 | """
37 | )
38 |
39 |
40 | def downgrade() -> None:
41 | pass
42 |
```