hyperpocket 0.0.3__tar.gz → 0.1.9__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (177) hide show
  1. hyperpocket-0.1.9/.gitignore +157 -0
  2. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/PKG-INFO +107 -88
  3. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/README.md +89 -65
  4. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/auth/README.md +3 -3
  5. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/auth/__init__.py +0 -8
  6. hyperpocket-0.1.9/hyperpocket/auth/gumloop/context.py +13 -0
  7. hyperpocket-0.1.9/hyperpocket/auth/gumloop/token_context.py +15 -0
  8. hyperpocket-0.1.9/hyperpocket/auth/gumloop/token_handler.py +66 -0
  9. hyperpocket-0.1.9/hyperpocket/auth/gumloop/token_schema.py +8 -0
  10. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/auth/linear/token_context.py +1 -1
  11. hyperpocket-0.1.9/hyperpocket/auth/notion/README.md +28 -0
  12. hyperpocket-0.1.9/hyperpocket/auth/notion/context.py +15 -0
  13. hyperpocket-0.1.9/hyperpocket/auth/notion/token_context.py +14 -0
  14. hyperpocket-0.1.9/hyperpocket/auth/notion/token_handler.py +65 -0
  15. hyperpocket-0.1.9/hyperpocket/auth/notion/token_schema.py +10 -0
  16. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/auth/provider.py +8 -5
  17. hyperpocket-0.1.9/hyperpocket/auth/reddit/context.py +15 -0
  18. hyperpocket-0.1.9/hyperpocket/auth/reddit/oauth2_context.py +32 -0
  19. hyperpocket-0.1.9/hyperpocket/auth/reddit/oauth2_handler.py +151 -0
  20. hyperpocket-0.1.9/hyperpocket/auth/reddit/oauth2_schema.py +18 -0
  21. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/auth/slack/token_context.py +1 -1
  22. hyperpocket-0.1.9/hyperpocket/builtin.py +63 -0
  23. hyperpocket-0.1.9/hyperpocket/cli/__main__.py +24 -0
  24. hyperpocket-0.1.9/hyperpocket/cli/auth.py +83 -0
  25. hyperpocket-0.1.9/hyperpocket/cli/codegen/auth/__init__.py +13 -0
  26. hyperpocket-0.1.9/hyperpocket/cli/codegen/auth/auth_context_template.py +16 -0
  27. hyperpocket-0.1.9/hyperpocket/cli/codegen/auth/auth_token_context_template.py +16 -0
  28. hyperpocket-0.1.9/hyperpocket/cli/codegen/auth/auth_token_handler_template.py +69 -0
  29. hyperpocket-0.1.9/hyperpocket/cli/codegen/auth/auth_token_schema_template.py +12 -0
  30. hyperpocket-0.1.9/hyperpocket/cli/codegen/auth/server_auth_template.py +18 -0
  31. hyperpocket-0.1.9/hyperpocket/cli/eject.py +19 -0
  32. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/cli/sync.py +5 -5
  33. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/config/settings.py +14 -12
  34. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/futures/futurestore.py +0 -1
  35. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/pocket_auth.py +25 -5
  36. hyperpocket-0.0.3/hyperpocket/pocket_main.py → hyperpocket-0.1.9/hyperpocket/pocket_core.py +89 -179
  37. hyperpocket-0.1.9/hyperpocket/pocket_main.py +307 -0
  38. hyperpocket-0.1.9/hyperpocket/prompts.py +13 -0
  39. hyperpocket-0.1.9/hyperpocket/repository/__init__.py +5 -0
  40. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/repository/lock.py +71 -1
  41. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/repository/lockfile.py +19 -13
  42. hyperpocket-0.1.9/hyperpocket/repository/repository.py +43 -0
  43. hyperpocket-0.1.9/hyperpocket/server/auth/__init__.py +9 -0
  44. hyperpocket-0.1.9/hyperpocket/server/auth/gumloop.py +16 -0
  45. hyperpocket-0.1.9/hyperpocket/server/auth/notion.py +19 -0
  46. hyperpocket-0.1.9/hyperpocket/server/auth/reddit.py +16 -0
  47. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/server/server.py +56 -20
  48. hyperpocket-0.1.9/hyperpocket/server/tool/dto/script.py +28 -0
  49. hyperpocket-0.1.9/hyperpocket/server/tool/wasm.py +43 -0
  50. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/session/README.md +2 -2
  51. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/session/in_memory.py +18 -5
  52. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/session/interface.py +14 -0
  53. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/session/redis.py +29 -5
  54. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/tool/README.md +16 -12
  55. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/tool/__init__.py +4 -3
  56. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/tool/function/README.md +39 -10
  57. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/tool/function/__init__.py +2 -0
  58. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/tool/function/annotation.py +2 -1
  59. hyperpocket-0.1.9/hyperpocket/tool/function/tool.py +166 -0
  60. hyperpocket-0.1.9/hyperpocket/tool/tool.py +178 -0
  61. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/tool/wasm/README.md +27 -5
  62. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/tool/wasm/browser.py +2 -7
  63. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/tool/wasm/script.py +40 -1
  64. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/tool/wasm/templates/python.py +32 -14
  65. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/tool/wasm/tool.py +21 -18
  66. hyperpocket-0.1.9/hyperpocket/tool_like.py +5 -0
  67. hyperpocket-0.1.9/hyperpocket/util/__init__.py +1 -0
  68. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/util/extract_func_param_desc_from_docstring.py +4 -4
  69. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/util/function_to_model.py +5 -2
  70. hyperpocket-0.1.9/hyperpocket/util/json_schema_to_model.py +90 -0
  71. hyperpocket-0.1.9/pyproject.toml +59 -0
  72. hyperpocket-0.1.9/tests/auth/__init__.py +0 -0
  73. {hyperpocket-0.0.3/hyperpocket/auth/tests → hyperpocket-0.1.9/tests/auth}/test_google_oauth2_handler.py +1 -2
  74. hyperpocket-0.1.9/tests/auth/test_gumloop_token_handler.py +67 -0
  75. hyperpocket-0.1.9/tests/auth/test_notion_token_handler.py +66 -0
  76. {hyperpocket-0.0.3/hyperpocket/auth/tests → hyperpocket-0.1.9/tests/auth}/test_slack_oauth2_handler.py +4 -5
  77. {hyperpocket-0.0.3/hyperpocket/auth/tests → hyperpocket-0.1.9/tests/auth}/test_slack_token_handler.py +18 -18
  78. hyperpocket-0.1.9/tests/session/__init__.py +0 -0
  79. {hyperpocket-0.0.3/hyperpocket/session/tests → hyperpocket-0.1.9/tests/session}/test_in_memory.py +3 -2
  80. {hyperpocket-0.0.3/hyperpocket/session/tests → hyperpocket-0.1.9/tests/session}/test_redis.py +3 -2
  81. hyperpocket-0.1.9/tests/test_pocket.py +174 -0
  82. {hyperpocket-0.0.3/hyperpocket → hyperpocket-0.1.9}/tests/test_pocket_auth.py +3 -2
  83. hyperpocket-0.1.9/tests/tool/__init__.py +0 -0
  84. {hyperpocket-0.0.3/hyperpocket/tool/tests → hyperpocket-0.1.9/tests/tool}/test_function_tool.py +59 -4
  85. hyperpocket-0.1.9/tests/tool/test_wasm_tool.py +73 -0
  86. hyperpocket-0.1.9/uv.lock +1075 -0
  87. hyperpocket-0.0.3/hyperpocket/auth/README.KR.md +0 -309
  88. hyperpocket-0.0.3/hyperpocket/auth/slack/tests/test_oauth2_handler.py +0 -32
  89. hyperpocket-0.0.3/hyperpocket/auth/slack/tests/test_token_handler.py +0 -23
  90. hyperpocket-0.0.3/hyperpocket/cli/__main__.py +0 -12
  91. hyperpocket-0.0.3/hyperpocket/external/__init__.py +0 -7
  92. hyperpocket-0.0.3/hyperpocket/external/github_client.py +0 -19
  93. hyperpocket-0.0.3/hyperpocket/prompts.py +0 -15
  94. hyperpocket-0.0.3/hyperpocket/repository/__init__.py +0 -5
  95. hyperpocket-0.0.3/hyperpocket/repository/repository.py +0 -18
  96. hyperpocket-0.0.3/hyperpocket/server/auth/__init__.py +0 -15
  97. hyperpocket-0.0.3/hyperpocket/server/tool/dto/script.py +0 -15
  98. hyperpocket-0.0.3/hyperpocket/server/tool/wasm.py +0 -31
  99. hyperpocket-0.0.3/hyperpocket/session/README.KR.md +0 -62
  100. hyperpocket-0.0.3/hyperpocket/tests/test_pocket.py +0 -116
  101. hyperpocket-0.0.3/hyperpocket/tool/README.KR.md +0 -68
  102. hyperpocket-0.0.3/hyperpocket/tool/builtins/example/add_tool.py +0 -18
  103. hyperpocket-0.0.3/hyperpocket/tool/function/README.KR.md +0 -159
  104. hyperpocket-0.0.3/hyperpocket/tool/function/tool.py +0 -87
  105. hyperpocket-0.0.3/hyperpocket/tool/tool.py +0 -106
  106. hyperpocket-0.0.3/hyperpocket/tool/wasm/README.KR.md +0 -144
  107. hyperpocket-0.0.3/hyperpocket/util/__init__.py +0 -1
  108. hyperpocket-0.0.3/hyperpocket/util/json_schema_to_model.py +0 -69
  109. hyperpocket-0.0.3/pyproject.toml +0 -40
  110. {hyperpocket-0.0.3/hyperpocket/auth/calendly → hyperpocket-0.1.9}/__init__.py +0 -0
  111. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/__init__.py +0 -0
  112. {hyperpocket-0.0.3/hyperpocket/auth/github → hyperpocket-0.1.9/hyperpocket/auth/calendly}/__init__.py +0 -0
  113. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/auth/calendly/context.py +0 -0
  114. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/auth/calendly/oauth2_context.py +0 -0
  115. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/auth/calendly/oauth2_handler.py +0 -0
  116. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/auth/calendly/oauth2_schema.py +0 -0
  117. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/auth/context.py +0 -0
  118. {hyperpocket-0.0.3/hyperpocket/auth/google → hyperpocket-0.1.9/hyperpocket/auth/github}/__init__.py +0 -0
  119. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/auth/github/context.py +0 -0
  120. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/auth/github/oauth2_context.py +0 -0
  121. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/auth/github/oauth2_handler.py +0 -0
  122. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/auth/github/oauth2_schema.py +0 -0
  123. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/auth/github/token_context.py +0 -0
  124. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/auth/github/token_handler.py +0 -0
  125. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/auth/github/token_schema.py +0 -0
  126. {hyperpocket-0.0.3/hyperpocket/auth/linear → hyperpocket-0.1.9/hyperpocket/auth/google}/__init__.py +0 -0
  127. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/auth/google/context.py +0 -0
  128. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/auth/google/oauth2_context.py +0 -0
  129. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/auth/google/oauth2_handler.py +0 -0
  130. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/auth/google/oauth2_schema.py +0 -0
  131. {hyperpocket-0.0.3/hyperpocket/auth/slack → hyperpocket-0.1.9/hyperpocket/auth/gumloop}/__init__.py +0 -0
  132. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/auth/handler.py +0 -0
  133. {hyperpocket-0.0.3/hyperpocket/auth/slack/tests → hyperpocket-0.1.9/hyperpocket/auth/linear}/__init__.py +0 -0
  134. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/auth/linear/context.py +0 -0
  135. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/auth/linear/token_handler.py +0 -0
  136. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/auth/linear/token_schema.py +0 -0
  137. {hyperpocket-0.0.3/hyperpocket/auth/tests → hyperpocket-0.1.9/hyperpocket/auth/notion}/__init__.py +0 -0
  138. {hyperpocket-0.0.3/hyperpocket/cli → hyperpocket-0.1.9/hyperpocket/auth/reddit}/__init__.py +0 -0
  139. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/auth/schema.py +0 -0
  140. {hyperpocket-0.0.3/hyperpocket/server/tool/dto → hyperpocket-0.1.9/hyperpocket/auth/slack}/__init__.py +0 -0
  141. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/auth/slack/context.py +0 -0
  142. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/auth/slack/oauth2_context.py +0 -0
  143. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/auth/slack/oauth2_handler.py +0 -0
  144. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/auth/slack/oauth2_schema.py +0 -0
  145. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/auth/slack/token_handler.py +0 -0
  146. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/auth/slack/token_schema.py +0 -0
  147. {hyperpocket-0.0.3/hyperpocket/session/tests → hyperpocket-0.1.9/hyperpocket/cli}/__init__.py +0 -0
  148. {hyperpocket-0.0.3/hyperpocket/tests → hyperpocket-0.1.9/hyperpocket/cli/codegen}/__init__.py +0 -0
  149. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/cli/pull.py +0 -0
  150. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/config/__init__.py +0 -0
  151. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/config/auth.py +0 -0
  152. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/config/git.py +0 -0
  153. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/config/logger.py +0 -0
  154. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/config/session.py +0 -0
  155. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/constants.py +0 -0
  156. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/futures/__init__.py +0 -0
  157. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/server/__init__.py +0 -0
  158. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/server/auth/calendly.py +0 -0
  159. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/server/auth/github.py +0 -0
  160. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/server/auth/google.py +0 -0
  161. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/server/auth/linear.py +0 -0
  162. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/server/auth/slack.py +0 -0
  163. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/server/auth/token.py +0 -0
  164. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/server/proxy.py +0 -0
  165. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/server/tool/__init__.py +0 -0
  166. {hyperpocket-0.0.3/hyperpocket/tool/builtins → hyperpocket-0.1.9/hyperpocket/server/tool/dto}/__init__.py +0 -0
  167. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/session/__init__.py +0 -0
  168. {hyperpocket-0.0.3/hyperpocket/tool/builtins/example → hyperpocket-0.1.9/hyperpocket/tool/tests}/__init__.py +0 -0
  169. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/tool/wasm/__init__.py +0 -0
  170. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/tool/wasm/invoker.py +0 -0
  171. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/tool/wasm/templates/__init__.py +0 -0
  172. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/tool/wasm/templates/node.py +0 -0
  173. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/util/find_all_leaf_class_in_package.py +0 -0
  174. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/util/find_all_subclass_in_package.py +0 -0
  175. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/util/flatten_json_schema.py +0 -0
  176. {hyperpocket-0.0.3 → hyperpocket-0.1.9}/hyperpocket/util/get_objects_from_subpackage.py +0 -0
  177. {hyperpocket-0.0.3/hyperpocket/tool → hyperpocket-0.1.9}/tests/__init__.py +0 -0
