roksta 0.3.3__cp313-cp313-macosx_10_13_universal2.whl → 0.3.5__cp313-cp313-macosx_10_13_universal2.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.

Potentially problematic release.


This version of roksta might be problematic. Click here for more details.

Files changed (60) hide show
  1. roksta/ai/llm.cpython-313-darwin.so +0 -0
  2. roksta/ai/tools/__init__.cpython-313-darwin.so +0 -0
  3. roksta/ai/tools/tool_defs.cpython-313-darwin.so +0 -0
  4. roksta/ai/tools/web_fetch.cpython-313-darwin.so +0 -0
  5. roksta/analytics.cpython-313-darwin.so +0 -0
  6. roksta/build_project.cpython-313-darwin.so +0 -0
  7. roksta/clarify_goal.cpython-313-darwin.so +0 -0
  8. roksta/command_handlers/handle_dev_rate_command.cpython-313-darwin.so +0 -0
  9. roksta/env.cpython-313-darwin.so +0 -0
  10. roksta/firebase_auth_web.cpython-313-darwin.so +0 -0
  11. roksta/fix_tests.cpython-313-darwin.so +0 -0
  12. roksta/goal_workflow.cpython-313-darwin.so +0 -0
  13. roksta/new_features.cpython-313-darwin.so +0 -0
  14. roksta/propose_solution.cpython-313-darwin.so +0 -0
  15. roksta/select_files.cpython-313-darwin.so +0 -0
  16. roksta/utils.cpython-313-darwin.so +0 -0
  17. roksta/write_code.cpython-313-darwin.so +0 -0
  18. {roksta-0.3.3.dist-info → roksta-0.3.5.dist-info}/METADATA +2 -1
  19. {roksta-0.3.3.dist-info → roksta-0.3.5.dist-info}/RECORD +22 -59
  20. {roksta-0.3.3.dist-info → roksta-0.3.5.dist-info}/top_level.txt +0 -1
  21. tests/__init__.py +0 -2
  22. tests/conftest.py +0 -211
  23. tests/functions/__init__.py +0 -2
  24. tests/functions/api_v1_00/__init__.py +0 -2
  25. tests/functions/api_v1_00/test__analytics.py +0 -416
  26. tests/functions/api_v1_00/test__gemini_proxy.py +0 -352
  27. tests/functions/api_v1_00/test__generic_proxy.py +0 -428
  28. tests/functions/api_v1_00/test__get_payment_details.py +0 -356
  29. tests/functions/api_v1_00/test__openai_proxy.py +0 -449
  30. tests/functions/api_v1_00/test__redeem_credit_code.py +0 -167
  31. tests/functions/api_v1_00/test__sync_emails.py +0 -325
  32. tests/functions/api_v1_00/test__take_payment.py +0 -491
  33. tests/functions/api_v1_00/test__use_activation_code.py +0 -438
  34. tests/functions/api_v1_01/__init__.py +0 -2
  35. tests/functions/api_v1_01/test__analytics.py +0 -416
  36. tests/functions/api_v1_01/test__gemini_proxy.py +0 -352
  37. tests/functions/api_v1_01/test__generic_proxy.py +0 -428
  38. tests/functions/api_v1_01/test__get_payment_details.py +0 -356
  39. tests/functions/api_v1_01/test__openai_proxy.py +0 -449
  40. tests/functions/api_v1_01/test__redeem_credit_code.py +0 -167
  41. tests/functions/api_v1_01/test__sync_emails.py +0 -325
  42. tests/functions/api_v1_01/test__take_payment.py +0 -491
  43. tests/functions/api_v1_01/test__use_activation_code.py +0 -438
  44. tests/functions/api_v1_02/__init__.py +0 -2
  45. tests/functions/api_v1_02/test__analytics.py +0 -416
  46. tests/functions/api_v1_02/test__gemini_proxy.py +0 -352
  47. tests/functions/api_v1_02/test__generic_proxy.py +0 -428
  48. tests/functions/api_v1_02/test__get_payment_details.py +0 -356
  49. tests/functions/api_v1_02/test__openai_proxy.py +0 -449
  50. tests/functions/api_v1_02/test__redeem_credit_code.py +0 -167
  51. tests/functions/api_v1_02/test__sync_emails.py +0 -325
  52. tests/functions/api_v1_02/test__take_payment.py +0 -491
  53. tests/functions/api_v1_02/test__use_activation_code.py +0 -438
  54. tests/functions/api_v1_02/test_proxy_keyword_replacement.py +0 -557
  55. tests/functions/api_v1_02/test_replace_keywords.py +0 -74
  56. tests/functions/test_auth.py +0 -24
  57. tests/functions/test_main.py +0 -73
  58. tests/functions/test_utils.py +0 -484
  59. {roksta-0.3.3.dist-info → roksta-0.3.5.dist-info}/WHEEL +0 -0
  60. {roksta-0.3.3.dist-info → roksta-0.3.5.dist-info}/entry_points.txt +0 -0
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: roksta
3
- Version: 0.3.3
3
+ Version: 0.3.5
4
4
  Summary: An AI coding assistant
