dotscope 0.1.0__py3-none-any.whl

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 (114) hide show
  1. dotscope/.scope +63 -0
  2. dotscope/__init__.py +3 -0
  3. dotscope/absorber.py +390 -0
  4. dotscope/assertions.py +128 -0
  5. dotscope/ast_analyzer.py +2 -0
  6. dotscope/backtest.py +2 -0
  7. dotscope/bench.py +141 -0
  8. dotscope/budget.py +3 -0
  9. dotscope/cache.py +2 -0
  10. dotscope/check/__init__.py +1 -0
  11. dotscope/check/acknowledge.py +2 -0
  12. dotscope/check/checker.py +3 -0
  13. dotscope/check/checks/__init__.py +1 -0
  14. dotscope/check/checks/antipattern.py +2 -0
  15. dotscope/check/checks/boundary.py +2 -0
  16. dotscope/check/checks/contracts.py +3 -0
  17. dotscope/check/checks/direction.py +2 -0
  18. dotscope/check/checks/intent.py +2 -0
  19. dotscope/check/checks/stability.py +2 -0
  20. dotscope/check/constraints.py +2 -0
  21. dotscope/check/models.py +15 -0
  22. dotscope/cli.py +1447 -0
  23. dotscope/composer.py +147 -0
  24. dotscope/constants.py +45 -0
  25. dotscope/context.py +60 -0
  26. dotscope/counterfactual.py +180 -0
  27. dotscope/debug.py +220 -0
  28. dotscope/discovery.py +104 -0
  29. dotscope/formatter.py +157 -0
  30. dotscope/graph.py +3 -0
  31. dotscope/health.py +212 -0
  32. dotscope/help.py +204 -0
  33. dotscope/history.py +6 -0
  34. dotscope/hooks.py +2 -0
  35. dotscope/ingest.py +858 -0
  36. dotscope/intent.py +618 -0
  37. dotscope/lessons.py +223 -0
  38. dotscope/matcher.py +104 -0
  39. dotscope/mcp_server.py +1081 -0
  40. dotscope/models/.scope +45 -0
  41. dotscope/models/__init__.py +7 -0
  42. dotscope/models/core.py +288 -0
  43. dotscope/models/history.py +73 -0
  44. dotscope/models/intent.py +213 -0
  45. dotscope/models/passes.py +58 -0
  46. dotscope/models/state.py +250 -0
  47. dotscope/models.py +9 -0
  48. dotscope/near_miss.py +3 -0
  49. dotscope/onboarding.py +2 -0
  50. dotscope/parser.py +387 -0
  51. dotscope/passes/.scope +105 -0
  52. dotscope/passes/__init__.py +1 -0
  53. dotscope/passes/ast_analyzer.py +508 -0
  54. dotscope/passes/backtest.py +198 -0
  55. dotscope/passes/budget_allocator.py +164 -0
  56. dotscope/passes/convention_compliance.py +40 -0
  57. dotscope/passes/convention_discovery.py +247 -0
  58. dotscope/passes/convention_parser.py +223 -0
  59. dotscope/passes/graph_builder.py +299 -0
  60. dotscope/passes/history_miner.py +336 -0
  61. dotscope/passes/incremental.py +149 -0
  62. dotscope/passes/lang/__init__.py +38 -0
  63. dotscope/passes/lang/_base.py +20 -0
  64. dotscope/passes/lang/_treesitter.py +93 -0
  65. dotscope/passes/lang/go.py +333 -0
  66. dotscope/passes/lang/javascript.py +348 -0
  67. dotscope/passes/lazy.py +152 -0
  68. dotscope/passes/semantic_diff.py +160 -0
  69. dotscope/passes/sentinel/__init__.py +1 -0
  70. dotscope/passes/sentinel/acknowledge.py +222 -0
  71. dotscope/passes/sentinel/checker.py +383 -0
  72. dotscope/passes/sentinel/checks/__init__.py +1 -0
  73. dotscope/passes/sentinel/checks/antipattern.py +84 -0
  74. dotscope/passes/sentinel/checks/boundary.py +46 -0
  75. dotscope/passes/sentinel/checks/contracts.py +148 -0
  76. dotscope/passes/sentinel/checks/convention.py +54 -0
  77. dotscope/passes/sentinel/checks/direction.py +71 -0
  78. dotscope/passes/sentinel/checks/intent.py +207 -0
  79. dotscope/passes/sentinel/checks/stability.py +66 -0
  80. dotscope/passes/sentinel/checks/voice.py +108 -0
  81. dotscope/passes/sentinel/constraints.py +472 -0
  82. dotscope/passes/sentinel/line_filter.py +88 -0
  83. dotscope/passes/sentinel/models.py +15 -0
  84. dotscope/passes/virtual.py +239 -0
  85. dotscope/passes/voice.py +162 -0
  86. dotscope/passes/voice_defaults.py +28 -0
  87. dotscope/passes/voice_discovery.py +245 -0
  88. dotscope/paths.py +32 -0
  89. dotscope/progress.py +44 -0
  90. dotscope/regression.py +147 -0
  91. dotscope/resolver.py +203 -0
  92. dotscope/scanner.py +246 -0
  93. dotscope/sessions.py +2 -0
  94. dotscope/storage/.scope +64 -0
  95. dotscope/storage/__init__.py +1 -0
  96. dotscope/storage/cache.py +114 -0
  97. dotscope/storage/claude_hooks.py +119 -0
  98. dotscope/storage/git_hooks.py +277 -0
  99. dotscope/storage/incremental_state.py +61 -0
  100. dotscope/storage/mcp_config.py +98 -0
  101. dotscope/storage/near_miss.py +183 -0
  102. dotscope/storage/onboarding.py +150 -0
  103. dotscope/storage/session_manager.py +195 -0
  104. dotscope/storage/timing.py +84 -0
  105. dotscope/timing.py +2 -0
  106. dotscope/tokens.py +53 -0
  107. dotscope/utility.py +123 -0
  108. dotscope/virtual.py +3 -0
  109. dotscope/visibility.py +664 -0
  110. dotscope-0.1.0.dist-info/METADATA +50 -0
  111. dotscope-0.1.0.dist-info/RECORD +114 -0
  112. dotscope-0.1.0.dist-info/WHEEL +4 -0
  113. dotscope-0.1.0.dist-info/entry_points.txt +3 -0
  114. dotscope-0.1.0.dist-info/licenses/LICENSE +21 -0