@@ -0,0 +1,157 @@
1
+ .vs/
2
+ .vscode/
3
+ .idea/
4
+ # Byte-compiled / optimized / DLL files
5
+ __pycache__/
6
+ *.py[cod]
7
+ *$py.class
8
+
9
+ # C extensions
10
+ *.so
11
+
12
+ # Distribution / packaging
13
+ .Python
14
+ build/
15
+ develop-eggs/
16
+ dist/
17
+ downloads/
18
+ eggs/
19
+ .eggs/
20
+ lib/
21
+ lib64/
22
+ parts/
23
+ sdist/
24
+ var/
25
+ wheels/
26
+ pip-wheel-metadata/
27
+ share/python-wheels/
28
+ *.egg-info/
29
+ .installed.cfg
30
+ *.egg
31
+ MANIFEST
32
+
33
+ # Google GitHub Actions credentials files created by:
34
+ # https://github.com/google-github-actions/auth
35
+ #
36
+ # That action recommends adding this gitignore to prevent accidentally committing keys.
37
+ gha-creds-*.json
38
+
39
+ # PyInstaller
40
+ # Usually these files are written by a python script from a template
41
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
42
+ *.manifest
43
+ *.spec
44
+
45
+ # Unit test / coverage reports
46
+ htmlcov/
47
+ .tox/
48
+ .nox/
49
+ .coverage
50
+ .coverage.*
51
+ .cache
52
+ nosetests.xml
53
+ coverage.xml
54
+ *.cover
55
+ *.py,cover
56
+ .hypothesis/
57
+ .pytest_cache/
58
+
59
+ # Translations
60
+ *.mo
61
+ *.pot
62
+
63
+ # Django stuff:
64
+ *.log
65
+ local_settings.py
66
+ db.sqlite3
67
+ db.sqlite3-journal
68
+
69
+ # Flask stuff:
70
+ instance/
71
+ .webassets-cache
72
+
73
+ # Scrapy stuff:
74
+ .scrapy
75
+
76
+
77
+ # Jupyter Notebook
78
+ .ipynb_checkpoints
79
+ notebooks/
80
+
81
+ # IPython
82
+ profile_default/
83
+ ipython_config.py
84
+
85
+ # pyenv
86
+ .python-version
87
+
88
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow
89
+ __pypackages__/
90
+
91
+ # Celery stuff
92
+ celerybeat-schedule
93
+ celerybeat.pid
94
+
95
+ # SageMath parsed files
96
+ *.sage.py
97
+
98
+ # Environments
99
+ .env
100
+ .envrc
101
+ .venv*
102
+ venv*
103
+ env/
104
+ ENV/
105
+ env.bak/
106
+
107
+ # Spyder project settings
108
+ .spyderproject
109
+ .spyproject
110
+
111
+ # Rope project settings
112
+ .ropeproject
113
+
114
+ # mkdocs documentation
115
+ /site
116
+
117
+ # mypy
118
+ .mypy_cache/
119
+ .mypy_cache_test/
120
+ .dmypy.json
121
+ dmypy.json
122
+
123
+ # Pyre type checker
124
+ .pyre/
125
+
126
+ # macOS display setting files
127
+ .DS_Store
128
+
129
+ # Wandb directory
130
+ wandb/
131
+
132
+ # asdf tool versions
133
+ .tool-versions
134
+ /.ruff_cache/
135
+
136
+ *.pkl
137
+ *.bin
138
+
139
+ # integration test artifacts
140
+ data_map*
141
+ \[('_type', 'fake'), ('stop', None)]
142
+
143
+ # Replit files
144
+ *replit*
145
+
146
+
147
+ prof
148
+ virtualenv/
149
+
150
+ # Ignore dynaconf secret files
151
+ **/.secrets.toml
152
+ *.xml
153
+ *.iml
154
+ pocket.lock
155
+ .log/
156
+ .pocket/
157
+ _build/
@@ -1,47 +1,41 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: hyperpocket
3
- Version: 0.0.3
3
+ Version: 0.1.9
4
4
  Summary: Building AI agent with hyperpocket tool in a flash