5
5
  Author-email: Prash Naidu <prash@roksta.ai>
6
6
  Project-URL: Homepage, https://roksta.ai
@@ -22,6 +22,7 @@ Requires-Dist: jsonref>=1.1.0
22
22
  Requires-Dist: pathspec>=0.12.1
23
23
  Requires-Dist: psutil>=7.1.0
24
24
  Requires-Dist: PyNaCl>=1.6.0
25
+ Requires-Dist: markdownify>=1.2.0
25
26
  Provides-Extra: tests
26
27
  Requires-Dist: pytest>=8.4.1; extra == "tests"
27
28
  Requires-Dist: pytest-asyncio>=1.0.0; extra == "tests"
@@ -1,16 +1,21 @@
1
- roksta/analytics.cpython-313-darwin.so,sha256=iJvu-a1EGDlio1bxufPn9tk7QzQlv_oCIY7P7VKdq6I,273168
1
+ roksta-0.3.5.dist-info/RECORD,,
2
+ roksta-0.3.5.dist-info/WHEEL,sha256=YOKbiIEZep2WTRrpKV0dvEfsSeIOVH2NqduVxoKQt6I,142
3
+ roksta-0.3.5.dist-info/entry_points.txt,sha256=mzRdYg_DlzZRwjxYUt9-gyoRCkM1QBTeTbwETgiTdGw,44
4
+ roksta-0.3.5.dist-info/top_level.txt,sha256=Worlz0mMqoxRSgPmoN1j_P-sJgIrmzD0uJ08qJwpWpQ,7
5
+ roksta-0.3.5.dist-info/METADATA,sha256=fUkW_cyFhjvaOIHJRFPDVZA3n_kIprlA4jpPUZblviY,1541
6
+ roksta/analytics.cpython-313-darwin.so,sha256=oOYhgxgZxhXr40wXD14HCXO5K8CyQfccIyHRCg1N5KU,306960
2
7
  roksta/check_for_updates.cpython-313-darwin.so,sha256=tu2uIxttYWvYTzwBMeVUwzszInPKaNIZ3VwBdaVLM4g,306776
3
8
  roksta/response_formats.cpython-313-darwin.so,sha256=9MmD_FwyFDeKd8-Zr8xjmc68_lqPX1FZZcygbJQdu1M,120968
4
- roksta/utils.cpython-313-darwin.so,sha256=58EiaRCISiPiGmiY6NyYKFc3k4nMfLEbkAergimgCFg,622120
9
+ roksta/utils.cpython-313-darwin.so,sha256=0kRY67O4JEpcwBaIaXW-mDKlcQ42k8Q6ReY13CLVsUU,654952
5
10
  roksta/main.cpython-313-darwin.so,sha256=cjptIiwKpKWp3BBKu8UufdbtdzAwFHLLRILhaIj8sYk,122184
6
- roksta/env.cpython-313-darwin.so,sha256=EpQudtVj2qTfT9p28oEdPrQJkXz8mpq5_9qrcyyd3oE,87832
11
+ roksta/env.cpython-313-darwin.so,sha256=UXkk2j66q9iiap2OPwwMBClpiiV-EDRBoOyeZIXE8k0,87832
7
12
  roksta/get_failing_tests.cpython-313-darwin.so,sha256=tLzNpROqCTf-X8_B2Avv_dDSfU-_7D064lxoJ29GN3Q,224296
8
- roksta/fix_tests.cpython-313-darwin.so,sha256=Lavvd4GE5op0LfLSpo_eFnRu6N-fmRDGAy435vRKHLU,240704
9
- roksta/firebase_auth_web.cpython-313-darwin.so,sha256=-4dCty3jJdaHvJ8N6HgcuQvuLAsHMxV3c1I-ILASF_U,472664
10
- roksta/build_project.cpython-313-darwin.so,sha256=yOFozWXQoqi9yZ_AhrOWH1hO8i1G_ETEbsPNAVl_Vwo,191184
13
+ roksta/fix_tests.cpython-313-darwin.so,sha256=I7xJXXenTV0PAtCOJoxvJU9-BXwi8p154NINt9__o9o,240704
14
+ roksta/firebase_auth_web.cpython-313-darwin.so,sha256=rFZmx4QaL7qTvdllkUeK9LNewaLkQ45b5pzlOaOHKek,472664
15
+ roksta/build_project.cpython-313-darwin.so,sha256=aI4s71RyS7DWi6d7Kam-kr0tGtJfT9ZFx0Z9DEAnlLs,191184
11
16
  roksta/rewrite_goal.cpython-313-darwin.so,sha256=syFaNtvZI0UAUsfsTBG6seUCP6FBUKM5vDhYfvi9pcY,191088
12
17
  roksta/run_cli_goal.cpython-313-darwin.so,sha256=LnBKx9tOvohdAsLqlprdzk0FOx9aI8anNBKoFDXAtdE,223968
