botrun-flow-lang 5.12.262__tar.gz → 5.12.264__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 (151) hide show
  1. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/.env_template +91 -91
  2. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/.gcloudignore +24 -24
  3. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/.gitignore +178 -178
  4. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/.vscode/launch.json +218 -218
  5. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/CHANGELOG.md +1400 -1389
  6. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/CLAUDE.md +139 -139
  7. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/Dockerfile.template +47 -47
  8. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/PKG-INFO +1 -1
  9. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/README.md +122 -122
  10. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/api/auth_api.py +39 -39
  11. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/api/auth_utils.py +183 -183
  12. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/api/botrun_back_api.py +65 -65
  13. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/api/flow_api.py +3 -3
  14. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/api/hatch_api.py +508 -508
  15. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/api/langgraph_api.py +811 -811
  16. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/api/line_bot_api.py +1484 -1484
  17. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/api/model_api.py +300 -300
  18. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/api/rate_limit_api.py +32 -32
  19. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/api/routes.py +79 -79
  20. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/api/search_api.py +53 -53
  21. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/api/storage_api.py +395 -395
  22. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/api/subsidy_api.py +290 -290
  23. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/api/subsidy_api_system_prompt.txt +109 -109
  24. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/api/user_setting_api.py +70 -70
  25. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/api/version_api.py +31 -31
  26. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/api/youtube_api.py +26 -26
  27. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/constants.py +13 -13
  28. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/langgraph_agents/agents/agent_runner.py +178 -178
  29. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/langgraph_agents/agents/agent_tools/step_planner.py +77 -77
  30. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/langgraph_agents/agents/checkpointer/firestore_checkpointer.py +666 -666
  31. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/langgraph_agents/agents/gov_researcher/GOV_RESEARCHER_PRD.md +192 -192
  32. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/langgraph_agents/agents/gov_researcher/gemini_subsidy_graph.py +460 -460
  33. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/langgraph_agents/agents/gov_researcher/gov_researcher_2_graph.py +1002 -1002
  34. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/langgraph_agents/agents/gov_researcher/gov_researcher_graph.py +822 -822
  35. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/langgraph_agents/agents/langgraph_react_agent.py +723 -723
  36. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/langgraph_agents/agents/search_agent_graph.py +864 -864
  37. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/langgraph_agents/agents/tools/__init__.py +4 -4
  38. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/langgraph_agents/agents/tools/gemini_code_execution.py +376 -376
  39. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/langgraph_agents/agents/util/gemini_grounding.py +66 -66
  40. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/langgraph_agents/agents/util/html_util.py +316 -316
  41. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/langgraph_agents/agents/util/img_util.py +294 -294
  42. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/langgraph_agents/agents/util/local_files.py +419 -419
  43. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/langgraph_agents/agents/util/mermaid_util.py +86 -86
  44. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/langgraph_agents/agents/util/model_utils.py +143 -143
  45. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/langgraph_agents/agents/util/pdf_analyzer.py +486 -486
  46. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/langgraph_agents/agents/util/pdf_cache.py +250 -250
  47. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/langgraph_agents/agents/util/pdf_processor.py +204 -204
  48. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/langgraph_agents/agents/util/perplexity_search.py +464 -464
  49. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/langgraph_agents/agents/util/plotly_util.py +59 -59
  50. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/langgraph_agents/agents/util/tavily_search.py +199 -199
  51. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/langgraph_agents/agents/util/youtube_util.py +90 -90
  52. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/langgraph_agents/cache/langgraph_botrun_cache.py +197 -197
  53. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/llm_agent/llm_agent.py +19 -19
  54. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/llm_agent/llm_agent_util.py +83 -83
  55. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/log/.gitignore +2 -2
  56. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/main.py +61 -61
  57. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/main_fast.py +51 -51
  58. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/mcp_server/__init__.py +10 -10
  59. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/mcp_server/default_mcp.py +744 -744
  60. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/models/nodes/utils.py +205 -205
  61. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/models/token_usage.py +34 -34
  62. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/requirements.txt +21 -21
  63. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/services/base/firestore_base.py +30 -30
  64. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/services/hatch/hatch_factory.py +11 -11
  65. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/services/hatch/hatch_fs_store.py +419 -387
  66. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/services/storage/storage_cs_store.py +206 -206
  67. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/services/storage/storage_factory.py +12 -12
  68. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/services/storage/storage_store.py +65 -65
  69. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/services/user_setting/user_setting_factory.py +9 -9
  70. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/services/user_setting/user_setting_fs_store.py +66 -66
  71. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/static/docs/tools/index.html +926 -926
  72. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/tests/api_functional_tests.py +1525 -1525
  73. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/tests/api_stress_test.py +357 -357
  74. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/tests/shared_hatch_tests.py +333 -333
  75. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/tests/test_botrun_app.py +46 -46
  76. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/tests/test_html_util.py +31 -31
  77. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/tests/test_img_analyzer.py +190 -190
  78. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/tests/test_img_util.py +39 -39
  79. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/tests/test_local_files.py +114 -114
  80. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/tests/test_mermaid_util.py +103 -103
  81. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/tests/test_pdf_analyzer.py +104 -104
  82. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/tests/test_plotly_util.py +151 -151
  83. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/tests/test_run_workflow_engine.py +65 -65
  84. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/tools/generate_docs.py +133 -133
  85. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/tools/templates/tools.html +153 -153
  86. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/utils/__init__.py +7 -7
  87. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/utils/botrun_logger.py +344 -344
  88. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/utils/clients/rate_limit_client.py +209 -209
  89. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/utils/clients/token_verify_client.py +153 -153
  90. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/utils/google_drive_utils.py +654 -654
  91. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/utils/langchain_utils.py +324 -324
  92. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/utils/yaml_utils.py +9 -9
  93. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/cloudbuild_template.yaml +6 -6
  94. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/convert_newlines.sh +24 -24
  95. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/langgraph.json +13 -13
  96. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/poetry.lock +5520 -5520
  97. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/poetry.toml +3 -3
  98. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/pyproject.toml +87 -87
  99. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/requirements.txt +182 -182
  100. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/requirements_fast.txt +2 -2
  101. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/sh/deploy_bigline.sh +33 -33
  102. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/sh/deploy_dev.sh +32 -32
  103. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/sh/deploy_evaldev.sh +32 -32
  104. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/sh/deploy_fast.sh +21 -21
  105. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/sh/deploy_modaline.sh +32 -32
  106. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/sh/deploy_prod.sh +29 -29
  107. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/sh/deploy_sebaline.sh +32 -32
  108. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/sh/firestore_checkpointer_delete_thread.py +31 -31
  109. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/sh/generate_docs.sh +9 -9
  110. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/sh/llm_time_test.py +65 -65
  111. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/sh/run_langgraph.py +38 -38
  112. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/sh/run_langgraph_react.py +27 -27
  113. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/sh/run_youtube_summary.py +16 -16
  114. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/sh/scrape_pdf.py +8 -8
  115. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/sh/seba_pypi.sh +4 -4
  116. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/sh/subsidy_test.py +1906 -1906
  117. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/specs/gov-search/agent-architecture-upgrade.excalidraw +1174 -1174
  118. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/specs/gov-search/line_dev.excalidraw +936 -936
  119. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/specs/gov-search/subsidy_agent.excalidraw +1345 -1345
  120. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/specs/gov-search/subsidy_agent_dev.excalidraw +1272 -1272
  121. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/specs/gov-search/temp_txt.md +1 -1
  122. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/specs/gov-search/temp_txt2.md +400 -400
  123. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/specs/system_thinking.excalidraw +511 -511
  124. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/uv.lock +3090 -3090
  125. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/__init__.py +0 -0
  126. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/api/__init__.py +0 -0
  127. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/langgraph_agents/__init__.py +0 -0
  128. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/langgraph_agents/agents/__init__.py +0 -0
  129. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/langgraph_agents/agents/agent_tools/__init__.py +0 -0
  130. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/langgraph_agents/agents/checkpointer/__init__.py +0 -0
  131. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/langgraph_agents/agents/gov_researcher/__init__.py +0 -0
  132. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/langgraph_agents/agents/util/__init__.py +0 -0
  133. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/langgraph_agents/cache/__init__.py +0 -0
  134. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/llm_agent/__init__.py +0 -0
  135. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/models/__init__.py +0 -0
  136. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/services/__init__.py +0 -0
  137. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/services/hatch/__init__.py +0 -0
  138. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/services/storage/__init__.py +0 -0
  139. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/services/user_setting/__init__.py +0 -0
  140. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/tests/test_files/(/346/272/253/351/246/250/346/210/220/346/236/234 /350/241/214/346/224/277/350/253/213/347/244/272/345/214/257/347/270/275)20250210/345/220/221 /344/270/212/344/272/272/345/240/261/345/221/212/347/260/241/345/240/261 (1).pdf" +0 -0
  141. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/tests/test_files/11206_10808/344/272/272/345/217/243/346/225/270(3/346/256/265/345/271/264/351/275/241/347/265/204+/346/257/224/347/216/207)/345/244/251/344/270/213/351/233/234/350/252/2141.pdf" +0 -0
  142. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/tests/test_files/1120701A/346/265/267/345/273/243/351/233/242/345/262/270/351/242/250/345/212/233/347/231/274/351/233/273/350/250/210/347/225/253/347/222/260/345/242/203/345/275/261/351/237/277/350/252/252/346/230/216/346/233/270-C04.PDF" +0 -0
  143. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/tests/test_files/ImportedPhoto.760363950.029251.jpeg +0 -0
  144. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/tests/test_files/ImportedPhoto.760363950.030446.jpeg +0 -0
  145. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/tests/test_files/ImportedPhoto.760363950.031127.jpeg +0 -0
  146. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/tests/test_files/d5712343.jpg +0 -0
  147. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/tests/test_files/spot_difference_1.png +0 -0
  148. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/tests/test_files/spot_difference_2.png +0 -0
  149. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/botrun_flow_lang/utils/clients/__init__.py +0 -0
  150. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/deploy.sh +0 -0
  151. {botrun_flow_lang-5.12.262 → botrun_flow_lang-5.12.264}/specs/gov-search//346/264/245/350/262/274line/345/276/205/350/250/216/350/253/226.excalidraw" +0 -0