5
- Home-page: https://vessl-ai.github.io/hyperpocket
6
- Author: VESSL AI Devs
7
- Author-email: dev@vessl.ai
8
- Requires-Python: >=3.11,<4.0
9
- Classifier: Programming Language :: Python :: 3
10
- Classifier: Programming Language :: Python :: 3.11
11
- Classifier: Programming Language :: Python :: 3.12
12
- Classifier: Programming Language :: Python :: 3.13
13
- Requires-Dist: click (>=8.1.7,<9.0.0)
14
- Requires-Dist: dynaconf (>=3.2.6,<4.0.0)
15
- Requires-Dist: fastapi (>=0.115.5,<0.116.0)
16
- Requires-Dist: gitpython (>=3.1.43,<4.0.0)
17
- Requires-Dist: httpx (==0.27)
18
- Requires-Dist: jinja2 (>=3.1.4,<4.0.0)
19
- Requires-Dist: multiprocess (>=0.70.17,<0.71.0)
20
- Requires-Dist: playwright (>=1.49.0,<2.0.0)
21
- Requires-Dist: pydantic (>=2.10.2,<3.0.0)
22
- Requires-Dist: pygithub (>=2.5.0,<3.0.0)
23
- Requires-Dist: python-multipart (>=0.0.19,<0.0.20)
24
- Requires-Dist: redis (>=5.2.1,<6.0.0)
25
- Requires-Dist: requests (>=2.32.3,<3.0.0)
26
- Requires-Dist: toml (>=0.10.2,<0.11.0)
27
- Requires-Dist: uvicorn (>=0.32.1,<0.33.0)
5
+ Project-URL: Homepage, https://vessl-ai.github.io/hyperpocket
28
6
  Project-URL: Repository, https://github.com/vessl-ai/hyperpocket