13
- roksta/clarify_goal.cpython-313-darwin.so,sha256=AScEYlbcfPrhb0CagYZK3QEeToZx0BexKuQXDm3iFf4,207808
18
+ roksta/clarify_goal.cpython-313-darwin.so,sha256=3eOofyZmRthB0NYe3bInoez8FXkjehx5cYBCw1eMuWs,207808
14
19
  roksta/roksta.cpython-313-darwin.so,sha256=xwsKlZucHlzxGZs_Pl-g97zzU8tc8OUSEsVIEc3EYcQ,588144
15
20
  roksta/default_config.cpython-313-darwin.so,sha256=Jsb5rdQQoF8q_2KmsziuapT4sVI4wmqzlNyjPPot5mo,102248
16
21
  roksta/__init__.cpython-313-darwin.so,sha256=9NPz72fxGkIQXx2OtFYdnleayh6ielrbliTgVxswNCc,85648
@@ -18,7 +23,7 @@ roksta/codebase_listing.cpython-313-darwin.so,sha256=MrLu0cfolSbjQKv6Y9HZP8SRMzV
18
23
  roksta/make_issue.cpython-313-darwin.so,sha256=jSpQV7i3Be0gVIlbrwlMQg3YrnOH-5hxqTEsj2hVsk8,221856
19
24
  roksta/create_default_config.cpython-313-darwin.so,sha256=NNj-BBNwPJpJ4txAZ66neLk70kvVy_kolx4s2bHrZ1I,121592
20
25
  roksta/gen_codebase_summaries.cpython-313-darwin.so,sha256=9QCW0HIc2n12yH7hdZ1JC1Qpr86RzordOxQjdm4hJLQ,637920
21
- roksta/propose_solution.cpython-313-darwin.so,sha256=Rpa9LloXGoYxD_Jv6lWmnj2431jcTqCmqQNjWPcI1hQ,191112
26
+ roksta/propose_solution.cpython-313-darwin.so,sha256=b8RSADDyPQiXLeSih-I4FUbFsMZinDcRftAWTMKOKPk,207496
22
27
  roksta/balance.cpython-313-darwin.so,sha256=2KcRqDhi1VoAesGl2WDx2pOLoM4zLB_wNqzw_vOgfTE,389744
23
28
  roksta/save_chat_transcript.cpython-313-darwin.so,sha256=0IBsER76NUZAz8ykL1pvEL6uwjURJmqO9UQEejVUMn0,207720
24
29
  roksta/logger.cpython-313-darwin.so,sha256=7K7WEyU-rbA1u4aFYrDeNhkwCpzew2R1XR66BXSUeKM,122048
@@ -28,16 +33,16 @@ roksta/checkpoints.cpython-313-darwin.so,sha256=kyBklHRV54PUjhwdeKD0xBPXVb2AQTp-
28
33
  roksta/get_codebase_structure.cpython-313-darwin.so,sha256=SCMaKJp2Mf_GkOp-TW-Rc7pFnYovHdZz44B3CG7-IDk,206240
29
34
  roksta/init_codebase.cpython-313-darwin.so,sha256=cdljg5KCI7o8lfrNDJRm9v_9KzOiv0YCHr9moapLmdo,341632
30
35
  roksta/gen_one_line_goal.cpython-313-darwin.so,sha256=DbLF5gMJ5QZxfpn4qMDKf4gtFmmKrhw5w5heE9fw5pw,207768
31
- roksta/new_features.cpython-313-darwin.so,sha256=4Lfy-pb7Wb8LpdmqItMRNmlfW_b9EfT66r4nBaQMByk,85728
36
+ roksta/new_features.cpython-313-darwin.so,sha256=ic2QHvwPKku8MM5fPcsF-UssWjWiBZJDOVWsaJ_zOs8,85728
32
37
  roksta/firebase_config.cpython-313-darwin.so,sha256=mvrDiJcrsSU4E5c4SQakAnPT0gXvYEzex8H1IdCobdI,86328
33
38
  roksta/chat_workflow.cpython-313-darwin.so,sha256=zDLFcXeY9X72lLoDBS7wiZXEIcMpZz24XpZeAm6PPyk,273792
34
- roksta/select_files.cpython-313-darwin.so,sha256=ijsmto4G3r6esiehvtf0MEfPqBd7xOett9m19homJDQ,207792
39
+ roksta/select_files.cpython-313-darwin.so,sha256=DxYtWAUNckieOkf-SC4djgdBE-MyxjBaoYpCmlbFimE,207728
35
40
  roksta/tips.cpython-313-darwin.so,sha256=ijxCPHDr1XD9WBiolCiiHh9kneW9zf30XJ0EtbjmBrw,85688
