DEPLOYMENT.md
LICENSE
MANIFEST.in
NOTICE
README.md
pyproject.toml
backend/__init__.py
backend/alembic.ini
backend/api/__init__.py
backend/api/auth.py
backend/api/deps.py
backend/api/health.py
backend/api/mcp_chats.py
backend/api/mcp_http.py
backend/api/metrics.py
backend/api/oauth.py
backend/api/pages.py
backend/api/public.py
backend/api/read.py
backend/api/uploads.py
backend/api/users.py
backend/api/middleware/public_headers.py
backend/api/middleware/request_log.py
backend/api/middleware/security_headers.py
backend/app/__init__.py
backend/app/bootstrap.py
backend/app/data_dir.py
backend/app/db.py
backend/app/errors.py
backend/app/main.py
backend/app/settings.py
backend/app/state.py
backend/app/version.py
backend/audit/__init__.py
backend/audit/emitter.py
backend/cli/__init__.py
backend/cli/main.py
backend/cli/mcp_doctor.py
backend/cli/mcp_http_register.py
backend/cli/prod_setup.py
backend/cli/integrations/__init__.py
backend/cli/integrations/_common.py
backend/cli/integrations/claude.py
backend/cli/integrations/codex.py
backend/cli/integrations/cursor.py
backend/cli/integrations/detect.py
backend/llm/__init__.py
backend/llm/anthropic.py
backend/llm/base.py
backend/llm/openai.py
backend/llm/registry.py
backend/mcp/__init__.py
backend/mcp/agent_tools.py
backend/mcp/context_tools.py
backend/mcp/conversation.py
backend/mcp/entry.py
backend/mcp/envelope.py
backend/mcp/page_tools.py
backend/mcp/read_tools.py
backend/mcp/review_tools.py
backend/mcp/router.py
backend/mcp/scopes.py
backend/mcp/stdio_server.py
backend/mcp/protocol/__init__.py
backend/mcp/protocol/prompts_resources.py
backend/mcp/protocol/runner.py
backend/mcp/protocol/server.py
backend/mcp/protocol/session_pool.py
backend/mcp/protocol/tool_descriptors.py
backend/migrations/env.py
backend/migrations/script.py.mako
backend/migrations/versions/0001_p0_0_pages.py
backend/migrations/versions/0002_sprint2_workspace_client.py
backend/migrations/versions/0003_sprint2_job_discovery.py
backend/migrations/versions/0004_sprint2_library_item.py
backend/migrations/versions/0005_sprint2_agent_page.py
backend/migrations/versions/0006_sprint2_agent_input_bundle.py
backend/migrations/versions/0007_sprint2_context_claim_citation.py
backend/migrations/versions/0008_sprint2_change_review_audit.py
backend/migrations/versions/0009_sprint2_full_text_indexes.py
backend/migrations/versions/0010_sprint2_pgvector_readiness.py
backend/migrations/versions/0011_sprint2_workspace_tree.py
backend/migrations/versions/0012_sprint2_chat_ingress.py
backend/migrations/versions/0013_sprint4_identity.py
backend/migrations/versions/0014_sprint4_workspace_memberships.py
backend/migrations/versions/0015_sprint4_oauth.py
backend/migrations/versions/0016_sprint4_refresh_token_argon2id.py
backend/migrations/versions/0017_sprint4_oauth_consent_workspace.py
backend/migrations/versions/0018_sprint4_fix3_oauth_workspace_bound_tokens.py
backend/migrations/versions/0019_sprint5_audit_workspace_nullable.py
backend/migrations/versions/0020_sprint5_oauth_access_token_jti.py
backend/migrations/versions/0021_sprint5_app_metadata.py
backend/migrations/versions/0022_sprint6_api_token_mcp_metadata.py
backend/migrations/versions/0023_sprint6_page_links.py
backend/migrations/versions/0024_sprint6_session_generation.py
backend/migrations/versions/0025_sprint6_oauth_jti_refresh_restrict.py
backend/migrations/versions/0026_sprint6_mcp_client_created_by_fk.py
backend/migrations/versions/0027_sprint6_context_body_md_canonical.py
backend/migrations/versions/0028_sprint6_context_check_constraints.py
backend/migrations/versions/0029_sprint6_page_link_target_fk.py
backend/migrations/versions/0030_sprint6_actor_names_aliases.py
backend/migrations/versions/0031_sprint6_restore_draft_versions.py
backend/migrations/versions/0032_sprint6_rename_chat_to_ask.py
backend/migrations/versions/0033_sprint6_mcp_chats.py
backend/migrations/versions/0034_sprint6_library_domain_rename.py
backend/migrations/versions/0035_sprint6_api_token_preview.py
backend/migrations/versions/0036_sprint6_user_default_workspace.py
backend/migrations/versions/0037_sprint6_mcp_chat_owner_user.py
backend/migrations/versions/0038_sprint6_drop_review_assignee.py
backend/migrations/versions/0039_sprint6_changeset_origin_chat_session.py
backend/migrations/versions/0040_sprint6_mcp_per_call_artifact.py
backend/migrations/versions/0041_sprint6_review_audience_claim.py
backend/migrations/versions/0042_sprint6_context_page_public.py
backend/migrations/versions/0043_sprint6_ask_auto_title.py
backend/migrations/versions/0044_sprint6_review_risk_policy.py
backend/migrations/versions/0045_sprint6_auto_approve_by_risk.py
backend/migrations/versions/0046_sprint6_auto_approve_rename_allowed.py
backend/migrations/versions/0047_sprint6_library_item_tombstone.py
backend/models/__init__.py
backend/models/agent.py
backend/models/api_token.py
backend/models/app_metadata.py
backend/models/ask.py
backend/models/audit.py
backend/models/base.py
backend/models/bundle.py
backend/models/change.py
backend/models/context.py
backend/models/feedback.py
backend/models/job.py
backend/models/library.py
backend/models/library_discovery.py
backend/models/lint.py
backend/models/mcp_chat.py
backend/models/mcp_trace.py
backend/models/oauth.py
backend/models/review.py
backend/models/tree.py
backend/models/user.py
backend/models/workspace.py
backend/policy/__init__.py
backend/policy/auth.py
backend/policy/rbac.py
backend/policy/remote_ip.py
backend/policy/rest_scopes.py
backend/policy/trust_boundaries.py
backend/policy/workspace_resolution.py
backend/repositories/__init__.py
backend/repositories/audit_repo.py
backend/repositories/context_page_repo.py
backend/repositories/workspace_repo.py
backend/schemas/__init__.py
backend/schemas/activity.py
backend/schemas/agent.py
backend/schemas/ask.py
backend/schemas/auth.py
backend/schemas/common.py
backend/schemas/context_ingress.py
backend/schemas/context_write.py
backend/schemas/deployment.py
backend/schemas/health.py
backend/schemas/lint.py
backend/schemas/mcp_chat.py
backend/schemas/page.py
backend/schemas/read.py
backend/schemas/settings.py
backend/schemas/tree.py
backend/schemas/upload.py
backend/schemas/user.py
backend/schemas/mcp/__init__.py
backend/schemas/mcp/agent_tools.py
backend/schemas/mcp/context_tools.py
backend/schemas/mcp/page_tools.py
backend/schemas/mcp/read_tools.py
backend/schemas/mcp/review_tools.py
backend/scripts/__init__.py
backend/scripts/export_mcp_schemas.py
backend/scripts/export_openapi.py
backend/scripts/migrate_data.py
backend/scripts/seed_dev.py
backend/scripts/seed_remote_mcp_smoke.py
backend/services/__init__.py
backend/services/activity_service.py
backend/services/actor_identities.py
backend/services/agent_page_service.py
backend/services/anchor_resolver.py
backend/services/api_token_service.py
backend/services/ask_service.py
backend/services/audit_service.py
backend/services/bundle_expiration.py
backend/services/bundle_service.py
backend/services/change_review_audit.py
backend/services/citation_service.py
backend/services/context_ingress_service.py
backend/services/context_write_service.py
backend/services/credential_hashing.py
backend/services/deployment.py
backend/services/domain_read.py
backend/services/extraction_service.py
backend/services/feedback_errors.py
backend/services/feedback_resolver_service.py
backend/services/feedback_service.py
backend/services/job_queue.py
backend/services/library_service.py
backend/services/library_storage.py
backend/services/lint_service.py
backend/services/mcp_chat_service.py
backend/services/mcp_client_service.py
backend/services/mcp_surface_service.py
backend/services/mcp_trace_capture.py
backend/services/oauth_service.py
backend/services/page_service.py
backend/services/read_errors.py
backend/services/restricted_library_policy.py
backend/services/review_risk_policy.py
backend/services/review_service.py
backend/services/search_service.py
backend/services/session_service.py
backend/services/settings_service.py
backend/services/tree_read.py
backend/services/tree_service.py
backend/services/user_admin_service.py
backend/services/workspace_membership_service.py
backend/services/workspace_read.py
backend/services/workspace_write.py
backend/static/index.html
backend/static/assets/AccountSecurityScreen-DiqtgYNv.js
backend/static/assets/ActivityScreen-Bo-O3wrB.js
backend/static/assets/AdvancedSection-CTCsjBty.js
backend/static/assets/AgentScreen-FQXe7sbN.js
backend/static/assets/ArtifactChatsSection-BubCHY0m.js
backend/static/assets/AskScreen-Dqc4wuxZ.js
backend/static/assets/AuthScreen-vpDdVOyl.js
backend/static/assets/Breadcrumbs-DP6tKrMn.js
backend/static/assets/ChatsDetailScreen-DA4L4hTh.js
backend/static/assets/ChatsListScreen-Bn1PA3RK.js
backend/static/assets/ClientChip-DjqI-fCu.js
backend/static/assets/ContextScreen-DIHjETDO.js
backend/static/assets/DashboardScreen-S-7Ix7tx.js
backend/static/assets/Dialog-Vb4frv23.js
backend/static/assets/DiffViewer-B-Tm0Rlp.js
backend/static/assets/DiffViewerDialog-BeYlLkBC.js
backend/static/assets/FirstUseChecklist-C8AKYWCQ.js
backend/static/assets/FormField-BNzNKUos.js
backend/static/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2
backend/static/assets/KaTeX_AMS-Regular-DMm9YOAa.woff
backend/static/assets/KaTeX_AMS-Regular-DRggAlZN.ttf
backend/static/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf
backend/static/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff
backend/static/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2
backend/static/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff
backend/static/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2
backend/static/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf
backend/static/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf
backend/static/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff
backend/static/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2
backend/static/assets/KaTeX_Fraktur-Regular-CB_wures.ttf
backend/static/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2
backend/static/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff
backend/static/assets/KaTeX_Main-Bold-Cx986IdX.woff2
backend/static/assets/KaTeX_Main-Bold-Jm3AIy58.woff
backend/static/assets/KaTeX_Main-Bold-waoOVXN0.ttf
backend/static/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2
backend/static/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf
backend/static/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff
backend/static/assets/KaTeX_Main-Italic-3WenGoN9.ttf
backend/static/assets/KaTeX_Main-Italic-BMLOBm91.woff
backend/static/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2
backend/static/assets/KaTeX_Main-Regular-B22Nviop.woff2
backend/static/assets/KaTeX_Main-Regular-Dr94JaBh.woff
backend/static/assets/KaTeX_Main-Regular-ypZvNtVU.ttf
backend/static/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf
backend/static/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2
backend/static/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff
backend/static/assets/KaTeX_Math-Italic-DA0__PXp.woff
backend/static/assets/KaTeX_Math-Italic-flOr_0UB.ttf
backend/static/assets/KaTeX_Math-Italic-t53AETM-.woff2
backend/static/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf
backend/static/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2
backend/static/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff
backend/static/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2
backend/static/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff
backend/static/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf
backend/static/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf
backend/static/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff
backend/static/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2
backend/static/assets/KaTeX_Script-Regular-C5JkGWo-.ttf
backend/static/assets/KaTeX_Script-Regular-D3wIWfF6.woff2
backend/static/assets/KaTeX_Script-Regular-D5yQViql.woff
backend/static/assets/KaTeX_Size1-Regular-C195tn64.woff
backend/static/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf
backend/static/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2
backend/static/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf
backend/static/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2
backend/static/assets/KaTeX_Size2-Regular-oD1tc_U0.woff
backend/static/assets/KaTeX_Size3-Regular-CTq5MqoE.woff
backend/static/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf
backend/static/assets/KaTeX_Size4-Regular-BF-4gkZK.woff
backend/static/assets/KaTeX_Size4-Regular-DWFBv043.ttf
backend/static/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2
backend/static/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff
backend/static/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2
backend/static/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf
backend/static/assets/LibraryScreen-DU8DIEN1.js
backend/static/assets/LintScreen-Ck8G5qFr.js
backend/static/assets/MarkdownView-BpTgdD6k.css
backend/static/assets/MarkdownView-CGRbHpcO.js
backend/static/assets/PageEditor-DBY5SoQN.js
backend/static/assets/PageList-yeqekuM2.js
backend/static/assets/PageReader-CbFNMzqu.js
backend/static/assets/PagesLanding-BuRXy1Mw.js
backend/static/assets/PdfLibraryPreview-DeOASwDs.js
backend/static/assets/PublishedPageReader-DgNxuHVX.js
backend/static/assets/ReaderTabs-CW9i9iAQ.js
backend/static/assets/ReviewScreen-CVJ-8CZV.js
backend/static/assets/SearchField-BapgB6om.js
backend/static/assets/SearchScreen-BzzrKHsg.js
backend/static/assets/SegmentedControl-DmN2cD1q.js
backend/static/assets/SettingsScreen-CGBXnRha.js
backend/static/assets/SetupScreen-DleZsBoV.js
backend/static/assets/StatusPill-DKi2M2_W.js
backend/static/assets/TabbedInspector-CGd3S1nF.js
backend/static/assets/TreeNodeActionDialogs-ByCKoAKa.js
backend/static/assets/WorkspaceLayout-DAuixhhE.js
backend/static/assets/WorkspacePanelChrome-CazCCL7R.js
backend/static/assets/agent-DSSb30Yg.js
backend/static/assets/arc-DOA1mDnW.js
backend/static/assets/architectureDiagram-3BPJPVTR-BlLZuU3B.js
backend/static/assets/blockDiagram-GPEHLZMM-TsVMwqa7.js
backend/static/assets/c4Diagram-AAUBKEIU-D1Jir-z6.js
backend/static/assets/channel-BPrSEbJD.js
backend/static/assets/chunk-2J33WTMH-DNdwDO-t.js
backend/static/assets/chunk-4BX2VUAB-C6UYYSFQ.js
backend/static/assets/chunk-55IACEB6-DYF1SBFk.js
backend/static/assets/chunk-727SXJPM-TKztczVt.js
backend/static/assets/chunk-AQP2D5EJ-BQ35mjEn.js
backend/static/assets/chunk-FMBD7UC4-B8CjS_KZ.js
backend/static/assets/chunk-ND2GUHAM-CKPlR7DV.js
backend/static/assets/chunk-QZHKN3VN-DgBTuQ_m.js
backend/static/assets/classDiagram-4FO5ZUOK-BOEcTU37.js
backend/static/assets/classDiagram-v2-Q7XG4LA2-BOEcTU37.js
backend/static/assets/context-GkNFjSlJ.js
backend/static/assets/cose-bilkent-S5V4N54A-B42Xuae7.js
backend/static/assets/cytoscape.esm-CkSuTymj.js
backend/static/assets/dagre-BM42HDAG-DnwvVl7c.js
backend/static/assets/datetime-BnjnLyld.js
backend/static/assets/defaultLocale-DX6XiGOO.js
backend/static/assets/diagram-2AECGRRQ-CHhcd3Tm.js
backend/static/assets/diagram-5GNKFQAL-CjfkjQTI.js
backend/static/assets/diagram-KO2AKTUF-C8P94VYb.js
backend/static/assets/diagram-LMA3HP47-D3LKUKZG.js
backend/static/assets/diagram-OG6HWLK6-CGk-FJDI.js
backend/static/assets/editor-core-Cdo7OTFt.js
backend/static/assets/editor-language-tools-CgxqIgMk.js
backend/static/assets/editor-parser-DSyH1Mzz.js
backend/static/assets/editor-react-DRW4r8ms.js
backend/static/assets/editor-view-BXEsFLud.js
backend/static/assets/editorCompletions-DuzU7UvS.js
backend/static/assets/erDiagram-TEJ5UH35-C1PyRkV0.js
backend/static/assets/flowDiagram-I6XJVG4X-3m6UNhdQ.js
backend/static/assets/ganttDiagram-6RSMTGT7-LQnXwYZS.js
backend/static/assets/gitGraphDiagram-PVQCEYII-BHa_Pet_.js
backend/static/assets/graph--OzhPTMs.js
backend/static/assets/index-BdTqqDwG.js
backend/static/assets/index-Cmd_pg4m.css
backend/static/assets/infoDiagram-5YYISTIA-C2mg4KKv.js
backend/static/assets/init-Gi6I4Gst.js
backend/static/assets/ishikawaDiagram-YF4QCWOH-CE-dFGYw.js
backend/static/assets/journeyDiagram-JHISSGLW-DqYwk8pB.js
backend/static/assets/kanban-definition-UN3LZRKU-BacEfSti.js
backend/static/assets/katex-HP8lGamR.js
backend/static/assets/layout-SsrduOYp.js
backend/static/assets/library-B6fRp5Gm.js
backend/static/assets/linear-DVlp5p9k.js
backend/static/assets/markdown-renderer-DePAehBt.js
backend/static/assets/mermaid.core-CYYJY67q.js
backend/static/assets/mindmap-definition-RKZ34NQL-DdKxWlof.js
backend/static/assets/oauth-DyP8Cxyk.js
backend/static/assets/ordinal-Cboi1Yqb.js
backend/static/assets/pages-CGETtzbr.js
backend/static/assets/pdf.worker.min-qwK7q_zL.mjs
backend/static/assets/permissions-ChixKY_L.js
backend/static/assets/pieDiagram-4H26LBE5-BEoevSrX.js
backend/static/assets/quadrantDiagram-W4KKPZXB-CwTyi4l7.js
backend/static/assets/react-vendor-B9Z7D9kT.css
backend/static/assets/react-vendor-D-A9oZv0.js
backend/static/assets/requirementDiagram-4Y6WPE33-C0ts8nzW.js
backend/static/assets/sankeyDiagram-5OEKKPKP-COb8cAU9.js
backend/static/assets/sequenceDiagram-3UESZ5HK-DQ4oJOSq.js
backend/static/assets/stateDiagram-AJRCARHV-DB7lbo8X.js
backend/static/assets/stateDiagram-v2-BHNVJYJU-BkBPd5nW.js
backend/static/assets/timeline-definition-PNZ67QCA-Bu-1ffiL.js
backend/static/assets/treeBreadcrumbs-CpaE1543.js
backend/static/assets/treeRouteState-BNlMLOl9.js
backend/static/assets/urlState-DNJd2clf.js
backend/static/assets/useAsyncLoad-BxqJIu7P.js
backend/static/assets/vennDiagram-CIIHVFJN-nVhYg_zO.js
backend/static/assets/wardley-L42UT6IY-BdL46ant.js
backend/static/assets/wardleyDiagram-YWT4CUSO-BGM9TwwH.js
backend/static/assets/xychartDiagram-2RQKCTM6-CMs6AC4_.js
backend/utils/__init__.py
backend/utils/actor_display.py
backend/utils/content_hash.py
backend/utils/page_frontmatter.py
backend/utils/uuid.py
backend/worker/__init__.py
backend/worker/entry.py
backend/worker/runtime.py
dtxwiki.egg-info/PKG-INFO
dtxwiki.egg-info/SOURCES.txt
dtxwiki.egg-info/dependency_links.txt
dtxwiki.egg-info/entry_points.txt
dtxwiki.egg-info/requires.txt
dtxwiki.egg-info/top_level.txt
infra/prod/.env.docker.example
infra/prod/.env.example
infra/prod/Caddyfile.docker
infra/prod/Caddyfile.example
infra/prod/docker-compose.yml
infra/prod/docker-entrypoint.sh
infra/prod/dtxwiki-worker.service
infra/prod/dtxwiki.service
infra/prod/install.sh
infra/prod/nginx.conf.example
tests/packaging/production_smoke.ps1
tests/packaging/production_smoke.sh