7
+ Author-email: Hyperpocket Team <hyperpocket@vessl.ai>
8
+ Requires-Python: >=3.10
9
+ Requires-Dist: click>=8.1.7
10
+ Requires-Dist: dynaconf>=3.2.6
11
+ Requires-Dist: fastapi>=0.115.5
12
+ Requires-Dist: gitpython>=3.1.43
13
+ Requires-Dist: httpx==0.27
14
+ Requires-Dist: jinja2>=3.1.4
15
+ Requires-Dist: multiprocess>=0.70.17
16
+ Requires-Dist: playwright>=1.49.0
17
+ Requires-Dist: pydantic>=2.10.2
18
+ Requires-Dist: pygithub>=2.5.0
19
+ Requires-Dist: python-multipart>=0.0.19
20
+ Requires-Dist: redis>=5.2.1
21
+ Requires-Dist: requests>=2.32.3
22
+ Requires-Dist: toml>=0.10.2
23
+ Requires-Dist: uvicorn>=0.32.1
29
24
  Description-Content-Type: text/markdown
30
25
 
31
- # Pocket 👛
26
+ # Hyperpocket 👛
32
27
 
33
- Pocket is where tools belong. Power your agent up with a pocket of tools. 👛
28
+ Hyperpocket is where tools belong. Power your agent up with a pocket of tools. 👛
34
29
 
