pythinker-code 0.14.0__tar.gz → 0.16.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (830) hide show
  1. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/PKG-INFO +36 -57
  2. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/README.md +35 -56
  3. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/pyproject.toml +1 -1
  4. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/CHANGELOG.md +20 -0
  5. pythinker_code-0.16.0/src/pythinker_code/native.py +63 -0
  6. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/update.py +113 -47
  7. pythinker_code-0.14.0/src/pythinker_code/web/static/assets/_baseUniq-C09CFMcb.js → pythinker_code-0.16.0/src/pythinker_code/web/static/assets/_baseUniq-C7Lm5yvo.js +1 -1
  8. pythinker_code-0.14.0/src/pythinker_code/web/static/assets/arc-vndVidZU.js → pythinker_code-0.16.0/src/pythinker_code/web/static/assets/arc-Dz2a-Hq4.js +1 -1
  9. pythinker_code-0.14.0/src/pythinker_code/web/static/assets/architectureDiagram-VXUJARFQ-aHx4vpo6.js → pythinker_code-0.16.0/src/pythinker_code/web/static/assets/architectureDiagram-VXUJARFQ-CJsZQU8P.js +1 -1
  10. pythinker_code-0.14.0/src/pythinker_code/web/static/assets/blockDiagram-VD42YOAC-CK8Wu5Sz.js → pythinker_code-0.16.0/src/pythinker_code/web/static/assets/blockDiagram-VD42YOAC-CX9hqfTf.js +1 -1
  11. pythinker_code-0.14.0/src/pythinker_code/web/static/assets/c4Diagram-YG6GDRKO-GFtYFRZq.js → pythinker_code-0.16.0/src/pythinker_code/web/static/assets/c4Diagram-YG6GDRKO-cSQejz9F.js +1 -1
  12. pythinker_code-0.16.0/src/pythinker_code/web/static/assets/channel-DmYfOdgd.js +1 -0
  13. pythinker_code-0.14.0/src/pythinker_code/web/static/assets/chunk-4BX2VUAB-DHSrZa_c.js → pythinker_code-0.16.0/src/pythinker_code/web/static/assets/chunk-4BX2VUAB-DENWwfQo.js +1 -1
  14. pythinker_code-0.14.0/src/pythinker_code/web/static/assets/chunk-55IACEB6-CKx5mwXv.js → pythinker_code-0.16.0/src/pythinker_code/web/static/assets/chunk-55IACEB6-BjAz7E1Q.js +1 -1
  15. pythinker_code-0.14.0/src/pythinker_code/web/static/assets/chunk-B4BG7PRW-DepSCHzs.js → pythinker_code-0.16.0/src/pythinker_code/web/static/assets/chunk-B4BG7PRW-DHREpwD8.js +1 -1
  16. pythinker_code-0.14.0/src/pythinker_code/web/static/assets/chunk-DI55MBZ5-ghSjx-4s.js → pythinker_code-0.16.0/src/pythinker_code/web/static/assets/chunk-DI55MBZ5-B_qgxaLM.js +1 -1
  17. pythinker_code-0.14.0/src/pythinker_code/web/static/assets/chunk-FMBD7UC4-CZ-W34rs.js → pythinker_code-0.16.0/src/pythinker_code/web/static/assets/chunk-FMBD7UC4-CSkrSE_m.js +1 -1
  18. pythinker_code-0.14.0/src/pythinker_code/web/static/assets/chunk-QN33PNHL-CJaddcG4.js → pythinker_code-0.16.0/src/pythinker_code/web/static/assets/chunk-QN33PNHL-B102Qoa4.js +1 -1
  19. pythinker_code-0.14.0/src/pythinker_code/web/static/assets/chunk-QZHKN3VN-B0ddzSE9.js → pythinker_code-0.16.0/src/pythinker_code/web/static/assets/chunk-QZHKN3VN-CcH2XgAh.js +1 -1
  20. pythinker_code-0.14.0/src/pythinker_code/web/static/assets/chunk-TZMSLE5B-CkZXJVOs.js → pythinker_code-0.16.0/src/pythinker_code/web/static/assets/chunk-TZMSLE5B-BCrhDM6d.js +1 -1
  21. pythinker_code-0.16.0/src/pythinker_code/web/static/assets/classDiagram-2ON5EDUG-qvGW6z7e.js +1 -0
  22. pythinker_code-0.16.0/src/pythinker_code/web/static/assets/classDiagram-v2-WZHVMYZB-qvGW6z7e.js +1 -0
  23. pythinker_code-0.16.0/src/pythinker_code/web/static/assets/clone-aktTc1WH.js +1 -0
  24. pythinker_code-0.14.0/src/pythinker_code/web/static/assets/code-block-IT6T5CEO-C_PO3Y8u.js → pythinker_code-0.16.0/src/pythinker_code/web/static/assets/code-block-IT6T5CEO-CxK2_ZRv.js +1 -1
  25. pythinker_code-0.14.0/src/pythinker_code/web/static/assets/cose-bilkent-S5V4N54A-EszWu_33.js → pythinker_code-0.16.0/src/pythinker_code/web/static/assets/cose-bilkent-S5V4N54A-P03CC8NX.js +1 -1
  26. pythinker_code-0.14.0/src/pythinker_code/web/static/assets/cytoscape.esm-Bpug4tfx.js → pythinker_code-0.16.0/src/pythinker_code/web/static/assets/cytoscape.esm-2bFCBNMd.js +1 -1
  27. pythinker_code-0.14.0/src/pythinker_code/web/static/assets/dagre-6UL2VRFP-q1IRrtY9.js → pythinker_code-0.16.0/src/pythinker_code/web/static/assets/dagre-6UL2VRFP-BT781HbA.js +1 -1
  28. pythinker_code-0.14.0/src/pythinker_code/web/static/assets/diagram-PSM6KHXK-xPPymnsx.js → pythinker_code-0.16.0/src/pythinker_code/web/static/assets/diagram-PSM6KHXK-BnyX8Hza.js +1 -1
  29. pythinker_code-0.14.0/src/pythinker_code/web/static/assets/diagram-QEK2KX5R-lqmd2ZS5.js → pythinker_code-0.16.0/src/pythinker_code/web/static/assets/diagram-QEK2KX5R-CNxIhmQ7.js +1 -1
  30. pythinker_code-0.14.0/src/pythinker_code/web/static/assets/diagram-S2PKOQOG-Mkc9A7mV.js → pythinker_code-0.16.0/src/pythinker_code/web/static/assets/diagram-S2PKOQOG-CfVSAgk2.js +1 -1
  31. pythinker_code-0.14.0/src/pythinker_code/web/static/assets/erDiagram-Q2GNP2WA-D2NXtDpX.js → pythinker_code-0.16.0/src/pythinker_code/web/static/assets/erDiagram-Q2GNP2WA-t1gwlCQc.js +1 -1
  32. pythinker_code-0.14.0/src/pythinker_code/web/static/assets/flowDiagram-NV44I4VS-DXEBgOiE.js → pythinker_code-0.16.0/src/pythinker_code/web/static/assets/flowDiagram-NV44I4VS-CnZzBqWT.js +1 -1
  33. pythinker_code-0.14.0/src/pythinker_code/web/static/assets/ganttDiagram-JELNMOA3-B0juEKTq.js → pythinker_code-0.16.0/src/pythinker_code/web/static/assets/ganttDiagram-JELNMOA3-DCdDrdcK.js +1 -1
  34. pythinker_code-0.14.0/src/pythinker_code/web/static/assets/gitGraphDiagram-NY62KEGX-CCOLX6a9.js → pythinker_code-0.16.0/src/pythinker_code/web/static/assets/gitGraphDiagram-NY62KEGX-Ctp9RsTH.js +1 -1
  35. pythinker_code-0.14.0/src/pythinker_code/web/static/assets/graph-zQCuB0ii.js → pythinker_code-0.16.0/src/pythinker_code/web/static/assets/graph-DrwQi5qA.js +1 -1
  36. pythinker_code-0.14.0/src/pythinker_code/web/static/assets/index-BTo9SuG0.js → pythinker_code-0.16.0/src/pythinker_code/web/static/assets/index--TWNXhaY.js +1 -1
  37. pythinker_code-0.14.0/src/pythinker_code/web/static/assets/index-CKiWCD3p.js → pythinker_code-0.16.0/src/pythinker_code/web/static/assets/index-B758--8h.js +1 -1
  38. pythinker_code-0.14.0/src/pythinker_code/web/static/assets/index-DUhp6as7.js → pythinker_code-0.16.0/src/pythinker_code/web/static/assets/index-CzkMvfiJ.js +2 -2
  39. pythinker_code-0.14.0/src/pythinker_code/web/static/assets/infoDiagram-WHAUD3N6-DsZBOneg.js → pythinker_code-0.16.0/src/pythinker_code/web/static/assets/infoDiagram-WHAUD3N6-Csp12hF4.js +1 -1
  40. pythinker_code-0.14.0/src/pythinker_code/web/static/assets/journeyDiagram-XKPGCS4Q-DIC4IfOP.js → pythinker_code-0.16.0/src/pythinker_code/web/static/assets/journeyDiagram-XKPGCS4Q-zN4HAFCP.js +1 -1
  41. pythinker_code-0.14.0/src/pythinker_code/web/static/assets/kanban-definition-3W4ZIXB7-CjI-JpQF.js → pythinker_code-0.16.0/src/pythinker_code/web/static/assets/kanban-definition-3W4ZIXB7-0-xpvozd.js +1 -1
  42. pythinker_code-0.14.0/src/pythinker_code/web/static/assets/layout-D_YFKfgX.js → pythinker_code-0.16.0/src/pythinker_code/web/static/assets/layout-BVsTxsKN.js +1 -1
  43. pythinker_code-0.14.0/src/pythinker_code/web/static/assets/linear-DL-5jFok.js → pythinker_code-0.16.0/src/pythinker_code/web/static/assets/linear-BYR73i1j.js +1 -1
  44. pythinker_code-0.14.0/src/pythinker_code/web/static/assets/mermaid-VLURNSYL-CENH8iSv.js → pythinker_code-0.16.0/src/pythinker_code/web/static/assets/mermaid-VLURNSYL-DmNoW0GC.js +7 -7
  45. pythinker_code-0.14.0/src/pythinker_code/web/static/assets/mermaid.core-DbXSGdxH.js → pythinker_code-0.16.0/src/pythinker_code/web/static/assets/mermaid.core-Dc3U-PWB.js +5 -5
  46. pythinker_code-0.14.0/src/pythinker_code/web/static/assets/min-CVH2ckSS.js → pythinker_code-0.16.0/src/pythinker_code/web/static/assets/min-j-ny6Xor.js +1 -1
  47. pythinker_code-0.14.0/src/pythinker_code/web/static/assets/mindmap-definition-VGOIOE7T-CgFCoQXV.js → pythinker_code-0.16.0/src/pythinker_code/web/static/assets/mindmap-definition-VGOIOE7T-aqL9L8vw.js +1 -1
  48. pythinker_code-0.14.0/src/pythinker_code/web/static/assets/pieDiagram-ADFJNKIX-BLUfmVC6.js → pythinker_code-0.16.0/src/pythinker_code/web/static/assets/pieDiagram-ADFJNKIX-DQrHZG2X.js +1 -1
  49. pythinker_code-0.14.0/src/pythinker_code/web/static/assets/quadrantDiagram-AYHSOK5B-paLGoA70.js → pythinker_code-0.16.0/src/pythinker_code/web/static/assets/quadrantDiagram-AYHSOK5B-u2BY8IXs.js +1 -1
  50. pythinker_code-0.14.0/src/pythinker_code/web/static/assets/requirementDiagram-UZGBJVZJ-Nn02IObL.js → pythinker_code-0.16.0/src/pythinker_code/web/static/assets/requirementDiagram-UZGBJVZJ-L6zi-5FC.js +1 -1
  51. pythinker_code-0.14.0/src/pythinker_code/web/static/assets/sankeyDiagram-TZEHDZUN-DSqdplKY.js → pythinker_code-0.16.0/src/pythinker_code/web/static/assets/sankeyDiagram-TZEHDZUN-CPnmSSfJ.js +1 -1
  52. pythinker_code-0.14.0/src/pythinker_code/web/static/assets/sequenceDiagram-WL72ISMW-B0x4izdF.js → pythinker_code-0.16.0/src/pythinker_code/web/static/assets/sequenceDiagram-WL72ISMW-CnT5YJov.js +1 -1
  53. pythinker_code-0.14.0/src/pythinker_code/web/static/assets/stateDiagram-FKZM4ZOC-Dp7_jWt8.js → pythinker_code-0.16.0/src/pythinker_code/web/static/assets/stateDiagram-FKZM4ZOC-DOg3yqFr.js +1 -1
  54. pythinker_code-0.16.0/src/pythinker_code/web/static/assets/stateDiagram-v2-4FDKWEC3-qlhTG-tY.js +1 -0
  55. pythinker_code-0.14.0/src/pythinker_code/web/static/assets/timeline-definition-IT6M3QCI-Dz4oGx-s.js → pythinker_code-0.16.0/src/pythinker_code/web/static/assets/timeline-definition-IT6M3QCI-BTl9Y_1U.js +1 -1
  56. pythinker_code-0.14.0/src/pythinker_code/web/static/assets/treemap-KMMF4GRG-DfJhBtGa.js → pythinker_code-0.16.0/src/pythinker_code/web/static/assets/treemap-KMMF4GRG-q3mN72YJ.js +1 -1
  57. pythinker_code-0.14.0/src/pythinker_code/web/static/assets/xychartDiagram-PRI3JC2R-C2VK-J-z.js → pythinker_code-0.16.0/src/pythinker_code/web/static/assets/xychartDiagram-PRI3JC2R-C1jRvwXD.js +1 -1
  58. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/index.html +1 -1
  59. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/install.ps1 +1 -1
  60. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/install.sh +1 -1
  61. pythinker_code-0.14.0/src/pythinker_code/native.py +0 -38
  62. pythinker_code-0.14.0/src/pythinker_code/web/static/assets/channel-fVTjBWhH.js +0 -1
  63. pythinker_code-0.14.0/src/pythinker_code/web/static/assets/classDiagram-2ON5EDUG-KIr1VHCy.js +0 -1
  64. pythinker_code-0.14.0/src/pythinker_code/web/static/assets/classDiagram-v2-WZHVMYZB-KIr1VHCy.js +0 -1
  65. pythinker_code-0.14.0/src/pythinker_code/web/static/assets/clone-CxvtVeJa.js +0 -1
  66. pythinker_code-0.14.0/src/pythinker_code/web/static/assets/stateDiagram-v2-4FDKWEC3-DdtldWYY.js +0 -1
  67. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/LICENSE +0 -0
  68. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/NOTICE +0 -0
  69. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/__init__.py +0 -0
  70. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/__main__.py +0 -0
  71. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/acp/AGENTS.md +0 -0
  72. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/acp/__init__.py +0 -0
  73. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/acp/convert.py +0 -0
  74. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/acp/host.py +0 -0
  75. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/acp/mcp.py +0 -0
  76. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/acp/server.py +0 -0
  77. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/acp/session.py +0 -0
  78. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/acp/tools.py +0 -0
  79. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/acp/types.py +0 -0
  80. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/acp/version.py +0 -0
  81. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/agents/default/agent.yaml +0 -0
  82. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/agents/default/code_reviewer.yaml +0 -0
  83. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/agents/default/coder.yaml +0 -0
  84. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/agents/default/debugger.yaml +0 -0
  85. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/agents/default/explore.yaml +0 -0
  86. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/agents/default/implementer.yaml +0 -0
  87. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/agents/default/plan.yaml +0 -0
  88. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/agents/default/review.yaml +0 -0
  89. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/agents/default/security_reviewer.yaml +0 -0
  90. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/agents/default/system.md +0 -0
  91. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/agents/default/verifier.yaml +0 -0
  92. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/agents/okabe/agent.yaml +0 -0
  93. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/agentspec.py +0 -0
  94. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/app.py +0 -0
  95. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/approval_runtime/__init__.py +0 -0
  96. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/approval_runtime/models.py +0 -0
  97. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/approval_runtime/runtime.py +0 -0
  98. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/auth/__init__.py +0 -0
  99. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/auth/anthropic_direct.py +0 -0
  100. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/auth/deepseek.py +0 -0
  101. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/auth/github_feedback.py +0 -0
  102. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/auth/lm_studio.py +0 -0
  103. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/auth/minimax.py +0 -0
  104. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/auth/oauth.py +0 -0
  105. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/auth/ollama.py +0 -0
  106. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/auth/openai.py +0 -0
  107. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/auth/opencode_go.py +0 -0
  108. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/auth/openrouter.py +0 -0
  109. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/auth/platforms.py +0 -0
  110. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/background/__init__.py +0 -0
  111. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/background/agent_runner.py +0 -0
  112. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/background/ids.py +0 -0
  113. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/background/manager.py +0 -0
  114. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/background/models.py +0 -0
  115. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/background/store.py +0 -0
  116. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/background/summary.py +0 -0
  117. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/background/worker.py +0 -0
  118. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/cli/__init__.py +0 -0
  119. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/cli/__main__.py +0 -0
  120. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/cli/_lazy_group.py +0 -0
  121. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/cli/debug.py +0 -0
  122. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/cli/export.py +0 -0
  123. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/cli/info.py +0 -0
  124. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/cli/mcp.py +0 -0
  125. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/cli/plugin.py +0 -0
  126. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/cli/review.py +0 -0
  127. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/cli/secscan.py +0 -0
  128. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/cli/security_scan.py +0 -0
  129. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/cli/skill.py +0 -0
  130. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/cli/toad.py +0 -0
  131. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/cli/update.py +0 -0
  132. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/cli/vis.py +0 -0
  133. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/cli/web.py +0 -0
  134. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/config.py +0 -0
  135. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/constant.py +0 -0
  136. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/events.py +0 -0
  137. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/exception.py +0 -0
  138. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/execution_profiles.py +0 -0
  139. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/extensions.py +0 -0
  140. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/file_restore.py +0 -0
  141. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/hooks/__init__.py +0 -0
  142. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/hooks/config.py +0 -0
  143. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/hooks/engine.py +0 -0
  144. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/hooks/events.py +0 -0
  145. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/hooks/runner.py +0 -0
  146. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/llm.py +0 -0
  147. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/metadata.py +0 -0
  148. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/notifications/__init__.py +0 -0
  149. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/notifications/llm.py +0 -0
  150. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/notifications/manager.py +0 -0
  151. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/notifications/models.py +0 -0
  152. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/notifications/notifier.py +0 -0
  153. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/notifications/store.py +0 -0
  154. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/notifications/wire.py +0 -0
  155. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/plugin/__init__.py +0 -0
  156. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/plugin/manager.py +0 -0
  157. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/plugin/tool.py +0 -0
  158. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/prompt_templates.py +0 -0
  159. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/prompts/__init__.py +0 -0
  160. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/prompts/compact.md +0 -0
  161. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/prompts/init.md +0 -0
  162. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/py.typed +0 -0
  163. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/session.py +0 -0
  164. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/session_fork.py +0 -0
  165. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/session_state.py +0 -0
  166. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/share.py +0 -0
  167. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/skill/__init__.py +0 -0
  168. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/skill/flow/__init__.py +0 -0
  169. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/skill/flow/d2.py +0 -0
  170. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/skill/flow/mermaid.py +0 -0
  171. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/skill/lockfile.py +0 -0
  172. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/skills/check-impl-against-spec/SKILL.md +0 -0
  173. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/skills/create-pr/SKILL.md +0 -0
  174. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/skills/diagnose-ci-failures/SKILL.md +0 -0
  175. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/skills/fix-errors/SKILL.md +0 -0
  176. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/skills/implement-specs/SKILL.md +0 -0
  177. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/skills/pr-walkthrough/SKILL.md +0 -0
  178. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/skills/pythinker-code-help/SKILL.md +0 -0
  179. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/skills/reproduce-bug-report/SKILL.md +0 -0
  180. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/skills/resolve-merge-conflicts/SKILL.md +0 -0
  181. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/skills/review-pr/SKILL.md +0 -0
  182. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/skills/skill-creator/SKILL.md +0 -0
  183. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/skills/spec-driven-implementation/SKILL.md +0 -0
  184. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/skills/write-product-spec/SKILL.md +0 -0
  185. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/skills/write-tech-spec/SKILL.md +0 -0
  186. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/soul/__init__.py +0 -0
  187. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/soul/agent.py +0 -0
  188. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/soul/approval.py +0 -0
  189. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/soul/btw.py +0 -0
  190. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/soul/compaction.py +0 -0
  191. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/soul/context.py +0 -0
  192. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/soul/denwarenji.py +0 -0
  193. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/soul/dynamic_injection.py +0 -0
  194. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/soul/dynamic_injections/__init__.py +0 -0
  195. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/soul/dynamic_injections/auto_mode.py +0 -0
  196. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/soul/dynamic_injections/plan_mode.py +0 -0
  197. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/soul/message.py +0 -0
  198. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/soul/permission.py +0 -0
  199. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/soul/pythinkersoul.py +0 -0
  200. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/soul/slash.py +0 -0
  201. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/soul/toolset.py +0 -0
  202. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/subagents/__init__.py +0 -0
  203. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/subagents/builder.py +0 -0
  204. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/subagents/core.py +0 -0
  205. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/subagents/discovery.py +0 -0
  206. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/subagents/git_context.py +0 -0
  207. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/subagents/models.py +0 -0
  208. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/subagents/output.py +0 -0
  209. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/subagents/registry.py +0 -0
  210. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/subagents/runner.py +0 -0
  211. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/subagents/store.py +0 -0
  212. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/telemetry/__init__.py +0 -0
  213. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/telemetry/config.py +0 -0
  214. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/telemetry/crash.py +0 -0
  215. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/telemetry/errors.py +0 -0
  216. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/telemetry/metrics.py +0 -0
  217. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/telemetry/otel.py +0 -0
  218. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/telemetry/sentry.py +0 -0
  219. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/telemetry/sink.py +0 -0
  220. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/tools/AGENTS.md +0 -0
  221. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/tools/__init__.py +0 -0
  222. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/tools/agent/__init__.py +0 -0
  223. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/tools/agent/description.md +0 -0
  224. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/tools/ask_user/__init__.py +0 -0
  225. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/tools/ask_user/description.md +0 -0
  226. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/tools/background/__init__.py +0 -0
  227. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/tools/background/handoff.md +0 -0
  228. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/tools/background/input.md +0 -0
  229. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/tools/background/list.md +0 -0
  230. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/tools/background/output.md +0 -0
  231. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/tools/background/stop.md +0 -0
  232. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/tools/display.py +0 -0
  233. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/tools/dmail/__init__.py +0 -0
  234. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/tools/dmail/dmail.md +0 -0
  235. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/tools/file/__init__.py +0 -0
  236. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/tools/file/glob.md +0 -0
  237. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/tools/file/glob.py +0 -0
  238. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/tools/file/grep.md +0 -0
  239. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/tools/file/grep_local.py +0 -0
  240. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/tools/file/plan_mode.py +0 -0
  241. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/tools/file/read.md +0 -0
  242. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/tools/file/read.py +0 -0
  243. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/tools/file/read_media.md +0 -0
  244. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/tools/file/read_media.py +0 -0
  245. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/tools/file/replace.md +0 -0
  246. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/tools/file/replace.py +0 -0
  247. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/tools/file/utils.py +0 -0
  248. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/tools/file/write.md +0 -0
  249. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/tools/file/write.py +0 -0
  250. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/tools/plan/__init__.py +0 -0
  251. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/tools/plan/description.md +0 -0
  252. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/tools/plan/enter.py +0 -0
  253. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/tools/plan/enter_description.md +0 -0
  254. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/tools/plan/handoff.py +0 -0
  255. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/tools/plan/heroes.py +0 -0
  256. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/tools/shell/__init__.py +0 -0
  257. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/tools/shell/bash.md +0 -0
  258. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/tools/shell/powershell.md +0 -0
  259. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/tools/skill/__init__.py +0 -0
  260. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/tools/skill/description.md +0 -0
  261. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/tools/test.py +0 -0
  262. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/tools/think/__init__.py +0 -0
  263. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/tools/think/think.md +0 -0
  264. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/tools/todo/__init__.py +0 -0
  265. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/tools/todo/set_todo_list.md +0 -0
  266. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/tools/utils.py +0 -0
  267. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/tools/web/__init__.py +0 -0
  268. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/tools/web/fetch.md +0 -0
  269. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/tools/web/fetch.py +0 -0
  270. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/tools/web/search.md +0 -0
  271. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/tools/web/search.py +0 -0
  272. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/__init__.py +0 -0
  273. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/acp/__init__.py +0 -0
  274. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/print/__init__.py +0 -0
  275. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/print/visualize.py +0 -0
  276. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/__init__.py +0 -0
  277. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/components/__init__.py +0 -0
  278. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/components/base.py +0 -0
  279. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/components/bash_execution.py +0 -0
  280. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/components/bordered_loader.py +0 -0
  281. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/components/diff.py +0 -0
  282. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/components/footer.py +0 -0
  283. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/components/key_hints.py +0 -0
  284. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/components/markdown.py +0 -0
  285. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/components/messages.py +0 -0
  286. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/components/render_utils.py +0 -0
  287. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/components/settings_list.py +0 -0
  288. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/components/special_messages.py +0 -0
  289. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/components/tool_execution.py +0 -0
  290. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/console.py +0 -0
  291. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/debug.py +0 -0
  292. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/design_system.py +0 -0
  293. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/echo.py +0 -0
  294. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/export_import.py +0 -0
  295. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/glyphs.py +0 -0
  296. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/keyboard.py +0 -0
  297. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/keymap.py +0 -0
  298. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/mcp_status.py +0 -0
  299. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/model_picker.py +0 -0
  300. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/motion.py +0 -0
  301. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/oauth.py +0 -0
  302. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/placeholders.py +0 -0
  303. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/prompt.py +0 -0
  304. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/render_constants.py +0 -0
  305. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/replay.py +0 -0
  306. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/selector.py +0 -0
  307. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/selectors/__init__.py +0 -0
  308. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/selectors/extension.py +0 -0
  309. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/selectors/oauth.py +0 -0
  310. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/selectors/settings.py +0 -0
  311. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/selectors/show_images.py +0 -0
  312. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/selectors/theme.py +0 -0
  313. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/selectors/thinking.py +0 -0
  314. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/session_picker.py +0 -0
  315. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/setup.py +0 -0
  316. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/slash.py +0 -0
  317. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/spacing.py +0 -0
  318. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/spinner_words.py +0 -0
  319. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/startup.py +0 -0
  320. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/task_browser.py +0 -0
  321. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/tips.py +0 -0
  322. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/tool_renderers/__init__.py +0 -0
  323. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/tool_renderers/_file_diff.py +0 -0
  324. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/tool_renderers/_render_utils.py +0 -0
  325. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/tool_renderers/agent.py +0 -0
  326. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/tool_renderers/ask_user.py +0 -0
  327. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/tool_renderers/background.py +0 -0
  328. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/tool_renderers/bash.py +0 -0
  329. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/tool_renderers/edit.py +0 -0
  330. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/tool_renderers/find.py +0 -0
  331. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/tool_renderers/generic.py +0 -0
  332. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/tool_renderers/grep.py +0 -0
  333. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/tool_renderers/plan.py +0 -0
  334. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/tool_renderers/read.py +0 -0
  335. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/tool_renderers/think.py +0 -0
  336. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/tool_renderers/todo.py +0 -0
  337. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/tool_renderers/web.py +0 -0
  338. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/tool_renderers/write.py +0 -0
  339. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/usage.py +0 -0
  340. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/usage_adapters/__init__.py +0 -0
  341. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/usage_adapters/anthropic_admin.py +0 -0
  342. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/usage_adapters/base.py +0 -0
  343. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/usage_adapters/deepseek.py +0 -0
  344. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/usage_adapters/minimax.py +0 -0
  345. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/usage_adapters/openai_admin.py +0 -0
  346. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/usage_adapters/openai_chatgpt.py +0 -0
  347. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/usage_adapters/opencode_go.py +0 -0
  348. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/usage_adapters/openrouter.py +0 -0
  349. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/usage_adapters/pythinker.py +0 -0
  350. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/usage_adapters/pythinker_ai.py +0 -0
  351. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/usage_render.py +0 -0
  352. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/visualize/__init__.py +0 -0
  353. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/visualize/_activity_tree.py +0 -0
  354. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/visualize/_approval_panel.py +0 -0
  355. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/visualize/_blocks.py +0 -0
  356. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/visualize/_btw_panel.py +0 -0
  357. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/visualize/_dialog_shell.py +0 -0
  358. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/visualize/_input_router.py +0 -0
  359. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/visualize/_interactive.py +0 -0
  360. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/visualize/_live_view.py +0 -0
  361. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/visualize/_question_panel.py +0 -0
  362. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/visualize/_transcript.py +0 -0
  363. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/shell/visualize/_worklog.py +0 -0
  364. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/theme.py +0 -0
  365. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/ui/tui_config.py +0 -0
  366. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/usage_ratelimit_cache.py +0 -0
  367. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/utils/__init__.py +0 -0
  368. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/utils/aiohttp.py +0 -0
  369. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/utils/aioqueue.py +0 -0
  370. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/utils/broadcast.py +0 -0
  371. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/utils/changelog.py +0 -0
  372. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/utils/clipboard.py +0 -0
  373. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/utils/datetime.py +0 -0
  374. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/utils/diff.py +0 -0
  375. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/utils/editor.py +0 -0
  376. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/utils/environment.py +0 -0
  377. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/utils/envvar.py +0 -0
  378. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/utils/export.py +0 -0
  379. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/utils/file_filter.py +0 -0
  380. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/utils/frontmatter.py +0 -0
  381. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/utils/io.py +0 -0
  382. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/utils/logging.py +0 -0
  383. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/utils/media_tags.py +0 -0
  384. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/utils/message.py +0 -0
  385. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/utils/path.py +0 -0
  386. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/utils/proctitle.py +0 -0
  387. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/utils/proxy.py +0 -0
  388. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/utils/pyinstaller.py +0 -0
  389. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/utils/rich/__init__.py +0 -0
  390. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/utils/rich/columns.py +0 -0
  391. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/utils/rich/diff_render.py +0 -0
  392. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/utils/rich/markdown.py +0 -0
  393. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/utils/rich/markdown_sample.md +0 -0
  394. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/utils/rich/markdown_sample_short.md +0 -0
  395. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/utils/rich/syntax.py +0 -0
  396. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/utils/sensitive.py +0 -0
  397. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/utils/server.py +0 -0
  398. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/utils/signals.py +0 -0
  399. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/utils/slashcmd.py +0 -0
  400. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/utils/string.py +0 -0
  401. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/utils/subprocess_env.py +0 -0
  402. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/utils/term.py +0 -0
  403. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/utils/typing.py +0 -0
  404. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/vis/__init__.py +0 -0
  405. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/vis/api/__init__.py +0 -0
  406. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/vis/api/sessions.py +0 -0
  407. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/vis/api/statistics.py +0 -0
  408. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/vis/api/system.py +0 -0
  409. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/vis/app.py +0 -0
  410. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/vis/static/assets/highlighted-body-B3W2YXNL-CY1rtwrX.js +0 -0
  411. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/vis/static/assets/index-DSRInNnm.css +0 -0
  412. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/vis/static/assets/index-DgmTI2M_.js +0 -0
  413. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/vis/static/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2 +0 -0
  414. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/vis/static/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2 +0 -0
  415. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/vis/static/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2 +0 -0
  416. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/vis/static/assets/inter-greek-wght-normal-CkhJZR-_.woff2 +0 -0
  417. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/vis/static/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2 +0 -0
  418. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/vis/static/assets/inter-latin-wght-normal-Dx4kXJAl.woff2 +0 -0
  419. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/vis/static/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2 +0 -0
  420. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/vis/static/index.html +0 -0
  421. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/__init__.py +0 -0
  422. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/api/__init__.py +0 -0
  423. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/api/config.py +0 -0
  424. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/api/open_in.py +0 -0
  425. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/api/sessions.py +0 -0
  426. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/app.py +0 -0
  427. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/auth.py +0 -0
  428. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/models.py +0 -0
  429. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/runner/__init__.py +0 -0
  430. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/runner/messages.py +0 -0
  431. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/runner/process.py +0 -0
  432. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/runner/worker.py +0 -0
  433. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/_headers +0 -0
  434. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  435. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  436. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  437. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  438. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  439. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  440. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  441. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  442. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  443. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  444. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  445. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  446. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  447. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  448. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  449. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  450. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  451. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  452. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  453. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  454. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  455. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  456. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  457. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  458. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  459. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  460. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  461. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  462. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  463. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  464. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  465. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  466. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  467. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  468. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  469. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  470. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  471. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  472. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  473. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  474. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  475. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  476. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  477. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  478. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  479. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  480. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  481. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  482. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  483. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  484. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  485. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  486. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  487. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  488. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  489. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  490. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  491. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  492. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  493. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/abap-BdImnpbu.js +0 -0
  494. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/actionscript-3-CfeIJUat.js +0 -0
  495. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/ada-bCR0ucgS.js +0 -0
  496. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/andromeeda-C-Jbm3Hp.js +0 -0
  497. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/angular-html-CU67Zn6k.js +0 -0
  498. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/angular-ts-BwZT4LLn.js +0 -0
  499. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/apache-Pmp26Uib.js +0 -0
  500. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/apex-D8_7TLub.js +0 -0
  501. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/apl-dKokRX4l.js +0 -0
  502. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/applescript-Co6uUVPk.js +0 -0
  503. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/ara-BRHolxvo.js +0 -0
  504. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/asciidoc-Dv7Oe6Be.js +0 -0
  505. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/asm-D_Q5rh1f.js +0 -0
  506. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/astro-CbQHKStN.js +0 -0
  507. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/aurora-x-D-2ljcwZ.js +0 -0
  508. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/awk-DMzUqQB5.js +0 -0
  509. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/ayu-dark-CmMr59Fi.js +0 -0
  510. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/ballerina-BFfxhgS-.js +0 -0
  511. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/bat-BkioyH1T.js +0 -0
  512. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/beancount-k_qm7-4y.js +0 -0
  513. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/berry-uYugtg8r.js +0 -0
  514. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/bibtex-CHM0blh-.js +0 -0
  515. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/bicep-Bmn6On1c.js +0 -0
  516. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/blade-D4QpJJKB.js +0 -0
  517. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/bsl-BO_Y6i37.js +0 -0
  518. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/c-BIGW1oBm.js +0 -0
  519. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/c3-VCDPK7BO.js +0 -0
  520. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/cadence-Bv_4Rxtq.js +0 -0
  521. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/cairo-KRGpt6FW.js +0 -0
  522. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/catppuccin-frappe-DFWUc33u.js +0 -0
  523. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/catppuccin-latte-C9dUb6Cb.js +0 -0
  524. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/catppuccin-macchiato-DQyhUUbL.js +0 -0
  525. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/catppuccin-mocha-D87Tk5Gz.js +0 -0
  526. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/clarity-D53aC0YG.js +0 -0
  527. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/clojure-P80f7IUj.js +0 -0
  528. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/cmake-D1j8_8rp.js +0 -0
  529. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/cobol-nwyudZeR.js +0 -0
  530. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/codeowners-Bp6g37R7.js +0 -0
  531. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/codeql-DsOJ9woJ.js +0 -0
  532. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/coffee-Ch7k5sss.js +0 -0
  533. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/common-lisp-Cg-RD9OK.js +0 -0
  534. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/coq-DkFqJrB1.js +0 -0
  535. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/cpp-CofmeUqb.js +0 -0
  536. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/crystal-tKQVLTB8.js +0 -0
  537. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/csharp-K5feNrxe.js +0 -0
  538. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/css-DPfMkruS.js +0 -0
  539. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/csv-fuZLfV_i.js +0 -0
  540. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/cue-D82EKSYY.js +0 -0
  541. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/cypher-COkxafJQ.js +0 -0
  542. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/d-85-TOEBH.js +0 -0
  543. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/dark-plus-C3mMm8J8.js +0 -0
  544. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/dart-CF10PKvl.js +0 -0
  545. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/dax-CEL-wOlO.js +0 -0
  546. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/defaultLocale-DX6XiGOO.js +0 -0
  547. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/desktop-BmXAJ9_W.js +0 -0
  548. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/diff-D97Zzqfu.js +0 -0
  549. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/docker-BcOcwvcX.js +0 -0
  550. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/dotenv-Da5cRb03.js +0 -0
  551. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/dracula-BzJJZx-M.js +0 -0
  552. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/dracula-soft-BXkSAIEj.js +0 -0
  553. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/dream-maker-BtqSS_iP.js +0 -0
  554. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/edge-BkV0erSs.js +0 -0
  555. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/elixir-CDX3lj18.js +0 -0
  556. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/elm-DbKCFpqz.js +0 -0
  557. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/emacs-lisp-C9XAeP06.js +0 -0
  558. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/erb-BOJIQeun.js +0 -0
  559. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/erlang-DsQrWhSR.js +0 -0
  560. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/everforest-dark-BgDCqdQA.js +0 -0
  561. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/everforest-light-C8M2exoo.js +0 -0
  562. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/fennel-BYunw83y.js +0 -0
  563. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/fish-BvzEVeQv.js +0 -0
  564. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/fluent-C4IJs8-o.js +0 -0
  565. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/fortran-fixed-form-CkoXwp7k.js +0 -0
  566. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/fortran-free-form-BxgE0vQu.js +0 -0
  567. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/fsharp-CXgrBDvD.js +0 -0
  568. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/gdresource-B7Tvp0Sc.js +0 -0
  569. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/gdscript-DTMYz4Jt.js +0 -0
  570. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/gdshader-DkwncUOv.js +0 -0
  571. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/genie-D0YGMca9.js +0 -0
  572. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/gherkin-DyxjwDmM.js +0 -0
  573. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/git-commit-F4YmCXRG.js +0 -0
  574. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/git-rebase-r7XF79zn.js +0 -0
  575. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/github-dark-DHJKELXO.js +0 -0
  576. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/github-dark-default-Cuk6v7N8.js +0 -0
  577. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/github-dark-dimmed-DH5Ifo-i.js +0 -0
  578. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/github-dark-high-contrast-E3gJ1_iC.js +0 -0
  579. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/github-light-DAi9KRSo.js +0 -0
  580. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/github-light-default-D7oLnXFd.js +0 -0
  581. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/github-light-high-contrast-BfjtVDDH.js +0 -0
  582. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/gleam-BspZqrRM.js +0 -0
  583. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/glimmer-js-Rg0-pVw9.js +0 -0
  584. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/glimmer-ts-U6CK756n.js +0 -0
  585. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/glsl-DplSGwfg.js +0 -0
  586. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/gn-n2N0HUVH.js +0 -0
  587. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/gnuplot-DdkO51Og.js +0 -0
  588. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/go-Dn2_MT6a.js +0 -0
  589. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/graphql-ChdNCCLP.js +0 -0
  590. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/groovy-gcz8RCvz.js +0 -0
  591. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/gruvbox-dark-hard-CFHQjOhq.js +0 -0
  592. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/gruvbox-dark-medium-GsRaNv29.js +0 -0
  593. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/gruvbox-dark-soft-CVdnzihN.js +0 -0
  594. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/gruvbox-light-hard-CH1njM8p.js +0 -0
  595. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/gruvbox-light-medium-DRw_LuNl.js +0 -0
  596. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/gruvbox-light-soft-hJgmCMqR.js +0 -0
  597. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/hack-CaT9iCJl.js +0 -0
  598. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/haml-B8DHNrY2.js +0 -0
  599. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/handlebars-BL8al0AC.js +0 -0
  600. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/haskell-Df6bDoY_.js +0 -0
  601. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/haxe-CzTSHFRz.js +0 -0
  602. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/hcl-BWvSN4gD.js +0 -0
  603. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/hjson-D5-asLiD.js +0 -0
  604. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/hlsl-D3lLCCz7.js +0 -0
  605. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/houston-DnULxvSX.js +0 -0
  606. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/html-GMplVEZG.js +0 -0
  607. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/html-derivative-BFtXZ54Q.js +0 -0
  608. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/http-jrhK8wxY.js +0 -0
  609. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/hurl-irOxFIW8.js +0 -0
  610. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/hxml-Bvhsp5Yf.js +0 -0
  611. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/hy-DFXneXwc.js +0 -0
  612. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/imba-DGztddWO.js +0 -0
  613. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/index-BpoLgcEt.js +0 -0
  614. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/index-CzV_vCfu.css +0 -0
  615. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/index-DI2oedCt.js +0 -0
  616. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/ini-BEwlwnbL.js +0 -0
  617. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/init-Gi6I4Gst.js +0 -0
  618. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2 +0 -0
  619. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2 +0 -0
  620. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2 +0 -0
  621. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/inter-greek-wght-normal-CkhJZR-_.woff2 +0 -0
  622. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2 +0 -0
  623. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/inter-latin-wght-normal-Dx4kXJAl.woff2 +0 -0
  624. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2 +0 -0
  625. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/java-CylS5w8V.js +0 -0
  626. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/javascript-wDzz0qaB.js +0 -0
  627. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/jinja-4LBKfQ-Z.js +0 -0
  628. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/jison-wvAkD_A8.js +0 -0
  629. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/json-Cp-IABpG.js +0 -0
  630. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/json5-C9tS-k6U.js +0 -0
  631. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/jsonc-Des-eS-w.js +0 -0
  632. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/jsonl-DcaNXYhu.js +0 -0
  633. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/jsonnet-DFQXde-d.js +0 -0
  634. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/jssm-C2t-YnRu.js +0 -0
  635. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/jsx-g9-lgVsj.js +0 -0
  636. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/julia-CxzCAyBv.js +0 -0
  637. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/kanagawa-dragon-CkXjmgJE.js +0 -0
  638. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/kanagawa-lotus-CfQXZHmo.js +0 -0
  639. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/kanagawa-wave-DWedfzmr.js +0 -0
  640. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/katex-D2lIc1rk.css +0 -0
  641. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/kdl-DV7GczEv.js +0 -0
  642. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/kotlin-BdnUsdx6.js +0 -0
  643. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/kusto-DZf3V79B.js +0 -0
  644. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/laserwave-DUszq2jm.js +0 -0
  645. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/latex-B4uzh10-.js +0 -0
  646. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/lean-BZvkOJ9d.js +0 -0
  647. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/less-B1dDrJ26.js +0 -0
  648. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/light-plus-B7mTdjB0.js +0 -0
  649. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/liquid-DYVedYrR.js +0 -0
  650. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/llvm-BtvRca6l.js +0 -0
  651. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/log-2UxHyX5q.js +0 -0
  652. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/logo-BtOb2qkB.js +0 -0
  653. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/lua-BbnMAYS6.js +0 -0
  654. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/luau-C-HG3fhB.js +0 -0
  655. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/make-CHLpvVh8.js +0 -0
  656. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/markdown-Cvjx9yec.js +0 -0
  657. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/marko-DZsq8hO1.js +0 -0
  658. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/material-theme-D5KoaKCx.js +0 -0
  659. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/material-theme-darker-BfHTSMKl.js +0 -0
  660. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/material-theme-lighter-B0m2ddpp.js +0 -0
  661. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/material-theme-ocean-CyktbL80.js +0 -0
  662. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/material-theme-palenight-Csfq5Kiy.js +0 -0
  663. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/matlab-D7o27uSR.js +0 -0
  664. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/mdc-DUICxH0z.js +0 -0
  665. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/mdx-Cmh6b_Ma.js +0 -0
  666. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/mermaid-VLURNSYL-B2P5VJ9v.css +0 -0
  667. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/mermaid-mWjccvbQ.js +0 -0
  668. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/min-dark-CafNBF8u.js +0 -0
  669. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/min-light-CTRr51gU.js +0 -0
  670. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/mipsasm-CKIfxQSi.js +0 -0
  671. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/mojo-B93PlW-d.js +0 -0
  672. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/monokai-D4h5O-jR.js +0 -0
  673. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/moonbit-Ba13S78F.js +0 -0
  674. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/move-Bu9oaDYs.js +0 -0
  675. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/narrat-DRg8JJMk.js +0 -0
  676. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/nextflow-BrzmwbiE.js +0 -0
  677. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/nginx-DknmC5AR.js +0 -0
  678. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/night-owl-C39BiMTA.js +0 -0
  679. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/nim-CVrawwO9.js +0 -0
  680. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/nix-CwoSXNpI.js +0 -0
  681. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/nord-Ddv68eIx.js +0 -0
  682. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/nushell-C-sUppwS.js +0 -0
  683. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/objective-c-DXmwc3jG.js +0 -0
  684. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/objective-cpp-CLxacb5B.js +0 -0
  685. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/ocaml-C0hk2d4L.js +0 -0
  686. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/one-dark-pro-DVMEJ2y_.js +0 -0
  687. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/one-light-PoHY5YXO.js +0 -0
  688. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/openscad-C4EeE6gA.js +0 -0
  689. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/ordinal-Cboi1Yqb.js +0 -0
  690. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/pascal-D93ZcfNL.js +0 -0
  691. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/perl-C0TMdlhV.js +0 -0
  692. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/php-CDn_0X-4.js +0 -0
  693. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/pkl-u5AG7uiY.js +0 -0
  694. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/plastic-3e1v2bzS.js +0 -0
  695. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/plsql-ChMvpjG-.js +0 -0
  696. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/po-BTJTHyun.js +0 -0
  697. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/poimandres-CS3Unz2-.js +0 -0
  698. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/polar-C0HS_06l.js +0 -0
  699. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/postcss-CXtECtnM.js +0 -0
  700. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/powerquery-CEu0bR-o.js +0 -0
  701. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/powershell-Dpen1YoG.js +0 -0
  702. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/prisma-Dd19v3D-.js +0 -0
  703. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/prolog-CbFg5uaA.js +0 -0
  704. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/proto-C7zT0LnQ.js +0 -0
  705. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/pug-CGlum2m_.js +0 -0
  706. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/puppet-BMWR74SV.js +0 -0
  707. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/purescript-CklMAg4u.js +0 -0
  708. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/python-B6aJPvgy.js +0 -0
  709. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/qml-3beO22l8.js +0 -0
  710. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/qmldir-C8lEn-DE.js +0 -0
  711. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/qss-IeuSbFQv.js +0 -0
  712. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/r-Dspwwk_N.js +0 -0
  713. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/racket-BqYA7rlc.js +0 -0
  714. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/raku-DXvB9xmW.js +0 -0
  715. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/razor-C1TweQQi.js +0 -0
  716. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/red-bN70gL4F.js +0 -0
  717. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/reg-C-SQnVFl.js +0 -0
  718. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/regexp-CDVJQ6XC.js +0 -0
  719. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/rel-C3B-1QV4.js +0 -0
  720. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/riscv-BM1_JUlF.js +0 -0
  721. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/rose-pine-dawn-DHQR4-dF.js +0 -0
  722. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/rose-pine-moon-D4_iv3hh.js +0 -0
  723. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/rose-pine-qdsjHGoJ.js +0 -0
  724. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/rosmsg-BJDFO7_C.js +0 -0
  725. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/rst-B0xPkSld.js +0 -0
  726. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/ruby-BvKwtOVI.js +0 -0
  727. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/rust-B1yitclQ.js +0 -0
  728. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/sas-cz2c8ADy.js +0 -0
  729. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/sass-Cj5Yp3dK.js +0 -0
  730. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/scala-C151Ov-r.js +0 -0
  731. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/scheme-C98Dy4si.js +0 -0
  732. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/scss-OYdSNvt2.js +0 -0
  733. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/sdbl-DVxCFoDh.js +0 -0
  734. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/shaderlab-Dg9Lc6iA.js +0 -0
  735. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/shellscript-Yzrsuije.js +0 -0
  736. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/shellsession-BADoaaVG.js +0 -0
  737. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/slack-dark-BthQWCQV.js +0 -0
  738. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/slack-ochin-DqwNpetd.js +0 -0
  739. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/smalltalk-BERRCDM3.js +0 -0
  740. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/snazzy-light-Bw305WKR.js +0 -0
  741. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/solarized-dark-DXbdFlpD.js +0 -0
  742. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/solarized-light-L9t79GZl.js +0 -0
  743. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/solidity-rGO070M0.js +0 -0
  744. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/soy-Brmx7dQM.js +0 -0
  745. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/sparql-rVzFXLq3.js +0 -0
  746. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/splunk-BtCnVYZw.js +0 -0
  747. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/sql-BLtJtn59.js +0 -0
  748. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/ssh-config-_ykCGR6B.js +0 -0
  749. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/stata-BH5u7GGu.js +0 -0
  750. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/stylus-BEDo0Tqx.js +0 -0
  751. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/svelte-zxCyuUbr.js +0 -0
  752. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/swift-Dg5xB15N.js +0 -0
  753. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/synthwave-84-CbfX1IO0.js +0 -0
  754. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/system-verilog-CnnmHF94.js +0 -0
  755. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/systemd-4A_iFExJ.js +0 -0
  756. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/talonscript-CkByrt1z.js +0 -0
  757. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/tasl-QIJgUcNo.js +0 -0
  758. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/tcl-dwOrl1Do.js +0 -0
  759. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/templ-W15q3VgB.js +0 -0
  760. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/terraform-BETggiCN.js +0 -0
  761. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/tex-CvyZ59Mk.js +0 -0
  762. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/tokyo-night-hegEt444.js +0 -0
  763. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/toml-vGWfd6FD.js +0 -0
  764. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/ts-tags-zn1MmPIZ.js +0 -0
  765. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/tsv-B_m7g4N7.js +0 -0
  766. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/tsx-COt5Ahok.js +0 -0
  767. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/turtle-BsS91CYL.js +0 -0
  768. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/twig-CO9l9SDP.js +0 -0
  769. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/typescript-BPQ3VLAy.js +0 -0
  770. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/typespec-BGHnOYBU.js +0 -0
  771. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/typst-DHCkPAjA.js +0 -0
  772. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/v-BcVCzyr7.js +0 -0
  773. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/vala-CsfeWuGM.js +0 -0
  774. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/vb-D17OF-Vu.js +0 -0
  775. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/verilog-BQ8w6xss.js +0 -0
  776. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/vesper-DU1UobuO.js +0 -0
  777. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/vhdl-CeAyd5Ju.js +0 -0
  778. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/viml-CJc9bBzg.js +0 -0
  779. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/vitesse-black-Bkuqu6BP.js +0 -0
  780. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/vitesse-dark-D0r3Knsf.js +0 -0
  781. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/vitesse-light-CVO1_9PV.js +0 -0
  782. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/vue-DN_0RTcg.js +0 -0
  783. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/vue-html-AaS7Mt5G.js +0 -0
  784. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/vue-vine-CQOfvN7w.js +0 -0
  785. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/vyper-CDx5xZoG.js +0 -0
  786. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/wasm-CG6Dc4jp.js +0 -0
  787. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/wasm-MzD3tlZU.js +0 -0
  788. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/wenyan-BV7otONQ.js +0 -0
  789. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/wgsl-Dx-B1_4e.js +0 -0
  790. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/wikitext-BhOHFoWU.js +0 -0
  791. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/wit-5i3qLPDT.js +0 -0
  792. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/wolfram-lXgVvXCa.js +0 -0
  793. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/xml-sdJ4AIDG.js +0 -0
  794. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/xsl-CtQFsRM5.js +0 -0
  795. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/yaml-Buea-lGh.js +0 -0
  796. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/zenscript-DVFEvuxE.js +0 -0
  797. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/assets/zig-VOosw3JB.js +0 -0
  798. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/brand/apple-touch-icon.png +0 -0
  799. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/brand/arctecture.webp +0 -0
  800. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/brand/bimi-logo.svg +0 -0
  801. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/brand/favicon.ico +0 -0
  802. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/brand/fonts/dm-sans-latin-ext.woff2 +0 -0
  803. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/brand/fonts/dm-sans-latin.woff2 +0 -0
  804. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/brand/fonts/instrument-sans-latin-ext.woff2 +0 -0
  805. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/brand/fonts/instrument-sans-latin.woff2 +0 -0
  806. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/brand/fonts/instrument-serif-latin-ext.woff2 +0 -0
  807. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/brand/fonts/instrument-serif-latin.woff2 +0 -0
  808. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/brand/fonts/libre-baskerville-italic-latin-ext.woff2 +0 -0
  809. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/brand/fonts/libre-baskerville-italic-latin.woff2 +0 -0
  810. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/brand/fonts/libre-baskerville-latin-ext.woff2 +0 -0
  811. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/brand/fonts/libre-baskerville-latin.woff2 +0 -0
  812. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/brand/fonts/roboto-latin-ext.woff2 +0 -0
  813. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/brand/fonts/roboto-latin.woff2 +0 -0
  814. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/brand/icon-192.png +0 -0
  815. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/brand/icon-512.png +0 -0
  816. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/brand/icon.svg +0 -0
  817. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/brand/logo.png +0 -0
  818. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/brand/pythinker_animated.svg +0 -0
  819. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/brand/robots.txt +0 -0
  820. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/static/logo.png +0 -0
  821. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/store/__init__.py +0 -0
  822. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/web/store/sessions.py +0 -0
  823. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/wire/__init__.py +0 -0
  824. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/wire/file.py +0 -0
  825. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/wire/jsonrpc.py +0 -0
  826. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/wire/protocol.py +0 -0
  827. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/wire/root_hub.py +0 -0
  828. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/wire/serde.py +0 -0
  829. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/wire/server.py +0 -0
  830. {pythinker_code-0.14.0 → pythinker_code-0.16.0}/src/pythinker_code/wire/types.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pythinker-code