@@ -1,92 +1,92 @@
1
- # 讀取一些 GCP 上的 resource, firestore, cloud storage 會以這個變數區分不同的 resource
2
- ENV_NAME=""
3
- # 存取 gcp 的 resource 需要這個 key
4
- GOOGLE_APPLICATION_CREDENTIALS_FOR_FASTAPI=""
5
- OPENAI_API_KEY=""
6
- ANTHROPIC_API_KEY=""
7
- GEMINI_API_KEY=""
8
- PPLX_API_KEY=""
9
- TAVILY_API_KEY=""
10
- YOUTUBE_API_KEY=""
11
- # 要使用 openrouter 的話,需要設定這個 key
12
- OPENROUTER_API_KEY=""
13
- # 要使用 openrouter 的話,需要設定這個 base url
14
- OPENROUTER_BASE_URL=""
15
-
16
- GOOGLE_API_KEY=""
17
- # 之前在測試 vertex ai search,建立資料集時,這個是它的 ID
18
- GOOGLE_SEARCH_ENGINE_ID=""
19
-
20
- GOOGLE_CLOUD_PROJECT=""
21
- GOOGLE_CLOUD_LOCATION=""
22
-
23
- # 如果要使用 langsmith 的話,需要設定這些變數
24
- LANGSMITH_TRACING=true
25
- LANGSMITH_ENDPOINT="https://api.smith.langchain.com"
26
- LANGSMITH_API_KEY=""
27
- LANGSMITH_PROJECT=""
28
-
29
- # 寫死一些 JWT_TOKENS,給部份 api 呼叫使用
30
- JWT_TOKENS=""
31
-
32
- # 存取 hatch 的 resource 需要這個變數
33
- HATCH_ENV_NAME=""
34
-
35
-
36
- # 代理人要辨識 pdf 所使用的 model,可以支援多個,用 , 隔開
37
- PDF_ANALYZER_MODEL=gemini-2.5-flash
38
- # 代理人要辨識圖片所使用的 model,可以支援多個,用 , 隔開
39
- IMG_ANALYZER_MODEL=gemini-2.5-flash
40
-
41
- # Botrun backend API
42
- BOTRUN_BACK_API_BASE=""
43
- # 有 IAP的,也需要設定以下變數
44
- # BOTRUN_BACK_API_BASE=""
45
- # IAP_CLIENT_ID=""
46
- # IAP_SERVICE_ACCOUNT_KEY_FILE=""
47
-
48
- # 津貼要使用的 line bot 的 secret 和 token
49
- SUBSIDY_LINE_BOT_CHANNEL_SECRET=""
50
- SUBSIDY_LINE_BOT_CHANNEL_ACCESS_TOKEN=""
51
-
52
- # 津貼要使用的 line bot 的 rate limit 設定
53
- SUBSIDY_LINEBOT_RATE_LIMIT_WINDOW=60
54
- SUBSIDY_LINEBOT_RATE_LIMIT_COUNT=10
55
-
56
- # 津貼 line bot 要按讚反讚,可以存取 google sheet 的 service account key
57
- GOOGLE_APPLICATION_CREDENTIALS_FOR_SUBSIDY_LINEBOT=""
58
- # 津貼 line bot 要按讚反讚,要存取的 google sheet id
59
- SUBSIDY_LINEBOT_GSPREAD_ID=""
60
- # 津貼 line bot 在回應時,會放在最下面的 footnote
61
- SUBSIDY_LINEBOT_FOOTNOTE=""
62
-
63
- # 津貼要使用的 line bot,會去讀取智津貼的 google service account key
64
- # 這個參數,在Hatch 的 google doc 設定中,會用到
65
- GOOGLE_APPLICATION_CREDENTIALS_FOR_BOTRUN_DOC=""
66
- # 智津貼的 google doc id
67
- SUBSIDY_BOTRUN_DOC_FILE_ID=""
68
-
69
- # 一般的 log ,會寫到 cloud logging 上,需要設定這些變數
70
- BOTRUN_LOGGER_LEVEL=INFO
71
- BOTRUN_LOG_NAME=""
72
- BOTRUN_LOG_PROJECT_ID=""
73
- BOTRUN_LOG_CREDENTIALS_PATH=""
74
-
75
- # 津貼 line bot 寫入 bigquery 的資料,需要設定這些變數
76
- BOTRUN_LOG_AES_KEY=""
77
- BOTRUN_LOG_DATASET_NAME=""
78
- BOTRUN_LOG_DEPARTMENT=""
79
-
80
- # 要存取 models sheet 的 service account key
81
- GOOGLE_APPLICATION_CREDENTIALS_FOR_MODELS_SHEET=""
82
- # models sheet 的 id
83
- MODELS_GSPREAD_ID=""
84
-
85
- # subsidy api 相關設定,要使用津貼 line bot 就要設定
86
- SUBSIDY_API_TOKEN=
87
- SUBSIDY_API_URL=
88
-
89
- # subsidy line bot token usage log 相關設定,要使用津貼 line bot 就要設定
90
- BIGQUERY_TOKEN_LOG_API_URL=
91
- BIGQUERY_TOKEN_LOG_ENABLED="true"
1
+ # 讀取一些 GCP 上的 resource, firestore, cloud storage 會以這個變數區分不同的 resource
2
+ ENV_NAME=""
3
+ # 存取 gcp 的 resource 需要這個 key
4
+ GOOGLE_APPLICATION_CREDENTIALS_FOR_FASTAPI=""
5
+ OPENAI_API_KEY=""
6
+ ANTHROPIC_API_KEY=""
7
+ GEMINI_API_KEY=""
8
+ PPLX_API_KEY=""
9
+ TAVILY_API_KEY=""
10
+ YOUTUBE_API_KEY=""
11
+ # 要使用 openrouter 的話,需要設定這個 key
12
+ OPENROUTER_API_KEY=""
13
+ # 要使用 openrouter 的話,需要設定這個 base url
14
+ OPENROUTER_BASE_URL=""
15
+
16
+ GOOGLE_API_KEY=""
17
+ # 之前在測試 vertex ai search,建立資料集時,這個是它的 ID
18
+ GOOGLE_SEARCH_ENGINE_ID=""
19
+
20
+ GOOGLE_CLOUD_PROJECT=""
21
+ GOOGLE_CLOUD_LOCATION=""
22
+
23
+ # 如果要使用 langsmith 的話,需要設定這些變數
24
+ LANGSMITH_TRACING=true
25
+ LANGSMITH_ENDPOINT="https://api.smith.langchain.com"
26
+ LANGSMITH_API_KEY=""
27
+ LANGSMITH_PROJECT=""
28
+
29
+ # 寫死一些 JWT_TOKENS,給部份 api 呼叫使用
30
+ JWT_TOKENS=""
31
+
32
+ # 存取 hatch 的 resource 需要這個變數
33
+ HATCH_ENV_NAME=""
34
+
35
+
36
+ # 代理人要辨識 pdf 所使用的 model,可以支援多個,用 , 隔開
37
+ PDF_ANALYZER_MODEL=gemini-2.5-flash
38
+ # 代理人要辨識圖片所使用的 model,可以支援多個,用 , 隔開
39
+ IMG_ANALYZER_MODEL=gemini-2.5-flash
40
+
41
+ # Botrun backend API
42
+ BOTRUN_BACK_API_BASE=""
43
+ # 有 IAP的,也需要設定以下變數
44
+ # BOTRUN_BACK_API_BASE=""
45
+ # IAP_CLIENT_ID=""
46
+ # IAP_SERVICE_ACCOUNT_KEY_FILE=""
47
+
48
+ # 津貼要使用的 line bot 的 secret 和 token
49
+ SUBSIDY_LINE_BOT_CHANNEL_SECRET=""
50
+ SUBSIDY_LINE_BOT_CHANNEL_ACCESS_TOKEN=""
51
+
52
+ # 津貼要使用的 line bot 的 rate limit 設定
53
+ SUBSIDY_LINEBOT_RATE_LIMIT_WINDOW=60
54
+ SUBSIDY_LINEBOT_RATE_LIMIT_COUNT=10
55
+
56
+ # 津貼 line bot 要按讚反讚,可以存取 google sheet 的 service account key
57
+ GOOGLE_APPLICATION_CREDENTIALS_FOR_SUBSIDY_LINEBOT=""
58
+ # 津貼 line bot 要按讚反讚,要存取的 google sheet id
59
+ SUBSIDY_LINEBOT_GSPREAD_ID=""
60
+ # 津貼 line bot 在回應時,會放在最下面的 footnote
61
+ SUBSIDY_LINEBOT_FOOTNOTE=""
62
+
63
+ # 津貼要使用的 line bot,會去讀取智津貼的 google service account key
64
+ # 這個參數,在Hatch 的 google doc 設定中,會用到
65
+ GOOGLE_APPLICATION_CREDENTIALS_FOR_BOTRUN_DOC=""
66
+ # 智津貼的 google doc id
67
+ SUBSIDY_BOTRUN_DOC_FILE_ID=""
68
+
69
+ # 一般的 log ,會寫到 cloud logging 上,需要設定這些變數
70
+ BOTRUN_LOGGER_LEVEL=INFO
71
+ BOTRUN_LOG_NAME=""
72
+ BOTRUN_LOG_PROJECT_ID=""
73
+ BOTRUN_LOG_CREDENTIALS_PATH=""
74
+
75
+ # 津貼 line bot 寫入 bigquery 的資料,需要設定這些變數
76
+ BOTRUN_LOG_AES_KEY=""
77
+ BOTRUN_LOG_DATASET_NAME=""
78
+ BOTRUN_LOG_DEPARTMENT=""
79
+
80
+ # 要存取 models sheet 的 service account key
81
+ GOOGLE_APPLICATION_CREDENTIALS_FOR_MODELS_SHEET=""
82
+ # models sheet 的 id
83
+ MODELS_GSPREAD_ID=""
84
+
85
+ # subsidy api 相關設定,要使用津貼 line bot 就要設定
86
+ SUBSIDY_API_TOKEN=
87
+ SUBSIDY_API_URL=
88
+
89
+ # subsidy line bot token usage log 相關設定,要使用津貼 line bot 就要設定
90
+ BIGQUERY_TOKEN_LOG_API_URL=
91
+ BIGQUERY_TOKEN_LOG_ENABLED="true"
92
92
  SUBSIDY_LINE_BOT_MODEL_NAME="gemini-2.5-pro"