35
30
  <figure>
36
- <img src="image.png" alt="4d-pocket" width="200"/>
37
- <figcaption>© Doraemon</figcaption>
31
+ <img src="../../logo.png" alt="hyperpocket" width="200"/>
38
32
  </figure>
39
33
 
40
34
  ## Introduction
41
35
 
42
- Pocket is a tool that allows you to easily use tool and auth for agents on your machine.
36
+ Hyperpocket is a tool that allows you to easily use tool and auth for agents on your machine.
43
37
 
44
- **_Start fast._** Just install Pocket and use it. We know you don't have time to authenticate to our server.
38
+ **_Start fast._** Just install Hyperpocket and use it. We know you don't have time to authenticate to our server.
45
39
 
46
40
  **_Go securely._** Not like others, you are the only one who knows your secret tokens. We do NOT. All of your secret
47
41
  tokens belong to your infrastructure, not ours.
@@ -52,17 +46,12 @@ with the dependency spaghetti.
52
46
 
53
47
  **_Battery Included_** You can use popular tools and authentication providers out-of-the-box.
54
48
 
55
- <figure>
56
- <img src="pocket1.png" alt="pocket-flow" width="400"/>
57
- <figcaption></figcaption>
58
- </figure>
59
-
60
49
  ## Installation
61
50
 
62
- 1. install pocket
51
+ 1. install hyperpocket
63
52
 
64
53
  ```bash
65
- pip install pocket
54
+ pip install hyperpocket
66
55
  ```
67
56
 
68
57
  2. install playwright
@@ -87,17 +76,15 @@ Or just use LLM API Clients out of the box.
87
76
  ### Using out-of-the-box tools
88
77
 
89
78
  ```python
79
+ from hyperpocket.tool import from_git
90
80
  from langchain_openai import ChatOpenAI
91
81
 
92
- import hyperpocket as pk
93
- import hyperpocket.curated_tools
94
- from pocket_langchain import PocketLangchain
82
+ from hyperpocket_langchain import PocketLangchain
95
83
 
96
84
  pklc = PocketLangchain(
97
85
  tools=[
98
- *pk.curated_tools.SLACK, # SLACK = [slack_get_message, slack_post_message, ..]
99
- *pk.curated_tools.LINEAR,
100
- "https://github.com/my-org/some-awesome-tool",
86
+ from_git("https://github.com/vessl-ai/hyperawesometools", "main", "managed-tools/slack/get-message"),
87
+ from_git("https://github.com/vessl-ai/hyperawesometools", "main", "managed-tools/slack/post-message"),
101
88
  ]
102
89
  )
103
90
  tools = pklc.get_tools()
@@ -111,45 +98,43 @@ llm_tool_binding.invoke(...)
111
98
 
112
99
  There are two kinds of auth process, one is using system auth(developer api key) and the other is using end user auth.
113
100
 
114
- Pocket provides way to use end user auth easily.
101
+ Hyperpocket provides way to use end user auth easily.
115
102
  (Of course, you can also just set your STRIPE_API_KEY when using Stripe API related tools)
116
103
 
117
104
  - Supported methods
118
105
 
119
- - [x] OAuth
120
- - [x] Token
121
- - [ ] Basic Auth (Username, Password)
106
+ - [x] OAuth
107
+ - [x] Token
108
+ - [ ] Basic Auth (Username, Password)
122
109
 
123
110
  - Supported OAuth Providers
124
- - [x] Google
125
- - [x] GitHub
126
- - [x] Slack
127
- - [x] Linear
128
- - [ ] Facebook
129
- - [ ] X (Previously Twitter)
130
- - [ ] LinkedIn
131
- - [ ] Discord
132
- - [ ] Zoom
133
- - [ ] Microsoft
134
- - [ ] Spotify
135
- - [ ] Twitch
111
+ - [x] Google
112
+ - [x] GitHub
113
+ - [x] Slack
114
+ - [x] Linear
115
+ - [ ] Facebook
116
+ - [ ] X (Previously Twitter)
117
+ - [ ] LinkedIn
118
+ - [ ] Discord
119
+ - [ ] Zoom
120
+ - [ ] Microsoft
121
+ - [ ] Spotify
122
+ - [ ] Twitch
136
123
 
137
124
  You can manage your auths in request-wise level. (e.g. you can use different auths for different requests)
138
125
 
139
126
  ```python