@@ -0,0 +1,50 @@
1
+ Metadata-Version: 2.4
2
+ Name: dotscope
3
+ Version: 0.1.0
4
+ Summary: Directory-scoped context boundaries for AI coding agents
5
+ Author: Supremum
6
+ License-Expression: MIT
7
+ License-File: LICENSE
8
+ Keywords: agents,ai,coding,context,mcp,scope
9
+ Classifier: Development Status :: 3 - Alpha
10
+ Classifier: Intended Audience :: Developers
11
+ Classifier: License :: OSI Approved :: MIT License
12
+ Classifier: Programming Language :: Python :: 3
13
+ Classifier: Topic :: Software Development :: Libraries
14
+ Requires-Python: >=3.10
15
+ Requires-Dist: tree-sitter-go>=0.23.0
16
+ Requires-Dist: tree-sitter-javascript>=0.23.0
17
+ Requires-Dist: tree-sitter-typescript>=0.23.0
18
+ Requires-Dist: tree-sitter>=0.23.0
19
+ Provides-Extra: all
20
+ Requires-Dist: mcp>=1.2.0; extra == 'all'
21
+ Requires-Dist: tiktoken; extra == 'all'
22
+ Provides-Extra: dev
23
+ Requires-Dist: pytest; extra == 'dev'
24
+ Requires-Dist: ruff; extra == 'dev'
25
+ Provides-Extra: embeddings
26
+ Requires-Dist: sentence-transformers; extra == 'embeddings'
27
+ Provides-Extra: mcp
28
+ Requires-Dist: mcp>=1.2.0; extra == 'mcp'
29
+ Provides-Extra: tokens
30
+ Requires-Dist: tiktoken; extra == 'tokens'
31
+ Description-Content-Type: text/markdown
32
+
33
+ <p align="center">
34
+ <img src="logo.png" alt="dotscope" width="400">
35
+ </p>
36
+
37
+ When agents write your code, no one remembers the architecture.
38
+ Which files depend on each other. Which patterns the last agent followed.
39
+ What breaks when you change something.
40
+
41
+ dotscope remembers. It reads your codebase, learns the rules, and
42
+ gives every agent the context it needs — before it writes a line.
43
+
44
+ Works on existing codebases and new projects. Point it at anything.
45
+
46
+ ```
47
+ pip install dotscope && dotscope init
48
+ ```
49
+
50
+ [How It Works](docs/how-it-works.md) · [Docs](docs/scope-file.md) · [MIT](LICENSE)
@@ -0,0 +1,114 @@
1
+ dotscope/.scope,sha256=Fd7Dv6jKkbA0sW4yUHK3zv7i8v1ePquUU4NS5NlOQJI,2205
2
+ dotscope/__init__.py,sha256=F5gxW1HqVNc9tjWbUAuT1rjL79ccL_3erdPfrNSm30c,100
3
+ dotscope/absorber.py,sha256=NSHiUslt1cLTQiubosyQ8iTY8iDXueehGnCC_tY4nwo,14794
4
+ dotscope/assertions.py,sha256=kuU1Fx2a7E3D9RdEhuC_4BxFgJF1ISfQbQiJWaccAkU,4710
5
+ dotscope/ast_analyzer.py,sha256=lbfEZIJh2Kct5f10giI2X6vooNEB2bffyPGHXQK44Iw,128
6
+ dotscope/backtest.py,sha256=V1EpNHHYlX3I8oQXwQXQRscy7lQ6wJwppynx11xtxIc,120
7
+ dotscope/bench.py,sha256=aBXK--1hLf3A6BE05TgI2gA2gf3t7BA04JP3_qP8dC4,5148
8
+ dotscope/budget.py,sha256=s6RZUYIoKhHz4Mv6PIUtmIDSLILpWadXikbGhQwq28k,203
9
+ dotscope/cache.py,sha256=U_V_X49TVYVPPM7Vhjqf412JONpjroFu2tQ5edKrlM4,116
10
+ dotscope/cli.py,sha256=UsEFFlkPzFuq6H5bDNOPErxN9XnrwrB0LVbv7eBZjEw,51940
11
+ dotscope/composer.py,sha256=A2wdR4W9BrnEHchap_2J5kIyIRspnxA-Y0rYfcI5-ks,4564
12
+ dotscope/constants.py,sha256=2BIrFc2LQV2HgsjPRuizNba7oURUk0RxgS-OJ4qvmV0,895
13
+ dotscope/context.py,sha256=9Au7n47Da5D8ArFueMSP_trhDlXO6Wo_DRKAPEuBW3Y,1798
14
+ dotscope/counterfactual.py,sha256=PzPFOYNWJglwsZsOPAMa_KEShNxVHq9uF6S8j5HVydk,6964
15
+ dotscope/debug.py,sha256=c1MkZ2M1KNTQOCikIc5Lliz4TPXp8-17KMIBLQq8lmU,7477
16
+ dotscope/discovery.py,sha256=Hmw0o-Rjnbr6aF2qWqpXqgycsejI0V87Xn6nPDiHn1s,3273
17
+ dotscope/formatter.py,sha256=prUo2KGXAW-CLcuJ97FAP6KeTlbv36a49gUQ4Ya5hbM,5074
18
+ dotscope/graph.py,sha256=azT5l_Ap_KRIAyUL3-Zz8hfHnNp4KSE9JFyEVM7pHY4,211
19
+ dotscope/health.py,sha256=RDXMRkqFB5SsLrd-O5zAzapew3j3zhfVb6awz7cxtdM,7380
20
+ dotscope/help.py,sha256=jTLY9L8le-plfWMphbca0eNFJ5_TmkvOV44ZBILnPPo,7221
21
+ dotscope/history.py,sha256=v6gKOE9y3mHHbt9wQyii3SUf5RzZU5NZT_eSYor6iEw,272
22
+ dotscope/hooks.py,sha256=DMZKKwkCbO4UYYx77uKuEGxSJu3YMnEknwhqi4xKwUk,124
23
+ dotscope/ingest.py,sha256=8UE4cvxnXeGVO9d2gcvPqEqUBd9Vz6gAGHul8TLywZQ,30800
24
+ dotscope/intent.py,sha256=Z8Gm7y-mP2hr1HmS7lAEO9MtNG9qx79edxYSm1AQd30,20285
25
+ dotscope/lessons.py,sha256=F7b3Y3U72foUEjwJWuX2FeeAf8MIjwbjwQW9VEl5smM,7944
26
+ dotscope/matcher.py,sha256=K9RlBEZo3co5g_syva-4FxXljQFk9LBXGjTkLbSgN2U,3284
27
+ dotscope/mcp_server.py,sha256=eaCIYTrgOgITW68az5-Qrvg85WMEY__sSMldxZu9nfA,40500
28
+ dotscope/models.py,sha256=oP527MlM9r4vYtWJu2Bmcwbas6E950to9Fz_lJpmK04,335
29
+ dotscope/near_miss.py,sha256=ZmxoLcCQ4_aubchkGq6cqHSBKOfo04gM8oiq38lDIHU,187
30
+ dotscope/onboarding.py,sha256=OKaaPkBvq_FAtI6YIzoWxpspg1z1LpKEaGsl0v-4b0E,126
31
+ dotscope/parser.py,sha256=41NpHR7NbeFCkADmmlWObQMF2BzbXJCHWgrQK0_80dQ,11050
32
+ dotscope/paths.py,sha256=0z2LnSaoyGoQby9Kd2j0gwEKWQmqC0j_Q1Zom9kj4-4,904
33
+ dotscope/progress.py,sha256=BcrDxSJcD2eUlzV9WBgf9BJRrsD4VhNyFXeGAL_bK4o,1407
34
+ dotscope/regression.py,sha256=tgD5YAclZDwSuqequV3ZhiIZam3V9fZxJMxRu4j-4ZM,4832
35
+ dotscope/resolver.py,sha256=yB6jpsiIyMok9Yt2DuMuGvCAnVszSNhjjhXb_vRaRuM,6425
36
+ dotscope/scanner.py,sha256=bk50zg2cPIITuo16C2jUywHUYlPlwgCMXrB4l-8ITzo,7905
37
+ dotscope/sessions.py,sha256=CXfqqgxqQQFvlCMz4c0oIJvWjUlx0-3-MaPWSFCf4Cg,136
38
+ dotscope/timing.py,sha256=hPCNXyVbZ4iEFer26dtob0Uc9eQotUg5u6lqawCz6PM,118
39
+ dotscope/tokens.py,sha256=rStf527aLx2NhomVRzVMWzz8_kkK_lSdNPrudS6N7Oo,1399
40
+ dotscope/utility.py,sha256=b1cLdRVM0-ZTAiMSerNBczBJV_nb4Ox7EZWgM0uFTqA,4109
41
+ dotscope/virtual.py,sha256=hPS0dF2Zxw9mZRgqYAnTr5lNzkA62ZoiamlG4_pWWY8,172
42
+ dotscope/visibility.py,sha256=WiG7xaMdQUYfyabs82sICJ77MVMamCYgF92WMUFhAY8,23459
43
+ dotscope/check/__init__.py,sha256=vEnwG7BQmfUSF-DgpyqBOM3MEEbuK2HSTJX-TLbfIIM,70
44
+ dotscope/check/acknowledge.py,sha256=JpUheLCO-lPT4RtJ5gFBIBe2hkJTVJP9f3KE4xWnxr0,145
45
+ dotscope/check/checker.py,sha256=ekv8H110y3d44pe3F1_cQUmYilQEi0HRccKehMWK904,233
46
+ dotscope/check/constraints.py,sha256=Ea2EWCsolzJPFdCXWPN0bIUKa5YUe0Tzx20qrOjAriI,145
47
+ dotscope/check/models.py,sha256=s5eynFEZLbAdUcBGcxlt-F6AyWp0HkVfLeIbEmgs0-c,319
48
+ dotscope/check/checks/__init__.py,sha256=ExW0ow03eM8B-X24B1TFidX18FDv_3URNBiTpIPkVB4,77
49
+ dotscope/check/checks/antipattern.py,sha256=YVNnvg0IhEXs58q6x6q0ATdvFtq6NCZfx_xGuaGj5uE,160
50
+ dotscope/check/checks/boundary.py,sha256=0XZs_9xqA3-qngKJi8iS21m94BtI9YOu3ebxliVcyHM,154
51
+ dotscope/check/checks/contracts.py,sha256=Hv94XaijI_-16dR4KruLqhJDR17YNxRHPPsxk0UBfbQ,226
52
+ dotscope/check/checks/direction.py,sha256=Zj4D0TYWFltE5-KFb6gMV8E17Oi7rwblR1AYnZWnTz8,156
53
+ dotscope/check/checks/intent.py,sha256=lXYM9ePBcMh_122U1B2UCEG47E7McEMfy35fegJmojo,150
54
+ dotscope/check/checks/stability.py,sha256=ZynNQ69lgDiibrbMyyw6bcZHHkRJDpFBdZ5n1OYw8UQ,156
55
+ dotscope/models/.scope,sha256=hOip8k-U-L5nokbuliqEXRih1lP9quzAk2tp635CFDU,1538
56
+ dotscope/models/__init__.py,sha256=RDS3eup1biU4McZLFIYAaW7XHZrkRRvLCWQxHJGfVLQ,277
57
+ dotscope/models/core.py,sha256=JrGxTn5QhmKfqTr8jYhmzCCYoF6y8mxhkgsuZxiq79k,9232
58
+ dotscope/models/history.py,sha256=GDq2X-0upG72tEziJdiw6Z-PXc7isySSqsPpdq4auMQ,2148
59
+ dotscope/models/intent.py,sha256=d4Qt9Gi7GdUlwK9Qqq5bgwnMRdTTd7PYvcJK1MPBxzA,6499
60
+ dotscope/models/passes.py,sha256=SBiV2kFYDszJKeV2-DOF2rtQ4YGtA050COeFvEFUV8o,1919
61
+ dotscope/models/state.py,sha256=WYdIRcR2MTgsl3rbV6qCcQrkLMRA32ypaMrTeWSKEU8,7971
62
+ dotscope/passes/.scope,sha256=ofgnWQzkGMJ0G1zVnC9iTAG6BiScAKpbnqTavNVw7iQ,3822
63
+ dotscope/passes/__init__.py,sha256=VYZzrNRVkceNiKy1YnrHdNkuJVDBNTm74qHV7ZmwACI,46
64
+ dotscope/passes/ast_analyzer.py,sha256=whKTO6TwSEUOQtGrwOCM3qOZ9lPECilcvyYhIi3IOG0,17576
65
+ dotscope/passes/backtest.py,sha256=SWIQkdAXOy5eu4vRMpEH8RLXXVlRmjUf03KAg-TDgPk,6403
66
+ dotscope/passes/budget_allocator.py,sha256=nhdEHEgazjU77ly13valjTNUlOcLubu-QLY809OUGYM,5567
67
+ dotscope/passes/convention_compliance.py,sha256=hoZ6tSD6CqK6u6yKaCFgTEwQtg7xmAeN_8JmKG5bqbY,1120
68
+ dotscope/passes/convention_discovery.py,sha256=dtSTJ6Z44nj09_JQed7FEQK5t69ltJs-UbvJK1myzPU,8287
69
+ dotscope/passes/convention_parser.py,sha256=_K6STOY8rfVd3WpHh3neHpdO1RfIoJhJWfD_jCtdEbM,7541
70
+ dotscope/passes/graph_builder.py,sha256=6Xz9R2Y7NNP6utcFEOz0UHp0TgPCAVRowOysUPcds4M,9484
71
+ dotscope/passes/history_miner.py,sha256=0H6s3fPH6CYpW0SB8VVJAZZIbZicctIGe7Dio2z19Dg,11521
72
+ dotscope/passes/incremental.py,sha256=RDUlbhgsoMckjQbkZGlpnBlZ-KzJewJSibDq0W0INqs,4861
73
+ dotscope/passes/lazy.py,sha256=co9Sbqr-IlNlMVjN_2yQmp3uS6ZeJePlF-vgx50kjwc,4820
74
+ dotscope/passes/semantic_diff.py,sha256=bh4Hk5yh5P8IeUawEFN4CHt6s1CEHEIcUyOHvKUj1ZA,5279
75
+ dotscope/passes/virtual.py,sha256=k9Q4or-OXY2y1w1_tgXnMV9DUE5DLfJpF-v0i8UDiZc,7677
76
+ dotscope/passes/voice.py,sha256=HM69BRMbFyKj2O2vxUw4f0Q8aVujxK4I5sPCNIhGG_M,5074
77
+ dotscope/passes/voice_defaults.py,sha256=CcCA8BqzBCrw8ZJ0obl2pcv31tQ6eZiSCE_0Qnmoux8,1190
78
+ dotscope/passes/voice_discovery.py,sha256=REsxxsnpkUmRYHouVJmOI5AQi-c0Ny6KgWVlhNafTkc,8205
79
+ dotscope/passes/lang/__init__.py,sha256=YlLUpELo7_divDO-guqUFnzqYnHy63nUp57BB5aneEE,1051
80
+ dotscope/passes/lang/_base.py,sha256=AwI0-LOOWl86XL2Kc5otkM80pejmKTELAX2denIzCpo,642
81
+ dotscope/passes/lang/_treesitter.py,sha256=2hxMEuyG_0xuTRc9JSiuSEwUG-kecTxakvBcdivNXAs,3254
82
+ dotscope/passes/lang/go.py,sha256=NPESA0uWmCBX08ip-BbL-BVCfMgyIKhSLqQfU4d2uUA,12525
83
+ dotscope/passes/lang/javascript.py,sha256=ZAhv7Qsw6nn-jqzFJRjBOwRY8ufesRy1fbKQwuAX1b8,13738
84
+ dotscope/passes/sentinel/__init__.py,sha256=tHYXBeUIvwdL7vIj2XLdq4tBGE3E3hr7YD3vjUf0P0E,46
85
+ dotscope/passes/sentinel/acknowledge.py,sha256=zj0musuEd1hxIDrDgSr-HMQECkKV6euk9Ho-Gk2QUkU,6969
86
+ dotscope/passes/sentinel/checker.py,sha256=m-sGJ3Pys5oh5pdIi43rv56WKMH2_ab_ToiY0I1hI-I,13350
87
+ dotscope/passes/sentinel/constraints.py,sha256=2nuUQSY61SXcdw0JEkO-Jh3SSEWtBCqNp1edAhs3SBg,17662
88
+ dotscope/passes/sentinel/line_filter.py,sha256=LqLXnf4bnIaIPFDlM49kZp5q4VrGGAcs0tRFAjN58Ec,2855
89
+ dotscope/passes/sentinel/models.py,sha256=1DEWP86_A2LvQFLRgJXcCfbfxwhfbRQtNJefBHgf-_M,320
90
+ dotscope/passes/sentinel/checks/__init__.py,sha256=AsCVKDvatydL3v17injgqZhzjKQvLBtri_AeTsfPYmk,40
91
+ dotscope/passes/sentinel/checks/antipattern.py,sha256=zPnJiM6Q1XJEJYrIxOrA_WIt6nKsMX_2J76Ze-qYhZA,3243
92
+ dotscope/passes/sentinel/checks/boundary.py,sha256=5aC6RKE-exYXnRVJHI23THkYCKXPxuWk7tZUpSTOIIk,1591
93
+ dotscope/passes/sentinel/checks/contracts.py,sha256=waOD7I5Dw5Sce2qiUeG82Wcj6ygINug94tqYAAo0_QI,5232
94
+ dotscope/passes/sentinel/checks/convention.py,sha256=cTQ_IBTCxSASgVb0zqB60GeXMAEIkXlAZ1flrxDXT64,2012
95
+ dotscope/passes/sentinel/checks/direction.py,sha256=QBP4xHcYFupjv1WTk5h9sBQKv2aYrFPKAz17CDvQ1lk,2636
96
+ dotscope/passes/sentinel/checks/intent.py,sha256=fo7mvE8wGL8H2EcGf1DpuWWxYP6WeBbRBIiBZg5Y4tE,7039
97
+ dotscope/passes/sentinel/checks/stability.py,sha256=5-Nhhmc3GRTUlPpDhTB2PNlOrm7fPJYamupaKiRqMyg,2001
98
+ dotscope/passes/sentinel/checks/voice.py,sha256=Ae9jPZ4Xll7hJMqL9HGzBHTVnsEMC0v8FQccGOayEtM,4051
99
+ dotscope/storage/.scope,sha256=n3Ymt4ZPnFR5cHxD2X7kGmj1fMLNwuYqVtGxeQSougg,2157
100
+ dotscope/storage/__init__.py,sha256=7VyfhkJMcIkNLPOzhUWOIRL9oeAU0kExVuxqfxz9TJQ,50
101
+ dotscope/storage/cache.py,sha256=gJ5W1T9fnGrMvDzYNh9wDk1gDwIk_m0k47eCrAKog58,4068
102
+ dotscope/storage/claude_hooks.py,sha256=pp-85CJ3CoXCYdzFdwTQpJg2rmEpAKB8Kg8ZVV2yvaI,3411
103
+ dotscope/storage/git_hooks.py,sha256=rxXr3b8MGTCVvHQth_Q7FvIQhHBOW12v79qfOi1doLk,9546
104
+ dotscope/storage/incremental_state.py,sha256=16yd5lvM_9yfwJvjSn7WVOSpMwwriKWOxBoUZO_8e44,2275
105
+ dotscope/storage/mcp_config.py,sha256=udX0QU2pa9vFxbDaYeDUlUmAxhOToqYMwvG97PBa9nY,3087
106
+ dotscope/storage/near_miss.py,sha256=4Xba0R1QieA3tdIp0Gwf148RQpSTW7X09lXDyyoOoIQ,5933
107
+ dotscope/storage/onboarding.py,sha256=XDYikRZqJFt6VcaznfOfkt2gux2r7sY9dhhUXbzdWos,5055
108
+ dotscope/storage/session_manager.py,sha256=sPFSOiXswzpTKbxepWfuMaeg-kRrfT7rf_P578Z5ESg,7119
109
+ dotscope/storage/timing.py,sha256=rZfgtEDkCaY6jLi_Ge4ydJC6AeUZN_P0nv1Cm5QHJ8o,2414
110
+ dotscope-0.1.0.dist-info/METADATA,sha256=JPEqs0YGgkGBp1xwz9TojrAwHRobU4HPsPW4d3wVf6I,1698
111
+ dotscope-0.1.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
112
+ dotscope-0.1.0.dist-info/entry_points.txt,sha256=7YJfx1eG_9a22DJHHQpxHP3boLNQV8UqfnavjAPzNMc,87
113
+ dotscope-0.1.0.dist-info/licenses/LICENSE,sha256=JF0pwXv-hOPaQZdMZ4VkeBUoOQAT6jKAdr8LWCUqV-A,1065
114
+ dotscope-0.1.0.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: hatchling 1.27.0
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
@@ -0,0 +1,3 @@
1
+ [console_scripts]
2
+ dotscope = dotscope.cli:main
3
+ dotscope-mcp = dotscope.mcp_server:main
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Supremum
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.