36
- roksta/write_code.cpython-313-darwin.so,sha256=ZhEyStg-RLpW0hQQyoNs31S_MKYdanIunT_aBktp5OE,191152
41
+ roksta/write_code.cpython-313-darwin.so,sha256=T0j01mQ9yju47PgLr3DCkwwGJ58bu9v1HKeUKsQXqJg,191072
37
42
  roksta/enums.cpython-313-darwin.so,sha256=M2tDKuoPQVIa0ZhAbtphhFvAcTPbNOk2PVT-uGxnJSc,338344
38
43
  roksta/parse_readme.cpython-313-darwin.so,sha256=MjcG8euvVPS3m4UsEdUm9f_lFLRdwIREsJlsspD_qtg,207280
39
44
  roksta/firebase.cpython-313-darwin.so,sha256=n6qarllo6lw17BnvkKhssZrfKNqCuNBP_tayH12sono,488192
40
- roksta/goal_workflow.cpython-313-darwin.so,sha256=0nn-G0Po2ZeYRabEFThHh-Qq7BGGyGcGtuSVHcSfvrE,521904
45
+ roksta/goal_workflow.cpython-313-darwin.so,sha256=ULzqfUd_C9tRYM3b5GWtI-gp9_mgrT98ldOKDmUbc34,538304
41
46
  roksta/command_handlers/handle_help_command.cpython-313-darwin.so,sha256=nWNz8RJ-Afi4QvGtCAbLP4zEDVPPSDc6gjHsxLNsK8I,220312
42
47
  roksta/command_handlers/handle_auto_commit_command.cpython-313-darwin.so,sha256=WBMHsCSe-o1BjodjN1Y4tIuNqS68isqnUZbrFAzNixk,122544
43
48
  roksta/command_handlers/handle_add_funds_command.cpython-313-darwin.so,sha256=SCGsAJwSyvDwi8Ii4Bx0ZotVicfuKpbi8F6jruDa8eg,224640
@@ -55,7 +60,7 @@ roksta/command_handlers/handle_feedback_command.cpython-313-darwin.so,sha256=JAG
55
60
  roksta/command_handlers/handle_testing_command.cpython-313-darwin.so,sha256=FbK_9roSgELPHQ9R2d3qmLSK-MSPVZc28KebWQoX6q8,155968
56
61
  roksta/command_handlers/handle_chat_command.cpython-313-darwin.so,sha256=f33z3gSmgcaxqGsZSo6gSpt6IlzIutDRK_h0DzQhlpU,156952
57
62
  roksta/command_handlers/handle_init_command.cpython-313-darwin.so,sha256=MisY9vwcwzVKZKyvZ1X3pWOcPs0vVgpFFDGhG4IfTFo,157352
58
- roksta/command_handlers/handle_dev_rate_command.cpython-313-darwin.so,sha256=NaN-Ky9GUFuV0ql5djV_wyCxgVc4SWc74YzLt7n4e4Q,123040
63
+ roksta/command_handlers/handle_dev_rate_command.cpython-313-darwin.so,sha256=rDO9FLrhMOoG9M2emkqXLhzbXGMtcrvghco9Y4TIIww,156016
59
64
  roksta/command_handlers/handle_activate_command.cpython-313-darwin.so,sha256=HmjUz5b-hWhqUAVXwbCuZ0lsPM0bRKFEgwR7dI3__FY,240608
60
65
  roksta/command_handlers/handle_login_command.cpython-313-darwin.so,sha256=fQC0y6BmLa6weSD4EqA7Cl8brX31BWVKx83ilrXTRLM,207400
61
66
  roksta/command_handlers/handle_linting_command.cpython-313-darwin.so,sha256=8dgM_OcWqPlf80qqrMztuiGEEHtK0eSmOc4RqHFpIlg,155984
@@ -63,7 +68,7 @@ roksta/ai/generic.cpython-313-darwin.so,sha256=Vw4N9h4C5CqT6uwZkfrJyoIs66g60i0b5
63
68
  roksta/ai/__init__.cpython-313-darwin.so,sha256=gnpXADu43zbYSsPXDFkSMAm1_tnAAFb9g3UClsQVlSQ,85648
64
69
  roksta/ai/openai.cpython-313-darwin.so,sha256=yLV9Aucq8L61dQJSb3OrxA2ISC8IFVdRevqNlDs03M0,306928
65
70
  roksta/ai/call_ai.cpython-313-darwin.so,sha256=xUKO52evFDPuPv5FA6cMbbEGGQxZEv_-BHe_NrNOalQ,240784
66
- roksta/ai/llm.cpython-313-darwin.so,sha256=2AiWNRRPxx-lA8iv9EsD-Kp4JKENe6LL5dYXIjL8hJc,271496
71
+ roksta/ai/llm.cpython-313-darwin.so,sha256=IBYE8oPpin5csLG9Hbk2M5mOQmKMM7mUon8rhGHcCEE,271496
67
72
  roksta/ai/gemini.cpython-313-darwin.so,sha256=-A_T95AetJtce75AypG40tmKZhrUHUYaiwbC08zFhvE,422624