127
+ from hyperpocket.tool import from_git
140
128
  from langchain_openai import ChatOpenAI
141
129
  from langgraph.graph import StateGraph, START, MessagesState
142
130
  from langgraph.prebuilt import tools_condition
143
131
 
144
- import hyperpocket as pk
145
- import hyperpocket.curated_tools
146
- from pocket_langgraph import PocketLanggraph
132
+ from hyperpocket_langgraph import PocketLanggraph
147
133
 
148
134
  pklg = PocketLanggraph(
149
135
  tools=[
150
- *pk.curated_tools.SLACK, # SLACK = [slack_get_message, slack_post_message, ..]
151
- *pk.curated_tools.LINEAR,
152
- "https://github.com/my-org/some-awesome-tool",
136
+ from_git("https://github.com/vessl-ai/hyperawesometools", "main", "managed-tools/slack/get-message"),
137
+ from_git("https://github.com/vessl-ai/hyperawesometools", "main", "managed-tools/slack/post-message"),
153
138
  ],
154
139
  )
155
140
  llm = ChatOpenAI()
@@ -175,12 +160,12 @@ graph_builder.compile()
175
160
  ```
176
161
 
177
162
  ```python
163
+ from hyperpocket.config import secret
164
+ from hyperpocket.tool import from_git
178
165
  from llama_index.core.agent import FunctionCallingAgent
179
166
  from llama_index.llms.openai import OpenAI
180
- from pocket_llamaindex import PocketLlamaindex
181
167
 
182
- from hyperpocket.config import secret
183
- from hyperpocket.tool import from_git
168
+ from hyperpocket_llamaindex import PocketLlamaindex
184
169
 
185
170
  llm = OpenAI(api_key=secret["OPENAI_API_KEY"])
186
171
  pocket = PocketLlamaindex(
@@ -227,12 +212,8 @@ Assistance: Here are the recent 10 messages.
227
212
 
228
213
  ### Config
229
214
 
230
- Running `pocket config init` will create your config file in `$HOME/.pocket/settings.toml`
231
-
232
215
  The `settings.toml` looks as follows.
233
216
 
234
- TODO: Add `secrets.toml`.
235
-
236
217
  ```toml
237
218
  log_level = "debug"
238
219
  internal_server_port = "8000" # optional, default is 8000
@@ -273,11 +254,11 @@ client_secret = "" # your github client secret
273
254
 
274
255
  - While creating your github OAuth app, configuring your app's `Authorization callback URL` is different for your
275
256
  development environment and production environment.
276
- - For development environment, you can use `http://localhost:8000/auth/github/callback`
277
- - **Note**: Default port for pocket dev server is `8000`. If you are using a different port, make sure to
278
- replace `8000` with your actual port number.
279
- - For production environment, you can use `https://yourdomain.com/auth/github/callback`
280
- - **Note**: Make sure to replace `yourdomain.com` with your actual domain name that this app will be hosted on.
257
+ - For development environment, you can use `http://localhost:8000/auth/github/callback`
258
+ - **Note**: Default port for hyperpocket dev server is `8000`. If you are using a different port, make sure to
259
+ replace `8000` with your actual port number.
260
+ - For production environment, you can use `https://yourdomain.com/auth/github/callback`
261
+ - **Note**: Make sure to replace `yourdomain.com` with your actual domain name that this app will be hosted on.
281
262
 
282
263
  #### How to integrate SLACK OAuth app
283
264
 
@@ -288,15 +269,53 @@ client_secret = "" # your github client secret
288
269
  - Redirect URLs :
289
270
  `{public_server_protocol}://{public_hostname}:[{public_server_port}]/{callback_url_rewrite_prefix}/auth/slack/oauth2/callback`
290
271
  - Scopes : What you want to request to user.
291
- - Recommended scopes :
292
- - channels:history,
293
- - channels:read,
294
- - chat:write,
295
- - groups:history,
296
- - groups:read,
297
- - im:history,
298
- - mpim:history,
299
- - reactions:read,
300
- - reactions:write,
272
+ - Recommended scopes :
273
+ - channels:history,
274
+ - channels:read,
275
+ - chat:write,
276
+ - groups:history,
277
+ - groups:read,
278
+ - im:history,
279
+ - mpim:history,
280
+ - reactions:read,
281
+ - reactions:write,
301
282
 
302
283
  3. Set your Slack APP Client ID / Client Secret in `$HOME/.pocket/settings.toml`
284
+
285
+ #### How to start adding a new token auth
286
+
287
+ 1. Generate boilerplate codes for token-based auth services ?
288
+
289
+ ```
290
+ # service_name should be lowercase including underscore
291
+ poetry run hyperpocket devtool create-token-auth-template {service_name}
292
+ ```
293
+
294
+ It will generate boilerplate code lines for a new token-based auth service
295
+
296
+ 2. Extend AuthProvider enum to add your new auth provider.
297
+
298
+ ```python
299
+ class AuthProvider(Enum):
300
+ SERVICE = 'service'
301
+ ```
302
+
303
+ 3. Specify auth provider for tools
304
+
305
+ 1) github repo or local
306
+
307
+ ```toml
308
+ [auth]
309
+ auth_provider = "{service_name}"
310
+ auth_handler = "{service_name}-token"
311
+ scopes = []
312
+ ```
313
+
314
+ 2. function_tool
315
+
316
+ ```python
317
+ @function_tool(
318
+ auth_provider=AuthProvider.SERVICE
319
+ )
320
+ def my_function(**kwargs):
321
+ ```
@@ -1,17 +1,16 @@
1
- # Pocket 👛
1
+ # Hyperpocket 👛
2
2
 