3
- Version: 0.14.0
3
+ Version: 0.16.0
4
4
  Summary: Pythinker Code is your next CLI agent.
5
5
  Keywords: cli,agent,ai,coding-assistant,llm,claude,openai,terminal
6
6
  Author: Mohamed Elkholy
@@ -116,14 +116,13 @@ It speaks the [**Agent Client Protocol (ACP)**](https://github.com/agentclientpr
116
116
 
117
117
  ---
118
118
 
119
- ## 🆕 What's New in 0.14.0
119
+ ## 🆕 What's New in 0.16.0
120
120
 
121
- - **Install counts are now visible from the README.** The canonical `https://pythinker.com/install.sh` and `https://pythinker.com/install.ps1` endpoints are backed by a Cloudflare Worker that counts successful installer fetches and serves the flat-square install badge shown above.
122
- - **Safer, more reliable installer routing.** The hosted shell and PowerShell endpoints remain the canonical install paths, with fixed-version commands updated for `0.14.0` artifacts and SHA-256 verification across Windows, Linux, and macOS tarball installs.
123
- - **TUI activity polish.** Agent/task names now resolve at call time, live activity indicators use calmer grey headers and pinned spinner behavior, oversized output is capped, and markdown/tool surfaces are more consistent.
124
- - **Release and CI hardening.** Plugin downloads are stricter, the pythinker-home sync dispatch skips cleanly when its optional token is not configured, and the release docs reflect the current native installer flow.
121
+ - **Native installation is standardized across platforms.** Quick Start now leads with the canonical hosted installers: `irm https://pythinker.com/install.ps1 | iex` on Windows and `curl -fsSL https://pythinker.com/install.sh | bash` on macOS/Linux.
122
+ - **Old local installer wrappers are removed from user-facing docs.** Legacy local shell wrappers and Python-tool manager shortcuts are no longer presented as install options; Python package installs remain documented only as the universal fallback.
123
+ - **Release artifact links are consistent.** Manual `.exe`, `.deb`, `.rpm`, and tarball instructions all point at GitHub Release assets for `0.16.0` and include SHA-256 verification guidance.
125
124
 
126
- Upgrade with `pythinker update`, `pip install --upgrade pythinker-code==0.14.0`, or use the native installer for your platform from the [Releases page](https://github.com/mohamed-elkholy95/Pythinker-Code/releases/latest).
125
+ Upgrade with `pythinker update`, `pip install --upgrade pythinker-code==0.16.0`, or use the native installer for your platform from the [Releases page](https://github.com/mohamed-elkholy95/Pythinker-Code/releases/latest).
127
126
 
128
127
 
129
128
  ---
@@ -211,15 +210,13 @@ Swap providers and models per-session: `--model openai/gpt-5.5`, hosted Pythinke
211
210
  Pythinker ships **native installers for every platform**. Pick the row that
212
211
  matches your OS — no Python, Node, or `uv` prerequisite.
213
212
 
214
- | Platform | One-line install | Artifact |
213
+ | Platform | Recommended install | Artifact source |
215
214
  |---|---|---|
216
- | **🪟 Windows** | `irm https://pythinker.com/install.ps1 \| iex` | native `.exe` installer |
217
- | **🍎 macOS (Apple Silicon + Intel)** | `brew install mohamed-elkholy95/pythinker/pythinker-code` | Homebrew tap |
218
- | **🐧 Linux (Debian / Ubuntu)** | `sudo dpkg -i pythinker-code_0.14.0_amd64.deb` | [Releases](https://github.com/mohamed-elkholy95/Pythinker-Code/releases/latest) |
219
- | **🐧 Linux (Fedora / RHEL)** | Download `pythinker-code-0.14.0.x86_64.rpm`, then `sudo dnf install ./pythinker-code-0.14.0.x86_64.rpm` | [Releases](https://github.com/mohamed-elkholy95/Pythinker-Code/releases/latest) |
220
- | **🐧 Linux (openSUSE)** | Download `pythinker-code-0.14.0.x86_64.rpm`, then `sudo zypper install ./pythinker-code-0.14.0.x86_64.rpm` | [Releases](https://github.com/mohamed-elkholy95/Pythinker-Code/releases/latest) |
221
- | **🌐 macOS / Linux — curl-bash** | `curl -fsSL https://pythinker.com/install.sh \| bash` | tarball |
222
- | **🐍 Python fallback** (universal) | `pip install pythinker-code` | PyPI |
215
+ | **🪟 Windows** | `irm https://pythinker.com/install.ps1 \| iex` | `PythinkerSetup-0.16.0.exe` from [Releases](https://github.com/mohamed-elkholy95/Pythinker-Code/releases/latest) |
216
+ | **🍎 macOS / 🐧 Linux** | `curl -fsSL https://pythinker.com/install.sh \| bash` | native tarball from [Releases](https://github.com/mohamed-elkholy95/Pythinker-Code/releases/latest) |
217
+ | **🍎 macOS Homebrew** | `brew install mohamed-elkholy95/pythinker/pythinker-code` | auto-published Homebrew tap |
218
+ | **🐧 Linux system package** | Download the `.deb` or `.rpm` for your distro below | [Releases](https://github.com/mohamed-elkholy95/Pythinker-Code/releases/latest) |
219
+ | **🐍 Python fallback** | `pip install pythinker-code` | PyPI |
223
220
 
224
221
  Every artifact ships with a matching `.sha256` file — verify before install on
225
222
  any platform with `sha256sum`, `shasum -a 256`, or `Get-FileHash`.
@@ -240,7 +237,7 @@ pythinker # start the interactive TUI
240
237
 
241
238
  ### 🪟 Windows — native installer
242
239
 
243
- `PythinkerSetup-0.14.0.exe` is a signed* Inno Setup wizard. Installs per-user
240
+ `PythinkerSetup-0.16.0.exe` is a signed* Inno Setup wizard. Installs per-user
244
241
  into `%LOCALAPPDATA%\Programs\Pythinker`, registers `pythinker` on your user
245
242
  PATH (`HKCU\Environment`), broadcasts `WM_SETTINGCHANGE` so new shells see
246
243
  the change. **No UAC prompt.**
@@ -251,13 +248,13 @@ irm https://pythinker.com/install.ps1 | iex
251
248
 
252
249
  # Or manually download the installer + checksum from the Releases page,
253
250
  # verify with Get-FileHash, then run:
254
- .\PythinkerSetup-0.14.0.exe
251
+ .\PythinkerSetup-0.16.0.exe
255
252
 
256
253
  # Open a fresh PowerShell
257
254
  pythinker --version
258
255
  ```
259
256
 
260
- **Per-machine install** (IT-managed boxes): `.\PythinkerSetup-0.14.0.exe /ALLUSERS`
257
+ **Per-machine install** (IT-managed boxes): `.\PythinkerSetup-0.16.0.exe /ALLUSERS`
261
258
  installs to `%ProgramFiles%\Pythinker` and writes PATH to HKLM (requires admin).
262
259
 
263
260
  **Upgrade:** `pythinker update` from inside the running app — it downloads
@@ -307,26 +304,26 @@ attached to every GitHub Release.
307
304
 
308
305
  ```sh
309
306
  # Debian / Ubuntu (x86_64)
310
- sudo dpkg -i pythinker-code_0.14.0_amd64.deb
307
+ sudo dpkg -i pythinker-code_0.16.0_amd64.deb
311
308
  sudo apt-get install -f # only if dpkg reports missing deps
312
309
 
313
310
  # Debian / Ubuntu (ARM64)
314
- sudo dpkg -i pythinker-code_0.14.0_arm64.deb
311
+ sudo dpkg -i pythinker-code_0.16.0_arm64.deb
315
312
 
316
313
  # Fedora / RHEL / openSUSE (x86_64)
317
- curl -LO https://github.com/mohamed-elkholy95/Pythinker-Code/releases/download/v0.14.0/pythinker-code-0.14.0.x86_64.rpm
318
- curl -LO https://github.com/mohamed-elkholy95/Pythinker-Code/releases/download/v0.14.0/pythinker-code-0.14.0.x86_64.rpm.sha256
319
- sha256sum -c pythinker-code-0.14.0.x86_64.rpm.sha256
314
+ curl -LO https://github.com/mohamed-elkholy95/Pythinker-Code/releases/download/v0.16.0/pythinker-code-0.16.0.x86_64.rpm
315
+ curl -LO https://github.com/mohamed-elkholy95/Pythinker-Code/releases/download/v0.16.0/pythinker-code-0.16.0.x86_64.rpm.sha256
316
+ sha256sum -c pythinker-code-0.16.0.x86_64.rpm.sha256
320
317
  # Fedora / RHEL:
321
- sudo dnf install ./pythinker-code-0.14.0.x86_64.rpm
318
+ sudo dnf install ./pythinker-code-0.16.0.x86_64.rpm
322
319
  # openSUSE:
323
- sudo zypper install ./pythinker-code-0.14.0.x86_64.rpm
320
+ sudo zypper install ./pythinker-code-0.16.0.x86_64.rpm
324
321
 
325
322
  # Fedora / RHEL (aarch64)
326
- curl -LO https://github.com/mohamed-elkholy95/Pythinker-Code/releases/download/v0.14.0/pythinker-code-0.14.0.aarch64.rpm
327
- curl -LO https://github.com/mohamed-elkholy95/Pythinker-Code/releases/download/v0.14.0/pythinker-code-0.14.0.aarch64.rpm.sha256
328
- sha256sum -c pythinker-code-0.14.0.aarch64.rpm.sha256
329
- sudo dnf install ./pythinker-code-0.14.0.aarch64.rpm
323
+ curl -LO https://github.com/mohamed-elkholy95/Pythinker-Code/releases/download/v0.16.0/pythinker-code-0.16.0.aarch64.rpm
324
+ curl -LO https://github.com/mohamed-elkholy95/Pythinker-Code/releases/download/v0.16.0/pythinker-code-0.16.0.aarch64.rpm.sha256
325
+ sha256sum -c pythinker-code-0.16.0.aarch64.rpm.sha256
326
+ sudo dnf install ./pythinker-code-0.16.0.aarch64.rpm
330
327
  ```
331
328
 
332
329
  Both packages drop a small `/usr/bin/pythinker` launcher that execs the real
@@ -335,8 +332,8 @@ binary under `/usr/lib/pythinker/`, so your `$PATH` stays tidy.
335
332
  **Verify before install:**
336
333
 
337
334
  ```sh
338
- sha256sum -c pythinker-code_0.14.0_amd64.deb.sha256 # Debian/Ubuntu
339
- sha256sum -c pythinker-code-0.14.0.x86_64.rpm.sha256 # Fedora/RHEL
335
+ sha256sum -c pythinker-code_0.16.0_amd64.deb.sha256 # Debian/Ubuntu
336
+ sha256sum -c pythinker-code-0.16.0.x86_64.rpm.sha256 # Fedora/RHEL
340
337
  ```
341
338
 
342
339
  **Upgrade:** download the new `.deb`/`.rpm` from Releases and `dpkg -i` /
@@ -366,7 +363,7 @@ at `~/.local/bin/pythinker`.
366
363
  curl -fsSL https://pythinker.com/install.sh | bash
367
364
 
368
365
  # Pin a specific version
369
- curl -fsSL https://pythinker.com/install.sh | bash -s -- --version 0.14.0
366
+ curl -fsSL https://pythinker.com/install.sh | bash -s -- --version 0.16.0
370
367
 
371
368
  # Custom prefix (defaults to $HOME/.local)
372
369
  curl -fsSL https://pythinker.com/install.sh | bash -s -- --prefix /opt/pythinker
@@ -387,9 +384,9 @@ Supported targets:
387
384
 
388
385
  | `uname -s / -m` | Tarball asset |
389
386
  |---|---|
390
- | Linux / x86_64 | `pythinker-0.14.0-x86_64-unknown-linux-gnu.tar.gz` |
391
- | Linux / aarch64 | `pythinker-0.14.0-aarch64-unknown-linux-gnu.tar.gz` |
392
- | Darwin / arm64 | `pythinker-0.14.0-aarch64-apple-darwin.tar.gz` |
387
+ | Linux / x86_64 | `pythinker-0.16.0-x86_64-unknown-linux-gnu.tar.gz` |
388
+ | Linux / aarch64 | `pythinker-0.16.0-aarch64-unknown-linux-gnu.tar.gz` |
389
+ | Darwin / arm64 | `pythinker-0.16.0-aarch64-apple-darwin.tar.gz` |
393
390
 
394
391
  The script prints PATH guidance if `~/.local/bin` isn't already on your
395
392
  `$PATH`. Intel macOS users — use Homebrew or `pip install pythinker-code`;
@@ -397,34 +394,16 @@ no PyInstaller-built Intel Darwin binary is published.
397
394
 
398
395
  **Uninstall:** `rm ~/.local/bin/pythinker`.
399
396
 
400
- ### 🛠 Power-user / legacy install paths
397
+ ### 🐍 Python fallback
401
398
 
402
- > 🚧 **Deprecated.** These paths still work, but the per-OS native installers
403
- > above are the canonical install method for **all new releases**. The legacy
404
- > options below remain for existing automation; new tooling, examples, and
405
- > support docs target the native installers exclusively.
406
-
407
- <details>
408
- <summary>Legacy shell-script wrappers + uv / pipx</summary>
399
+ Use the Python package only when a native installer is not available for your
400
+ environment:
409
401
 
410
402
  ```sh
411
- # Compatibility shim to the native installer
412
- scripts/install.sh
413
- # Windows PowerShell native installer bootstrap:
414
- powershell -c "irm https://pythinker.com/install.ps1 | iex"
415
-
416
- # Legacy: one-off run via uvx
417
- uvx pythinker-code
418
-
419
- # Legacy: install as a uv tool
420
- uv tool install pythinker-code
421
-
422
- # Legacy: PyPI directly (universal fallback)
423
403
  pip install pythinker-code
424
- pipx install pythinker-code
425
404
  ```
426
405
 
427
- </details>
406
+ Native installs remain the supported path for new users and for in-app updates.
428
407
 
429
408
  ### 🔐 Authenticate (optional)
430
409
 
@@ -51,14 +51,13 @@ It speaks the [**Agent Client Protocol (ACP)**](https://github.com/agentclientpr
51
51
 
52
52
  ---
53
53
 
54
- ## 🆕 What's New in 0.14.0
54
+ ## 🆕 What's New in 0.16.0
55
55
 
56
- - **Install counts are now visible from the README.** The canonical `https://pythinker.com/install.sh` and `https://pythinker.com/install.ps1` endpoints are backed by a Cloudflare Worker that counts successful installer fetches and serves the flat-square install badge shown above.
57
- - **Safer, more reliable installer routing.** The hosted shell and PowerShell endpoints remain the canonical install paths, with fixed-version commands updated for `0.14.0` artifacts and SHA-256 verification across Windows, Linux, and macOS tarball installs.
58
- - **TUI activity polish.** Agent/task names now resolve at call time, live activity indicators use calmer grey headers and pinned spinner behavior, oversized output is capped, and markdown/tool surfaces are more consistent.
59
- - **Release and CI hardening.** Plugin downloads are stricter, the pythinker-home sync dispatch skips cleanly when its optional token is not configured, and the release docs reflect the current native installer flow.
56
+ - **Native installation is standardized across platforms.** Quick Start now leads with the canonical hosted installers: `irm https://pythinker.com/install.ps1 | iex` on Windows and `curl -fsSL https://pythinker.com/install.sh | bash` on macOS/Linux.
57
+ - **Old local installer wrappers are removed from user-facing docs.** Legacy local shell wrappers and Python-tool manager shortcuts are no longer presented as install options; Python package installs remain documented only as the universal fallback.
58
+ - **Release artifact links are consistent.** Manual `.exe`, `.deb`, `.rpm`, and tarball instructions all point at GitHub Release assets for `0.16.0` and include SHA-256 verification guidance.
60
59
 
61
- Upgrade with `pythinker update`, `pip install --upgrade pythinker-code==0.14.0`, or use the native installer for your platform from the [Releases page](https://github.com/mohamed-elkholy95/Pythinker-Code/releases/latest).
60
+ Upgrade with `pythinker update`, `pip install --upgrade pythinker-code==0.16.0`, or use the native installer for your platform from the [Releases page](https://github.com/mohamed-elkholy95/Pythinker-Code/releases/latest).
62
61
 
63
62
 
64
63
  ---
@@ -146,15 +145,13 @@ Swap providers and models per-session: `--model openai/gpt-5.5`, hosted Pythinke
146
145
  Pythinker ships **native installers for every platform**. Pick the row that
147
146
  matches your OS — no Python, Node, or `uv` prerequisite.
148
147
 
149
- | Platform | One-line install | Artifact |
148
+ | Platform | Recommended install | Artifact source |
150
149
  |---|---|---|
151
- | **🪟 Windows** | `irm https://pythinker.com/install.ps1 \| iex` | native `.exe` installer |
152
- | **🍎 macOS (Apple Silicon + Intel)** | `brew install mohamed-elkholy95/pythinker/pythinker-code` | Homebrew tap |
153
- | **🐧 Linux (Debian / Ubuntu)** | `sudo dpkg -i pythinker-code_0.14.0_amd64.deb` | [Releases](https://github.com/mohamed-elkholy95/Pythinker-Code/releases/latest) |
154
- | **🐧 Linux (Fedora / RHEL)** | Download `pythinker-code-0.14.0.x86_64.rpm`, then `sudo dnf install ./pythinker-code-0.14.0.x86_64.rpm` | [Releases](https://github.com/mohamed-elkholy95/Pythinker-Code/releases/latest) |
155
- | **🐧 Linux (openSUSE)** | Download `pythinker-code-0.14.0.x86_64.rpm`, then `sudo zypper install ./pythinker-code-0.14.0.x86_64.rpm` | [Releases](https://github.com/mohamed-elkholy95/Pythinker-Code/releases/latest) |
156
- | **🌐 macOS / Linux — curl-bash** | `curl -fsSL https://pythinker.com/install.sh \| bash` | tarball |
157
- | **🐍 Python fallback** (universal) | `pip install pythinker-code` | PyPI |
150
+ | **🪟 Windows** | `irm https://pythinker.com/install.ps1 \| iex` | `PythinkerSetup-0.16.0.exe` from [Releases](https://github.com/mohamed-elkholy95/Pythinker-Code/releases/latest) |
151
+ | **🍎 macOS / 🐧 Linux** | `curl -fsSL https://pythinker.com/install.sh \| bash` | native tarball from [Releases](https://github.com/mohamed-elkholy95/Pythinker-Code/releases/latest) |
152
+ | **🍎 macOS Homebrew** | `brew install mohamed-elkholy95/pythinker/pythinker-code` | auto-published Homebrew tap |
153
+ | **🐧 Linux system package** | Download the `.deb` or `.rpm` for your distro below | [Releases](https://github.com/mohamed-elkholy95/Pythinker-Code/releases/latest) |
154
+ | **🐍 Python fallback** | `pip install pythinker-code` | PyPI |
158
155
 
159
156
  Every artifact ships with a matching `.sha256` file — verify before install on
160
157
  any platform with `sha256sum`, `shasum -a 256`, or `Get-FileHash`.
@@ -175,7 +172,7 @@ pythinker # start the interactive TUI
175
172
 
176
173
  ### 🪟 Windows — native installer
177
174
 
178
- `PythinkerSetup-0.14.0.exe` is a signed* Inno Setup wizard. Installs per-user
175
+ `PythinkerSetup-0.16.0.exe` is a signed* Inno Setup wizard. Installs per-user
179
176
  into `%LOCALAPPDATA%\Programs\Pythinker`, registers `pythinker` on your user
180
177
  PATH (`HKCU\Environment`), broadcasts `WM_SETTINGCHANGE` so new shells see
181
178
  the change. **No UAC prompt.**
@@ -186,13 +183,13 @@ irm https://pythinker.com/install.ps1 | iex
186
183
 
187
184
  # Or manually download the installer + checksum from the Releases page,
188
185
  # verify with Get-FileHash, then run:
189
- .\PythinkerSetup-0.14.0.exe
186
+ .\PythinkerSetup-0.16.0.exe
190
187
 
191
188
  # Open a fresh PowerShell
192
189
  pythinker --version
193
190
  ```
194
191
 
195
- **Per-machine install** (IT-managed boxes): `.\PythinkerSetup-0.14.0.exe /ALLUSERS`
192
+ **Per-machine install** (IT-managed boxes): `.\PythinkerSetup-0.16.0.exe /ALLUSERS`
196
193
  installs to `%ProgramFiles%\Pythinker` and writes PATH to HKLM (requires admin).
197
194
 
198
195
  **Upgrade:** `pythinker update` from inside the running app — it downloads
@@ -242,26 +239,26 @@ attached to every GitHub Release.
242
239
 
243
240
  ```sh
244
241
  # Debian / Ubuntu (x86_64)
245
- sudo dpkg -i pythinker-code_0.14.0_amd64.deb
242
+ sudo dpkg -i pythinker-code_0.16.0_amd64.deb
246
243
  sudo apt-get install -f # only if dpkg reports missing deps
247
244
 
248
245
  # Debian / Ubuntu (ARM64)
249
- sudo dpkg -i pythinker-code_0.14.0_arm64.deb
246
+ sudo dpkg -i pythinker-code_0.16.0_arm64.deb
250
247
 
251
248
  # Fedora / RHEL / openSUSE (x86_64)
252
- curl -LO https://github.com/mohamed-elkholy95/Pythinker-Code/releases/download/v0.14.0/pythinker-code-0.14.0.x86_64.rpm
253
- curl -LO https://github.com/mohamed-elkholy95/Pythinker-Code/releases/download/v0.14.0/pythinker-code-0.14.0.x86_64.rpm.sha256
254
- sha256sum -c pythinker-code-0.14.0.x86_64.rpm.sha256
249
+ curl -LO https://github.com/mohamed-elkholy95/Pythinker-Code/releases/download/v0.16.0/pythinker-code-0.16.0.x86_64.rpm
250
+ curl -LO https://github.com/mohamed-elkholy95/Pythinker-Code/releases/download/v0.16.0/pythinker-code-0.16.0.x86_64.rpm.sha256
251
+ sha256sum -c pythinker-code-0.16.0.x86_64.rpm.sha256
255
252
  # Fedora / RHEL:
256
- sudo dnf install ./pythinker-code-0.14.0.x86_64.rpm
253
+ sudo dnf install ./pythinker-code-0.16.0.x86_64.rpm
257
254
  # openSUSE:
258
- sudo zypper install ./pythinker-code-0.14.0.x86_64.rpm
255
+ sudo zypper install ./pythinker-code-0.16.0.x86_64.rpm
259
256
 
260
257
  # Fedora / RHEL (aarch64)
261
- curl -LO https://github.com/mohamed-elkholy95/Pythinker-Code/releases/download/v0.14.0/pythinker-code-0.14.0.aarch64.rpm
262
- curl -LO https://github.com/mohamed-elkholy95/Pythinker-Code/releases/download/v0.14.0/pythinker-code-0.14.0.aarch64.rpm.sha256
263
- sha256sum -c pythinker-code-0.14.0.aarch64.rpm.sha256
264
- sudo dnf install ./pythinker-code-0.14.0.aarch64.rpm
258
+ curl -LO https://github.com/mohamed-elkholy95/Pythinker-Code/releases/download/v0.16.0/pythinker-code-0.16.0.aarch64.rpm
259
+ curl -LO https://github.com/mohamed-elkholy95/Pythinker-Code/releases/download/v0.16.0/pythinker-code-0.16.0.aarch64.rpm.sha256
260
+ sha256sum -c pythinker-code-0.16.0.aarch64.rpm.sha256
261
+ sudo dnf install ./pythinker-code-0.16.0.aarch64.rpm
265
262
  ```
266
263
 
267
264
  Both packages drop a small `/usr/bin/pythinker` launcher that execs the real
@@ -270,8 +267,8 @@ binary under `/usr/lib/pythinker/`, so your `$PATH` stays tidy.
270
267
  **Verify before install:**
271
268
 
272
269
  ```sh
273
- sha256sum -c pythinker-code_0.14.0_amd64.deb.sha256 # Debian/Ubuntu
274
- sha256sum -c pythinker-code-0.14.0.x86_64.rpm.sha256 # Fedora/RHEL
270
+ sha256sum -c pythinker-code_0.16.0_amd64.deb.sha256 # Debian/Ubuntu
271
+ sha256sum -c pythinker-code-0.16.0.x86_64.rpm.sha256 # Fedora/RHEL
275
272
  ```
276
273
 
277
274
  **Upgrade:** download the new `.deb`/`.rpm` from Releases and `dpkg -i` /
@@ -301,7 +298,7 @@ at `~/.local/bin/pythinker`.
301
298
  curl -fsSL https://pythinker.com/install.sh | bash
302
299
 
303
300
  # Pin a specific version
304
- curl -fsSL https://pythinker.com/install.sh | bash -s -- --version 0.14.0
301
+ curl -fsSL https://pythinker.com/install.sh | bash -s -- --version 0.16.0
305
302
 
306
303
  # Custom prefix (defaults to $HOME/.local)
307
304
  curl -fsSL https://pythinker.com/install.sh | bash -s -- --prefix /opt/pythinker
@@ -322,9 +319,9 @@ Supported targets:
322
319
 
323
320
  | `uname -s / -m` | Tarball asset |
324
321
  |---|---|
325
- | Linux / x86_64 | `pythinker-0.14.0-x86_64-unknown-linux-gnu.tar.gz` |
326
- | Linux / aarch64 | `pythinker-0.14.0-aarch64-unknown-linux-gnu.tar.gz` |
327
- | Darwin / arm64 | `pythinker-0.14.0-aarch64-apple-darwin.tar.gz` |
322
+ | Linux / x86_64 | `pythinker-0.16.0-x86_64-unknown-linux-gnu.tar.gz` |
323
+ | Linux / aarch64 | `pythinker-0.16.0-aarch64-unknown-linux-gnu.tar.gz` |
324
+ | Darwin / arm64 | `pythinker-0.16.0-aarch64-apple-darwin.tar.gz` |
328
325
 
329
326
  The script prints PATH guidance if `~/.local/bin` isn't already on your
330
327
  `$PATH`. Intel macOS users — use Homebrew or `pip install pythinker-code`;
@@ -332,34 +329,16 @@ no PyInstaller-built Intel Darwin binary is published.
332
329
 
333
330
  **Uninstall:** `rm ~/.local/bin/pythinker`.
334
331
 
335
- ### 🛠 Power-user / legacy install paths
332
+ ### 🐍 Python fallback
336
333
 
337
- > 🚧 **Deprecated.** These paths still work, but the per-OS native installers
338
- > above are the canonical install method for **all new releases**. The legacy
339
- > options below remain for existing automation; new tooling, examples, and
340
- > support docs target the native installers exclusively.
341
-
342
- <details>
343
- <summary>Legacy shell-script wrappers + uv / pipx</summary>
334
+ Use the Python package only when a native installer is not available for your
335
+ environment:
344
336
 
345
337
  ```sh
346
- # Compatibility shim to the native installer
347
- scripts/install.sh
348
- # Windows PowerShell native installer bootstrap:
349
- powershell -c "irm https://pythinker.com/install.ps1 | iex"
350
-
351
- # Legacy: one-off run via uvx
352
- uvx pythinker-code
353
-
354
- # Legacy: install as a uv tool
355
- uv tool install pythinker-code
356
-
357
- # Legacy: PyPI directly (universal fallback)
358
338
  pip install pythinker-code
359
- pipx install pythinker-code
360
339
  ```
361
340
 
362
- </details>
341
+ Native installs remain the supported path for new users and for in-app updates.
363
342
 
364
343
  ### 🔐 Authenticate (optional)
365
344
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "pythinker-code"
3
- version = "0.14.0"
3
+ version = "0.16.0"
4
4
  description = "Pythinker Code is your next CLI agent."
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.12"
@@ -15,6 +15,26 @@ GitHub Releases page; `0.8.0` is the new starting line.
15
15
 
16
16
  ## Unreleased
17
17
 
18
+ ## 0.16.0 (2026-05-24)
19
+
20
+ ### What changed in this release
21
+
22
+ - **Standardized native install docs across platforms.** README Quick Start now presents one canonical Windows command (`irm https://pythinker.com/install.ps1 | iex`) and one canonical macOS/Linux command (`curl -fsSL https://pythinker.com/install.sh | bash`) before package-manager/manual alternatives.
23
+ - **Removed old local installer guidance.** User-facing docs no longer advertise legacy local shell wrappers or Python-tool manager shortcuts. `pip install pythinker-code==0.16.0` remains as the universal Python fallback and release-gate snippet.
24
+ - **Aligned release artifact instructions.** Manual Windows, Linux package, and tarball sections all point at `0.16.0` GitHub Release assets and keep SHA-256 verification explicit.
25
+
26
+ Upgrade with `pythinker update`, `pip install --upgrade pythinker-code==0.16.0`, or use the native installer for your OS (see the README install table).
27
+
28
+ ## 0.15.0 (2026-05-24)
29
+
30
+ ### What changed in this release
31
+
32
+ - **Fixed `pythinker update` for curl-bash native installs.** Frozen onefile installs in `~/.local/bin/pythinker` are now detected as native even when older tarballs do not include the `.pythinker-native` sentinel, avoiding the broken `pythinker -m pip install --upgrade pythinker-code` path.
33
+ - **Added Unix native archive updating.** Linux and Apple Silicon macOS native builds now download the matching GitHub Release tarball, verify its `.sha256`, extract `pythinker`, and replace the current executable in place.
34
+ - **Improved native update guidance.** The update banner now shows the canonical fixed-version curl installer on Unix and keeps the Windows installer guidance for Windows native builds.
35
+
36
+ Upgrade with `pythinker update`, `pip install --upgrade pythinker-code==0.15.0`, or use the native installer for your OS (see the README install table).
37
+
18
38
  ## 0.14.0 (2026-05-24)
19
39
 
20
40
  ### What changed in this release
@@ -0,0 +1,63 @@
1
+ """Native-build detection + GitHub Releases lookup helpers.
2
+
3
+ Native packages may drop a sentinel file ``.pythinker-native`` next to the
4
+ PyInstaller-frozen executable. Older curl-bash onefile installs did not include
5
+ that sentinel, so runtime detection also treats a frozen ``pythinker`` executable
6
+ as native. Native installs update from GitHub Release assets instead of shelling
7
+ out to ``pip`` from inside the frozen CLI.
8
+ """
9
+
10
+ from __future__ import annotations
11
+
12
+ import platform
13
+ import sys
14
+ from pathlib import Path
15
+
16
+ GITHUB_REPO = "mohamed-elkholy95/Pythinker-Code"
17
+ SENTINEL_FILENAME = ".pythinker-native"
18
+
19
+
20
+ def is_native_build() -> bool:
21
+ """True iff this process is a PyInstaller-frozen Pythinker native install."""
22
+ if not getattr(sys, "frozen", False):
23
+ return False
24
+ try:
25
+ exe_path = Path(sys.executable).resolve()
26
+ except OSError:
27
+ return False
28
+ if (exe_path.parent / SENTINEL_FILENAME).is_file():
29
+ return True
30
+ return exe_path.stem.lower() == "pythinker"
31
+
32
+
33
+ def native_installer_release_url(channel: str = "latest") -> str:
34
+ """Return the GitHub API URL for the requested release channel."""
35
+ if channel == "latest":
36
+ return f"https://api.github.com/repos/{GITHUB_REPO}/releases/latest"
37
+ return f"https://api.github.com/repos/{GITHUB_REPO}/releases/tags/{channel}"
38
+
39
+
40
+ def native_installer_asset_name(version: str) -> str:
41
+ """Filename of the Windows installer asset attached to a Release."""
42
+ return f"PythinkerSetup-{version}.exe"
43
+
44
+
45
+ def native_archive_asset_name(version: str) -> str | None:
46
+ """Filename of the onefile native archive for this platform, if published."""
47
+ target = _native_archive_target()
48
+ if target is None:
49
+ return None
50
+ return f"pythinker-{version}-{target}.tar.gz"
51
+
52
+
53
+ def _native_archive_target() -> str | None:
54
+ system = sys.platform
55
+ machine = platform.machine().lower()
56
+ if system.startswith("linux"):
57
+ if machine in {"x86_64", "amd64"}:
58
+ return "x86_64-unknown-linux-gnu"
59
+ if machine in {"aarch64", "arm64"}:
60
+ return "aarch64-unknown-linux-gnu"
61
+ if system == "darwin" and machine in {"aarch64", "arm64"}:
62
+ return "aarch64-apple-darwin"
63
+ return None