@@ -1,25 +1,25 @@
1
- # This file specifies files that are *not* uploaded to Google Cloud
2
- # using gcloud. It follows the same syntax as .gitignore, with the addition of
3
- # "#!include" directives (which insert the entries of the given .gitignore-style
4
- # file at that point).
5
- #
6
- # For more information, run:
7
- # $ gcloud topic gcloudignore
8
- #
9
- .gcloudignore
10
- # If you would like to upload your .git directory, .gitignore file or files
11
- # from your .gitignore file, remove the corresponding line
12
- # below:
13
- .git
14
- .gitignore
15
-
16
- node_modules
17
- #!include:.gitignore
18
- !keys
19
- !.env
20
- !.env.prod
21
- !.env.dev
22
- !.env.*
23
- tests
24
- !cloudbuild_*.yaml
1
+ # This file specifies files that are *not* uploaded to Google Cloud
2
+ # using gcloud. It follows the same syntax as .gitignore, with the addition of
3
+ # "#!include" directives (which insert the entries of the given .gitignore-style
4
+ # file at that point).
5
+ #
6
+ # For more information, run:
7
+ # $ gcloud topic gcloudignore
8
+ #
9
+ .gcloudignore
10
+ # If you would like to upload your .git directory, .gitignore file or files
11
+ # from your .gitignore file, remove the corresponding line
12
+ # below:
13
+ .git
14
+ .gitignore
15
+
16
+ node_modules
17
+ #!include:.gitignore
18
+ !keys
19
+ !.env
20
+ !.env.prod
21
+ !.env.dev
22
+ !.env.*
23
+ tests
24
+ !cloudbuild_*.yaml
25
25
  !Dockerfile.*