3
- Pocket is where tools belong. Power your agent up with a pocket of tools. 👛
3
+ Hyperpocket is where tools belong. Power your agent up with a pocket of tools. 👛
4
4
 
5
5
  <figure>
6
- <img src="image.png" alt="4d-pocket" width="200"/>
7
- <figcaption>© Doraemon</figcaption>
6
+ <img src="../../logo.png" alt="hyperpocket" width="200"/>
8
7
  </figure>
9
8
 
10
9
  ## Introduction
11
10
 
12
- Pocket is a tool that allows you to easily use tool and auth for agents on your machine.
11
+ Hyperpocket is a tool that allows you to easily use tool and auth for agents on your machine.
13
12
 
14
- **_Start fast._** Just install Pocket and use it. We know you don't have time to authenticate to our server.
13
+ **_Start fast._** Just install Hyperpocket and use it. We know you don't have time to authenticate to our server.
15
14
 
16
15
  **_Go securely._** Not like others, you are the only one who knows your secret tokens. We do NOT. All of your secret
17
16
  tokens belong to your infrastructure, not ours.
@@ -22,17 +21,12 @@ with the dependency spaghetti.
22
21
 
23
22
  **_Battery Included_** You can use popular tools and authentication providers out-of-the-box.
24
23
 
25
- <figure>
26
- <img src="pocket1.png" alt="pocket-flow" width="400"/>
27
- <figcaption></figcaption>
28
- </figure>
29
-
30
24
  ## Installation
31
25
 
32
- 1. install pocket
26
+ 1. install hyperpocket
33
27
 
34
28
  ```bash
35
- pip install pocket
29
+ pip install hyperpocket
36
30
  ```
37
31
 
38
32
  2. install playwright
@@ -57,17 +51,15 @@ Or just use LLM API Clients out of the box.
57
51
  ### Using out-of-the-box tools
58
52
 
59
53
  ```python
54
+ from hyperpocket.tool import from_git
60
55
  from langchain_openai import ChatOpenAI
61
56
 
62
- import hyperpocket as pk
63
- import hyperpocket.curated_tools
64
- from pocket_langchain import PocketLangchain
57
+ from hyperpocket_langchain import PocketLangchain
65
58
 
66
59
  pklc = PocketLangchain(
67
60
  tools=[
68
- *pk.curated_tools.SLACK, # SLACK = [slack_get_message, slack_post_message, ..]
69
- *pk.curated_tools.LINEAR,
70
- "https://github.com/my-org/some-awesome-tool",
61
+ from_git("https://github.com/vessl-ai/hyperawesometools", "main", "managed-tools/slack/get-message"),
62
+ from_git("https://github.com/vessl-ai/hyperawesometools", "main", "managed-tools/slack/post-message"),
71
63
  ]
72
64
  )
73
65
  tools = pklc.get_tools()
@@ -81,45 +73,43 @@ llm_tool_binding.invoke(...)
81
73
 
82
74
  There are two kinds of auth process, one is using system auth(developer api key) and the other is using end user auth.
83
75
 
84
- Pocket provides way to use end user auth easily.
76
+ Hyperpocket provides way to use end user auth easily.
85
77
  (Of course, you can also just set your STRIPE_API_KEY when using Stripe API related tools)
86
78
 
87
79
  - Supported methods
88
80
 
89
- - [x] OAuth
90
- - [x] Token
91
- - [ ] Basic Auth (Username, Password)
81
+ - [x] OAuth
82
+ - [x] Token
83
+ - [ ] Basic Auth (Username, Password)
92
84
 
93
85
  - Supported OAuth Providers
94
- - [x] Google
95
- - [x] GitHub
96
- - [x] Slack
97
- - [x] Linear
98
- - [ ] Facebook
99
- - [ ] X (Previously Twitter)
100
- - [ ] LinkedIn
101
- - [ ] Discord
102
- - [ ] Zoom
103
- - [ ] Microsoft
104
- - [ ] Spotify
105
- - [ ] Twitch
86
+ - [x] Google
87
+ - [x] GitHub
88
+ - [x] Slack
89
+ - [x] Linear
90
+ - [ ] Facebook
91
+ - [ ] X (Previously Twitter)
92
+ - [ ] LinkedIn
93
+ - [ ] Discord
94
+ - [ ] Zoom
95
+ - [ ] Microsoft
96
+ - [ ] Spotify
97
+ - [ ] Twitch
106
98
 
107
99
  You can manage your auths in request-wise level. (e.g. you can use different auths for different requests)
108
100
 
109
101
  ```python
102
+ from hyperpocket.tool import from_git
110
103
  from langchain_openai import ChatOpenAI
111
104
  from langgraph.graph import StateGraph, START, MessagesState
112
105
  from langgraph.prebuilt import tools_condition
113
106
 