68
73
  roksta/ai/tools/regex_replace.cpython-313-darwin.so,sha256=75W-hvwuB6mV28ohv8tTwq8EMKHtDaZkhfeA-myRpp8,155488
69
74
  roksta/ai/tools/shell_any.cpython-313-darwin.so,sha256=vQGvGwQoD2DEadl-yzf3I1TSXJiVc-scUg5FyCnI-lw,224208
@@ -71,52 +76,10 @@ roksta/ai/tools/shell_limited.cpython-313-darwin.so,sha256=1oGGlNfoDwwmu1DWXyl_m
71
76
  roksta/ai/tools/delete_file.cpython-313-darwin.so,sha256=butb27KIEtomeyuNvSZotGIg2n7pcE2HxvK9hNvdrIM,121984
72
77
  roksta/ai/tools/read_file.cpython-313-darwin.so,sha256=68vDWq8UZUUGm48SwpNC5Wyj9SNZ1Xk6wedUTbWskvs,155824
73
78
  roksta/ai/tools/write_file.cpython-313-darwin.so,sha256=1FaLSklpHh-q68qrzQZkwxREpPuPfQWXR7PhniVT6n0,122064
74
- roksta/ai/tools/__init__.cpython-313-darwin.so,sha256=0xSnQMeKPuKzYVqbt65-NVjzMBSmPqO3FaY-9wnfX9c,87040
79
+ roksta/ai/tools/__init__.cpython-313-darwin.so,sha256=wjv8b7p6ZY_mQ0p2A6EGwrbuWcTQ3Nb__z_KtZ_33Po,87040
75
80
  roksta/ai/tools/tool_utils.cpython-313-darwin.so,sha256=YB99fgIwFYCSzHhiUiszPZ4KfB1dqoRs5l5PQ4UbP5o,307712
76
- roksta/ai/tools/tool_defs.cpython-313-darwin.so,sha256=wwvfhouInK22jmJCdSsBCtnvqp6abDd_w12eGu2qguc,137424
81
+ roksta/ai/tools/tool_defs.cpython-313-darwin.so,sha256=8fz02r_eRCjm6NB6hCYoCPHAI8-FAr1RgMArInRf0X0,137424
77
82
  roksta/ai/tools/final_response.cpython-313-darwin.so,sha256=I2eNTsSgSl8OG8rh2M_g8NZt91UWE4UC0GVrqfBigGQ,87768
78
83
  roksta/ai/tools/edit_file.cpython-313-darwin.so,sha256=G2bTyQ6-gH59ReoENrtIXA0yuRt_kGyYyM92wDgo86U,155168
79
84
  roksta/ai/tools/get_file_summaries.cpython-313-darwin.so,sha256=b3pMOlj6c-WuZygSs-u7-z-6QfswqZhsWCbzFD9vk2g,122728