@@ -1,179 +1,179 @@
1
- .idea/
2
-
3
- # Byte-compiled / optimized / DLL files
4
- __pycache__/
5
- *.py[cod]
6
- *$py.class
7
-
8
- # C extensions
9
- *.so
10
-
11
- # Distribution / packaging
12
- .Python
13
- build/
14
- develop-eggs/
15
- dist/
16
- downloads/
17
- eggs/
18
- .eggs/
19
- lib/
20
- lib64/
21
- parts/
22
- sdist/
23
- var/
24
- wheels/
25
- share/python-wheels/
26
- *.egg-info/
27
- .installed.cfg
28
- *.egg
29
- MANIFEST
30
-
31
- # PyInstaller
32
- # Usually these files are written by a python script from a template
33
- # before PyInstaller builds the exe, so as to inject date/other infos into it.
34
- *.manifest
35
- *.spec
36
-
37
- # Installer logs
38
- pip-log.txt
39
- pip-delete-this-directory.txt
40
-
41
- # Unit test / coverage reports
42
- htmlcov/
43
- .tox/
44
- .nox/
45
- .coverage
46
- .coverage.*
47
- .cache
48
- nosetests.xml
49
- coverage.xml
50
- *.cover
51
- *.py,cover
52
- .hypothesis/
53
- .pytest_cache/
54
- cover/
55
-
56
- # Translations
57
- *.mo
58
- *.pot
59
-
60
- # Django stuff:
61
- *.log
62
- local_settings.py
63
- db.sqlite3
64
- db.sqlite3-journal
65
-
66
- # Flask stuff:
67
- instance/
68
- .webassets-cache
69
-
70
- # Scrapy stuff:
71
- .scrapy
72
-
73
- # Sphinx documentation
74
- docs/_build/
75
-
76
- # PyBuilder
77
- .pybuilder/
78
- target/
79
-
80
- # Jupyter Notebook
81
- .ipynb_checkpoints
82
-
83
- # IPython
84
- profile_default/
85
- ipython_config.py
86
-
87
- # pyenv
88
- # For a library or package, you might want to ignore these files since the code is
89
- # intended to run in multiple environments; otherwise, check them in:
90
- # .python-version
91
-
92
- # pipenv
93
- # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
94
- # However, in case of collaboration, if having platform-specific dependencies or dependencies
95
- # having no cross-platform support, pipenv may install dependencies that don't work, or not
96
- # install all needed dependencies.
97
- #Pipfile.lock
98
-
99
- # poetry
100
- # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
101
- # This is especially recommended for binary packages to ensure reproducibility, and is more
102
- # commonly ignored for libraries.
103
- # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
104
- #poetry.lock
105
-
106
- # pdm
107
- # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
108
- #pdm.lock
109
- # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
110
- # in version control.
111
- # https://pdm.fming.dev/latest/usage/project/#working-with-version-control
112
- .pdm.toml
113
- .pdm-python
114
- .pdm-build/
115
-
116
- # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
117
- __pypackages__/
118
-
119
- # Celery stuff
120
- celerybeat-schedule
121
- celerybeat.pid
122
-
123
- # SageMath parsed files
124
- *.sage.py
125
-
126
- # Environments
127
- .env
128
- .venv
129
- .venv*/
130
- env/
131
- venv/
132
- ENV/
133
- env.bak/
134
- venv.bak/
135
-
136
- # Spyder project settings
137
- .spyderproject
138
- .spyproject
139
-
140
- # Rope project settings
141
- .ropeproject
142
-
143
- # mkdocs documentation
144
- /site
145
-
146
- # mypy
147
- .mypy_cache/
148
- .dmypy.json
149
- dmypy.json
150
-
151
- # Pyre type checker
152
- .pyre/
153
-
154
- # pytype static type analyzer
155
- .pytype/
156
-
157
- # Cython debug symbols
158
- cython_debug/
159
-
160
- # PyCharm
161
- # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
162
- # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
163
- # and can be added to the global gitignore or merged into this file. For a more nuclear
164
- # option (not recommended) you can uncomment the following to ignore the entire idea folder.
165
- #.idea/
166
- .venv/
167
- .env.prod
168
- .env.dev
169
- keys/
170
- .env.*
171
- .cursorrules
172
- .cursor/
173
- .langgraph_api/
174
-
175
- cloudbuild_*.yaml
176
- !cloudbuild_template.yaml
177
- Dockerfile.*
178
- !Dockerfile.template
1
+ .idea/
2
+
3
+ # Byte-compiled / optimized / DLL files
4
+ __pycache__/
5
+ *.py[cod]
6
+ *$py.class
7
+
8
+ # C extensions
9
+ *.so
10
+
11
+ # Distribution / packaging
12
+ .Python
13
+ build/
14
+ develop-eggs/
15
+ dist/
16
+ downloads/
17
+ eggs/
18
+ .eggs/
19
+ lib/
20
+ lib64/
21
+ parts/
22
+ sdist/
23
+ var/
24
+ wheels/
25
+ share/python-wheels/
26
+ *.egg-info/
27
+ .installed.cfg
28
+ *.egg
29
+ MANIFEST
30
+
31
+ # PyInstaller
32
+ # Usually these files are written by a python script from a template
33
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
34
+ *.manifest
35
+ *.spec
36
+
37
+ # Installer logs
38
+ pip-log.txt
39
+ pip-delete-this-directory.txt
40
+
41
+ # Unit test / coverage reports
42
+ htmlcov/
43
+ .tox/
44
+ .nox/
45
+ .coverage
46
+ .coverage.*
47
+ .cache
48
+ nosetests.xml
49
+ coverage.xml
50
+ *.cover
51
+ *.py,cover
52
+ .hypothesis/
53
+ .pytest_cache/
54
+ cover/
55
+
56
+ # Translations
57
+ *.mo
58
+ *.pot
59
+
60
+ # Django stuff:
61
+ *.log
62
+ local_settings.py
63
+ db.sqlite3
64
+ db.sqlite3-journal
65
+
66
+ # Flask stuff:
67
+ instance/
68
+ .webassets-cache
69
+
70
+ # Scrapy stuff:
71
+ .scrapy
72
+
73
+ # Sphinx documentation
74
+ docs/_build/
75
+
76
+ # PyBuilder
77
+ .pybuilder/
78
+ target/
79
+
80
+ # Jupyter Notebook
81
+ .ipynb_checkpoints
82
+
83
+ # IPython
84
+ profile_default/
85
+ ipython_config.py
86
+
87
+ # pyenv
88
+ # For a library or package, you might want to ignore these files since the code is
89
+ # intended to run in multiple environments; otherwise, check them in:
90
+ # .python-version
91
+
92
+ # pipenv
93
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
94
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
95
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
96
+ # install all needed dependencies.
97
+ #Pipfile.lock
98
+
99
+ # poetry
100
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
101
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
102
+ # commonly ignored for libraries.
103
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
104
+ #poetry.lock
105
+
106
+ # pdm
107
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
108
+ #pdm.lock
109
+ # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
110
+ # in version control.
111
+ # https://pdm.fming.dev/latest/usage/project/#working-with-version-control
112
+ .pdm.toml
113
+ .pdm-python
114
+ .pdm-build/
115
+
116
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
117
+ __pypackages__/
118
+
119
+ # Celery stuff
120
+ celerybeat-schedule
121
+ celerybeat.pid
122
+
123
+ # SageMath parsed files
124
+ *.sage.py
125
+
126
+ # Environments
127
+ .env
128
+ .venv
129
+ .venv*/
130
+ env/
131
+ venv/
132
+ ENV/
133
+ env.bak/
134
+ venv.bak/
135
+
136
+ # Spyder project settings
137
+ .spyderproject
138
+ .spyproject
139
+
140
+ # Rope project settings
141
+ .ropeproject
142
+
143
+ # mkdocs documentation
144
+ /site
145
+
146
+ # mypy
147
+ .mypy_cache/
148
+ .dmypy.json
149
+ dmypy.json
150
+
151
+ # Pyre type checker
152
+ .pyre/
153
+
154
+ # pytype static type analyzer
155
+ .pytype/
156
+
157
+ # Cython debug symbols
158
+ cython_debug/
159
+
160
+ # PyCharm
161
+ # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
162
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
163
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
164
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
165
+ #.idea/
166
+ .venv/
167
+ .env.prod
168
+ .env.dev
169
+ keys/
170
+ .env.*
171
+ .cursorrules
172
+ .cursor/
173
+ .langgraph_api/
174
+
175
+ cloudbuild_*.yaml
176
+ !cloudbuild_template.yaml
177
+ Dockerfile.*
178
+ !Dockerfile.template
179
179
  .claude/