114
- import hyperpocket as pk
115
- import hyperpocket.curated_tools
116
- from pocket_langgraph import PocketLanggraph
107
+ from hyperpocket_langgraph import PocketLanggraph
117
108
 
118
109
  pklg = PocketLanggraph(
119
110
  tools=[
120
- *pk.curated_tools.SLACK, # SLACK = [slack_get_message, slack_post_message, ..]
121
- *pk.curated_tools.LINEAR,
122
- "https://github.com/my-org/some-awesome-tool",
111
+ from_git("https://github.com/vessl-ai/hyperawesometools", "main", "managed-tools/slack/get-message"),
112
+ from_git("https://github.com/vessl-ai/hyperawesometools", "main", "managed-tools/slack/post-message"),
123
113
  ],
124
114
  )
125
115
  llm = ChatOpenAI()
@@ -145,12 +135,12 @@ graph_builder.compile()
145
135
  ```
146
136
 
147
137
  ```python
138
+ from hyperpocket.config import secret
139
+ from hyperpocket.tool import from_git
148
140
  from llama_index.core.agent import FunctionCallingAgent
149
141
  from llama_index.llms.openai import OpenAI
150
- from pocket_llamaindex import PocketLlamaindex
151
142
 
152
- from hyperpocket.config import secret
153
- from hyperpocket.tool import from_git
143
+ from hyperpocket_llamaindex import PocketLlamaindex
154
144
 
155
145
  llm = OpenAI(api_key=secret["OPENAI_API_KEY"])
156
146
  pocket = PocketLlamaindex(
@@ -197,12 +187,8 @@ Assistance: Here are the recent 10 messages.
197
187
 
198
188
  ### Config
199
189
 
200
- Running `pocket config init` will create your config file in `$HOME/.pocket/settings.toml`
201
-
202
190
  The `settings.toml` looks as follows.
203
191
 
204
- TODO: Add `secrets.toml`.
205
-
206
192
  ```toml
207
193
  log_level = "debug"
208
194
  internal_server_port = "8000" # optional, default is 8000
@@ -243,11 +229,11 @@ client_secret = "" # your github client secret
243
229
 
244
230
  - While creating your github OAuth app, configuring your app's `Authorization callback URL` is different for your
245
231
  development environment and production environment.
246
- - For development environment, you can use `http://localhost:8000/auth/github/callback`
247
- - **Note**: Default port for pocket dev server is `8000`. If you are using a different port, make sure to
248
- replace `8000` with your actual port number.
249
- - For production environment, you can use `https://yourdomain.com/auth/github/callback`
250
- - **Note**: Make sure to replace `yourdomain.com` with your actual domain name that this app will be hosted on.
232
+ - For development environment, you can use `http://localhost:8000/auth/github/callback`
233
+ - **Note**: Default port for hyperpocket dev server is `8000`. If you are using a different port, make sure to
234
+ replace `8000` with your actual port number.
235
+ - For production environment, you can use `https://yourdomain.com/auth/github/callback`
236
+ - **Note**: Make sure to replace `yourdomain.com` with your actual domain name that this app will be hosted on.
251
237
 
252
238
  #### How to integrate SLACK OAuth app
253
239
 
@@ -258,15 +244,53 @@ client_secret = "" # your github client secret
258
244
  - Redirect URLs :
259
245
  `{public_server_protocol}://{public_hostname}:[{public_server_port}]/{callback_url_rewrite_prefix}/auth/slack/oauth2/callback`
260
246
  - Scopes : What you want to request to user.
261
- - Recommended scopes :
262
- - channels:history,
263
- - channels:read,
264
- - chat:write,
265
- - groups:history,
266
- - groups:read,
267
- - im:history,
268
- - mpim:history,
269
- - reactions:read,
270
- - reactions:write,
271
-
272
- 3. Set your Slack APP Client ID / Client Secret in `$HOME/.pocket/settings.toml`
247
+ - Recommended scopes :
248
+ - channels:history,
249
+ - channels:read,
250
+ - chat:write,
251
+ - groups:history,
252
+ - groups:read,
253
+ - im:history,
254
+ - mpim:history,
255
+ - reactions:read,
256
+ - reactions:write,
257
+
258
+ 3. Set your Slack APP Client ID / Client Secret in `$HOME/.pocket/settings.toml`
259
+
260
+ #### How to start adding a new token auth
261
+
262
+ 1. Generate boilerplate codes for token-based auth services ?
263
+
264
+ ```
265
+ # service_name should be lowercase including underscore
266
+ poetry run hyperpocket devtool create-token-auth-template {service_name}
267
+ ```
268
+
269
+ It will generate boilerplate code lines for a new token-based auth service
270
+
271
+ 2. Extend AuthProvider enum to add your new auth provider.
272
+
273
+ ```python
274
+ class AuthProvider(Enum):
275
+ SERVICE = 'service'
276
+ ```
277
+
278
+ 3. Specify auth provider for tools
279
+
280
+ 1) github repo or local
281
+
282
+ ```toml
283
+ [auth]
284
+ auth_provider = "{service_name}"
285
+ auth_handler = "{service_name}-token"
286
+ scopes = []
287
+ ```
288
+
289
+ 2. function_tool
290
+
291
+ ```python
292
+ @function_tool(
293
+ auth_provider=AuthProvider.SERVICE
294
+ )
295
+ def my_function(**kwargs):
296
+ ```