80
- tests/conftest.py,sha256=Y2cx3Jups9GkKGxOG2fSSoIr3rgfUa9QzipMoQ-ehKU,7878
81
- tests/__init__.py,sha256=J6ztnXNqM8TSQCgHXMWb6NRq1kN_h4ql63Jq-TYR8XE,124
82
- tests/functions/test_utils.py,sha256=_zlgSa99JYVyJ0LDe3yaPztS92kqGRKkgjon__XmfFM,16721
83
- tests/functions/test_auth.py,sha256=I3oFTw2LTuUsnQ75v5SCfgUPnpel_pDKqUH0VAJpXQw,992
84
- tests/functions/__init__.py,sha256=mLXx3UARcv07vs_fGJuy3L5ZRn9IRsF9zIuL5IOnwdk,95
85
- tests/functions/test_main.py,sha256=h0W_4ISo95WzRy2HpXZw3cuNOTcYk_2QCIZffZJEfEU,2575
86
- tests/functions/api_v1_02/test__sync_emails.py,sha256=OTyf2YbBK7e4pWIQTUGYR4x6il1Hb3g4FYqQ_fRj1nA,12699
87
- tests/functions/api_v1_02/test__take_payment.py,sha256=I-XJasGuLW5wTMAu4nAgFkA8Mo_zVpGPvkJ2LrrJGCk,18022
88
- tests/functions/api_v1_02/test_replace_keywords.py,sha256=pa7bZ8I9XgtI5dUZq-efcHh9amN2_XHP8abXYqtDGc0,2683
89
- tests/functions/api_v1_02/test__gemini_proxy.py,sha256=mf8ubRmNxxxN80H6EA-iDPwu6Oue6Rmgxl6tiFNpfrU,13344
90
- tests/functions/api_v1_02/test_proxy_keyword_replacement.py,sha256=I5H73_QydSKLiDp7hDHGHbSkDOdv-BT4gYHGqEiVtM0,23632
91
- tests/functions/api_v1_02/test__analytics.py,sha256=oKjd7_zjnttcb-5BuA93yllkm0OOF4YWnfTUW1-icnM,15806
92
- tests/functions/api_v1_02/__init__.py,sha256=3RCSoj_5UQPw9Z5NeAgYz2s4gfcZIi7g36qk_Ed5TiA,124
93
- tests/functions/api_v1_02/test__use_activation_code.py,sha256=tNyTkkRtrpjei-7F31UNwrcU-PbP-QnkWNU7h2n5Yqo,16960
94
- tests/functions/api_v1_02/test__redeem_credit_code.py,sha256=7GD3tGgO2Lk0BCjUmzZACJiwocEhLBvXrrut0x13IWU,6347
95
- tests/functions/api_v1_02/test__openai_proxy.py,sha256=xlO2zmG64LlrKrbjFz-ds6Map7vy4SjIuHfZJDAqGK8,17726
96
- tests/functions/api_v1_02/test__get_payment_details.py,sha256=i5Px3NkLxqw8D3tVPrYdRJJF5jlNmysSuX_NNolbIa4,13735
97
- tests/functions/api_v1_02/test__generic_proxy.py,sha256=KZkOtmc71aOnWlz2L7B6CFhRNEV73bExG3GR14oD2L0,17673
98
- tests/functions/api_v1_01/test__sync_emails.py,sha256=OTyf2YbBK7e4pWIQTUGYR4x6il1Hb3g4FYqQ_fRj1nA,12699
99
- tests/functions/api_v1_01/test__take_payment.py,sha256=I-XJasGuLW5wTMAu4nAgFkA8Mo_zVpGPvkJ2LrrJGCk,18022
100
- tests/functions/api_v1_01/test__gemini_proxy.py,sha256=mf8ubRmNxxxN80H6EA-iDPwu6Oue6Rmgxl6tiFNpfrU,13344
101
- tests/functions/api_v1_01/test__analytics.py,sha256=oKjd7_zjnttcb-5BuA93yllkm0OOF4YWnfTUW1-icnM,15806
102
- tests/functions/api_v1_01/__init__.py,sha256=3RCSoj_5UQPw9Z5NeAgYz2s4gfcZIi7g36qk_Ed5TiA,124
103
- tests/functions/api_v1_01/test__use_activation_code.py,sha256=tNyTkkRtrpjei-7F31UNwrcU-PbP-QnkWNU7h2n5Yqo,16960
104
- tests/functions/api_v1_01/test__redeem_credit_code.py,sha256=7GD3tGgO2Lk0BCjUmzZACJiwocEhLBvXrrut0x13IWU,6347
105
- tests/functions/api_v1_01/test__openai_proxy.py,sha256=xlO2zmG64LlrKrbjFz-ds6Map7vy4SjIuHfZJDAqGK8,17726
106
- tests/functions/api_v1_01/test__get_payment_details.py,sha256=i5Px3NkLxqw8D3tVPrYdRJJF5jlNmysSuX_NNolbIa4,13735
107
- tests/functions/api_v1_01/test__generic_proxy.py,sha256=KZkOtmc71aOnWlz2L7B6CFhRNEV73bExG3GR14oD2L0,17673
108
- tests/functions/api_v1_00/test__sync_emails.py,sha256=OTyf2YbBK7e4pWIQTUGYR4x6il1Hb3g4FYqQ_fRj1nA,12699
109
- tests/functions/api_v1_00/test__take_payment.py,sha256=I-XJasGuLW5wTMAu4nAgFkA8Mo_zVpGPvkJ2LrrJGCk,18022
110
- tests/functions/api_v1_00/test__gemini_proxy.py,sha256=mf8ubRmNxxxN80H6EA-iDPwu6Oue6Rmgxl6tiFNpfrU,13344
111
- tests/functions/api_v1_00/test__analytics.py,sha256=oKjd7_zjnttcb-5BuA93yllkm0OOF4YWnfTUW1-icnM,15806
112
- tests/functions/api_v1_00/__init__.py,sha256=3RCSoj_5UQPw9Z5NeAgYz2s4gfcZIi7g36qk_Ed5TiA,124
113
- tests/functions/api_v1_00/test__use_activation_code.py,sha256=tNyTkkRtrpjei-7F31UNwrcU-PbP-QnkWNU7h2n5Yqo,16960
114
- tests/functions/api_v1_00/test__redeem_credit_code.py,sha256=7GD3tGgO2Lk0BCjUmzZACJiwocEhLBvXrrut0x13IWU,6347
115
- tests/functions/api_v1_00/test__openai_proxy.py,sha256=xlO2zmG64LlrKrbjFz-ds6Map7vy4SjIuHfZJDAqGK8,17726
116
- tests/functions/api_v1_00/test__get_payment_details.py,sha256=i5Px3NkLxqw8D3tVPrYdRJJF5jlNmysSuX_NNolbIa4,13735
117
- tests/functions/api_v1_00/test__generic_proxy.py,sha256=KZkOtmc71aOnWlz2L7B6CFhRNEV73bExG3GR14oD2L0,17673
118
- roksta-0.3.3.dist-info/RECORD,,
119
- roksta-0.3.3.dist-info/WHEEL,sha256=YOKbiIEZep2WTRrpKV0dvEfsSeIOVH2NqduVxoKQt6I,142
120
- roksta-0.3.3.dist-info/entry_points.txt,sha256=mzRdYg_DlzZRwjxYUt9-gyoRCkM1QBTeTbwETgiTdGw,44
121
- roksta-0.3.3.dist-info/top_level.txt,sha256=lvciNZQ1dPGXpiCLdWVXK03n9fKHjbQdwjqQbnUjeYM,13
122
- roksta-0.3.3.dist-info/METADATA,sha256=3YFeTW_cI5KLOtqNLFDGbETD6WwKTqmjuiHUH1dDsz0,1507
85
+ roksta/ai/tools/web_fetch.cpython-313-darwin.so,sha256=woaIZFG9GZeeEMtvvFu5Mdsu8s9jaDzlZ1Udwjjsf2s,304352
tests/__init__.py DELETED
@@ -1,2 +0,0 @@
1
- # tests package marker
2
- # This file allows pytest to import tests using package-qualified names, avoiding import collisions.
tests/conftest.py DELETED
@@ -1,211 +0,0 @@
1
- import os
2
- import sys
3
- import importlib
4
- import types as _types_mod
5
-
6
- # Ensure local package is imported before any globally installed packages.
7
- sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
8
-
9
- # Ensure functions directory is on sys.path so top-level function helpers (e.g. 'utils')
10
- # can be imported by tests after the functions/ reorganisation.
11
- _functions_root = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', 'functions'))
12
- if _functions_root not in sys.path:
13
- sys.path.insert(0, _functions_root)
14
-
15
- # Ensure functions/api_v0_01 (or a compatible API directory) is on sys.path so tests that import top-level function
16
- # modules (e.g. '_analytics') can still find them after the functions/ reorganisation.
17
- _api_candidates = ['api_v0_01', 'api_v001', 'api_v0_1', 'api_v01']
18
- _functions_api_dir = None
19
- for candidate in _api_candidates:
20
- candidate_path = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', 'functions', candidate))
21
- if os.path.isdir(candidate_path):
22
- _functions_api_dir = candidate_path
23
- break
24
- if _functions_api_dir and _functions_api_dir not in sys.path:
25
- sys.path.insert(0, _functions_api_dir)
26
-
27
- # Provide a minimal google.genai.types stub if the real package is not available.
28
- # This avoids import-time errors in tests that import modules which reference
29
- # google.genai.types at import time. The stub is intentionally lightweight and
30
- # only implements the attributes needed for import and simple spec-based mocks
31
- # used in the test-suite. Individual tests may still override these with more
32
- # detailed fakes when required.
33
-
34
-
35
- def _attach_gtypes_stubs(gtypes_mod):
36
- """
37
- Attach minimal placeholder implementations to the provided module object.
38
- Only attaches attributes that are missing on the module to avoid clobbering
39
- a real installed package.
40
- """
41
- # Minimal placeholder implementations
42
- class GenerateContentConfig:
43
- def __init__(self, **kwargs):
44
- self.__dict__.update(kwargs)
45
- self.kwargs = kwargs
46
- def to_json_dict(self):
47
- return dict(self.kwargs)
48
-
49
- class ThinkingConfig:
50
- def __init__(self, thinking_budget=None):
51
- self.thinking_budget = thinking_budget
52
-
53
- class AutomaticFunctionCallingConfig:
54
- def __init__(self, disable=False):
55
- self.disable = disable
56
-
57
- class GoogleSearch:
58
- def __init__(self):
59
- pass
60
-
61
- class Tool:
62
- def __init__(self, **kwargs):
63
- self.kwargs = kwargs
64
-
65
- class UsageMetadata:
66
- def __init__(self, prompt_token_count=0, total_token_count=0):
67
- self.prompt_token_count = prompt_token_count
68
- self.total_token_count = total_token_count
69
-
70
- class FinishReasonEnum:
71
- def __init__(self, name='FINISH_REASON_UNSPECIFIED'):
72
- self.name = name
73
-
74
- class FinishReason:
75
- FINISH_REASON_UNSPECIFIED = FinishReasonEnum('FINISH_REASON_UNSPECIFIED')
76
-
77
- class Part:
78
- def __init__(self, text=None, function_call=None):
79
- self.text = text
80
- self.function_call = function_call
81
-
82
- @classmethod
83
- def from_function_response(cls, name=None, response=None):
84
- inst = cls()
85
- inst.function_response = _types_mod.SimpleNamespace(name=name, response=response)
86
- return inst
87
-
88
- class Content:
89
- def __init__(self, role=None, parts=None):
90
- self.role = role
91
- self.parts = parts or []
92
-
93
- def model_dump(self, mode='json'):
94
- return {'role': self.role, 'parts': [getattr(p, 'text', p) for p in self.parts]}
95
-
96
- class FunctionCall:
97
- def __init__(self, name=None, args=None):
98
- self.name = name
99
- self.args = args
100
-
101
- class Candidate:
102
- def __init__(self, content=None, finish_reason=None):
103
- self.content = content
104
- self.finish_reason = finish_reason
105
-
106
- class GenerateContentResponse:
107
- def __init__(self, **kwargs):
108
- for k, v in kwargs.items():
109
- setattr(self, k, v)
110
- # sensible defaults
111
- if not hasattr(self, 'text'):
112
- self.text = ''
113
- if not hasattr(self, 'candidates'):
114
- self.candidates = []
115
- if not hasattr(self, 'usage_metadata'):
116
- self.usage_metadata = None
117
-
118
- def to_json_dict(self):
119
- return {k: getattr(self, k) for k in self.__dict__}
120
-
121
- stubs = {
122
- 'GenerateContentConfig': GenerateContentConfig,
123
- 'ThinkingConfig': ThinkingConfig,
124
- 'AutomaticFunctionCallingConfig': AutomaticFunctionCallingConfig,
125
- 'GoogleSearch': GoogleSearch,
126
- 'Tool': Tool,
127
- 'UsageMetadata': UsageMetadata,
128
- 'FinishReason': FinishReason,
129
- 'Part': Part,
130
- 'Content': Content,
131
- 'FunctionCall': FunctionCall,
132
- 'Candidate': Candidate,
133
- 'GenerateContentResponse': GenerateContentResponse,
134
- }
135
-
136
- for name, obj in stubs.items():
137
- if not hasattr(gtypes_mod, name):
138
- setattr(gtypes_mod, name, obj)
139
-
140
-
141
- # Try to import the real google.genai.types module. If it exists, only patch in
142
- # any missing attributes. If it doesn't exist, create minimal stub modules and
143
- # register them on sys.modules so imports like `from google.genai import types`
144
- # work during the tests.
145
- try:
146
- gtypes = importlib.import_module('google.genai.types')
147
- _attach_gtypes_stubs(gtypes)
148
- except Exception:
149
- # Ensure top-level `google` module exists in sys.modules, but do not overwrite
150
- # a real `google` module if it is already installed.
151
- try:
152
- google = importlib.import_module('google')
153
- except Exception:
154
- google = _types_mod.ModuleType('google')
155
- sys.modules['google'] = google
156
-
157
- # Ensure `google.genai` exists; prefer the real module if present.
158
- try:
159
- genai = importlib.import_module('google.genai')
160
- except Exception:
161
- genai = _types_mod.ModuleType('google.genai')
162
- sys.modules['google.genai'] = genai
163
- setattr(google, 'genai', genai)
164
-
165
- # Create and attach the minimal `google.genai.types` stub
166
- gtypes = _types_mod.ModuleType('google.genai.types')
167
- _attach_gtypes_stubs(gtypes)
168
- genai.types = gtypes
169
- sys.modules['google.genai.types'] = gtypes
170
-
171
- # Provide a minimal nacl.public stub if PyNaCl is not installed. This prevents
172
- # import-time failures in tests that import `roksta.firebase` which does
173
- # `from nacl.public import PublicKey, SealedBox`.
174
- try:
175
- import nacl.public # type: ignore
176
- except Exception:
177
- # Create lightweight stub modules to satisfy `from nacl.public import PublicKey, SealedBox`
178
- nacl = _types_mod.ModuleType('nacl')
179
- nacl_public = _types_mod.ModuleType('nacl.public')
180
-
181
- class PublicKey:
182
- def __init__(self, data):
183
- # Accept bytes-like input; ensure it's bytes when possible.
184
- try:
185
- self._data = bytes(data)
186
- except Exception:
187
- self._data = data
188
-
189
- def __repr__(self):
190
- try:
191
- length = len(self._data)
192
- except Exception:
193
- length = 'unknown'
194
- return f"<PublicKey len={length}>"
195
-
196
- class SealedBox:
197
- def __init__(self, public_key):
198
- self.public_key = public_key
199
-
200
- def encrypt(self, plaintext: bytes) -> bytes:
201
- # Return deterministic bytes so callers can base64-encode the result.
202
- if not isinstance(plaintext, (bytes, bytearray)):
203
- plaintext = str(plaintext).encode('utf-8')
204
- return b"STUB_ENCRYPTED:" + bytes(plaintext)
205
-
206
- nacl_public.PublicKey = PublicKey
207
- nacl_public.SealedBox = SealedBox
208
- # Attach the submodule on the parent module object for attribute access
209
- nacl.public = nacl_public
210
- sys.modules['nacl'] = nacl
211
- sys.modules['nacl.public'] = nacl_public
@@ -1,2 +0,0 @@
1
- # tests.functions package marker
2
- # Ensures subtests are imported as package-qualified modules.
@@ -1,2 +0,0 @@
1
- # tests.functions.api_v1_00 package marker
2
- # Allows tests under this directory to be imported with package-qualified names.