zrb 1.17.0__tar.gz → 1.17.1__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 (419) hide show
  1. {zrb-1.17.0 → zrb-1.17.1}/PKG-INFO +1 -1
  2. {zrb-1.17.0 → zrb-1.17.1}/pyproject.toml +1 -1
  3. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/llm/tool/file.py +35 -100
  4. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/llm/tool/note.py +9 -15
  5. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/task/llm/prompt.py +49 -1
  6. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/task/llm/tool_wrapper.py +6 -5
  7. {zrb-1.17.0 → zrb-1.17.1}/README.md +0 -0
  8. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/__init__.py +0 -0
  9. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/__main__.py +0 -0
  10. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/attr/__init__.py +0 -0
  11. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/attr/type.py +0 -0
  12. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/__init__.py +0 -0
  13. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/base64.py +0 -0
  14. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/git.py +0 -0
  15. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/git_subtree.py +0 -0
  16. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/group.py +0 -0
  17. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/http.py +0 -0
  18. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/jwt.py +0 -0
  19. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/llm/chat_session.py +0 -0
  20. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/llm/chat_trigger.py +0 -0
  21. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/llm/history.py +0 -0
  22. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/llm/input.py +0 -0
  23. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/llm/llm_ask.py +0 -0
  24. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/llm/previous-session.js +0 -0
  25. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/llm/tool/__init__.py +0 -0
  26. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/llm/tool/api.py +0 -0
  27. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/llm/tool/cli.py +0 -0
  28. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/llm/tool/code.py +0 -0
  29. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/llm/tool/rag.py +0 -0
  30. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/llm/tool/sub_agent.py +0 -0
  31. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/llm/tool/web.py +0 -0
  32. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/md5.py +0 -0
  33. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/__init__.py +0 -0
  34. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_input.py +0 -0
  35. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_task.py +0 -0
  36. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/.coveragerc +0 -0
  37. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/.flake8 +0 -0
  38. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/.gitignore +0 -0
  39. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/README.md +0 -0
  40. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/__init__.py +0 -0
  41. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/column/add_column_task.py +0 -0
  42. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/column/add_column_util.py +0 -0
  43. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/config.py +0 -0
  44. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/add_entity_task.py +0 -0
  45. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/add_entity_util.py +0 -0
  46. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/module/gateway/view/content/my-module/my-entity.html +0 -0
  47. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/module/my_module/service/my_entity/my_entity_service.py +0 -0
  48. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/module/my_module/service/my_entity/my_entity_service_factory.py +0 -0
  49. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/module/my_module/service/my_entity/repository/my_entity_db_repository.py +0 -0
  50. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/module/my_module/service/my_entity/repository/my_entity_repository.py +0 -0
  51. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/module/my_module/service/my_entity/repository/my_entity_repository_factory.py +0 -0
  52. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/schema/my_entity.py +0 -0
  53. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/test/my_module/my_entity/test_create_my_entity.py +0 -0
  54. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/test/my_module/my_entity/test_delete_my_entity.py +0 -0
  55. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/test/my_module/my_entity/test_read_my_entity.py +0 -0
  56. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/test/my_module/my_entity/test_update_my_entity.py +0 -0
  57. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/client_method.py +0 -0
  58. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/gateway_subroute.py +0 -0
  59. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/navigation_config_file.py +0 -0
  60. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/format_task.py +0 -0
  61. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/group.py +0 -0
  62. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/input.py +0 -0
  63. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/add_module_task.py +0 -0
  64. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/add_module_util.py +0 -0
  65. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/gateway/subroute/my_module.py +0 -0
  66. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/alembic.ini +0 -0
  67. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/client/my_module_api_client.py +0 -0
  68. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/client/my_module_client.py +0 -0
  69. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/client/my_module_client_factory.py +0 -0
  70. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/client/my_module_direct_client.py +0 -0
  71. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/migration/README +0 -0
  72. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/migration/env.py +0 -0
  73. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/migration/script.py.mako +0 -0
  74. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/migration/versions/.gitkeep +0 -0
  75. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/migration_metadata.py +0 -0
  76. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/route.py +0 -0
  77. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/service/__init__.py +0 -0
  78. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/module_task_definition.py +0 -0
  79. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/navigation_config_file.py +0 -0
  80. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/task.py +0 -0
  81. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/task_util.py +0 -0
  82. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/util.py +0 -0
  83. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/venv_task.py +0 -0
  84. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/__init__.py +0 -0
  85. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/app_factory.py +0 -0
  86. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/base_db_repository.py +0 -0
  87. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/base_service.py +0 -0
  88. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/db_engine_factory.py +0 -0
  89. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/error.py +0 -0
  90. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/logger_factory.py +0 -0
  91. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/parser_factory.py +0 -0
  92. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/schema.py +0 -0
  93. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/app.py +0 -0
  94. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/parser.py +0 -0
  95. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/user_agent.py +0 -0
  96. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/view.py +0 -0
  97. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/config.py +0 -0
  98. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/main.py +0 -0
  99. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/__init__.py +0 -0
  100. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/alembic.ini +0 -0
  101. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/auth_api_client.py +0 -0
  102. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/auth_client.py +0 -0
  103. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/auth_client_factory.py +0 -0
  104. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/auth_direct_client.py +0 -0
  105. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/README +0 -0
  106. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/env.py +0 -0
  107. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/script.py.mako +0 -0
  108. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/versions/3093c7336477_add_auth_tables.py +0 -0
  109. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/versions/8ed025bcc845_create_permissions.py +0 -0
  110. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration_metadata.py +0 -0
  111. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/route.py +0 -0
  112. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/__init__.py +0 -0
  113. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/__init__.py +0 -0
  114. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/permission_service.py +0 -0
  115. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/permission_service_factory.py +0 -0
  116. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/repository/permission_db_repository.py +0 -0
  117. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/repository/permission_repository.py +0 -0
  118. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/repository/permission_repository_factory.py +0 -0
  119. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/__init__.py +0 -0
  120. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/repository/role_db_repository.py +0 -0
  121. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/repository/role_repository.py +0 -0
  122. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/repository/role_repository_factory.py +0 -0
  123. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/role_service.py +0 -0
  124. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/role_service_factory.py +0 -0
  125. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/__init__.py +0 -0
  126. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/repository/user_db_repository.py +0 -0
  127. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/repository/user_repository.py +0 -0
  128. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/repository/user_repository_factory.py +0 -0
  129. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/user_service.py +0 -0
  130. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/user_service_factory.py +0 -0
  131. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/alembic.ini +0 -0
  132. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/config/navigation.py +0 -0
  133. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/README +0 -0
  134. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/env.py +0 -0
  135. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/script.py.mako +0 -0
  136. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/versions/.gitkeep +0 -0
  137. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration_metadata.py +0 -0
  138. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/route.py +0 -0
  139. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/schema/navigation.py +0 -0
  140. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/subroute/auth.py +0 -0
  141. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/util/auth.py +0 -0
  142. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/util/view.py +0 -0
  143. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/permission.html +0 -0
  144. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/role.html +0 -0
  145. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/user.html +0 -0
  146. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/error.html +0 -0
  147. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/homepage.html +0 -0
  148. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/login.html +0 -0
  149. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/logout.html +0 -0
  150. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/common/util.js +0 -0
  151. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/crud/style.css +0 -0
  152. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/crud/util.js +0 -0
  153. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/default/pico-style.css +0 -0
  154. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/default/script.js +0 -0
  155. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/default/style.css +0 -0
  156. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/images/android-chrome-192x192.png +0 -0
  157. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/images/android-chrome-512x512.png +0 -0
  158. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/images/favicon-32x32.png +0 -0
  159. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.amber.min.css +0 -0
  160. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.blue.min.css +0 -0
  161. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.cyan.min.css +0 -0
  162. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.fuchsia.min.css +0 -0
  163. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.green.min.css +0 -0
  164. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.grey.min.css +0 -0
  165. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.indigo.min.css +0 -0
  166. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.jade.min.css +0 -0
  167. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.lime.min.css +0 -0
  168. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.min.css +0 -0
  169. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.orange.min.css +0 -0
  170. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.pink.min.css +0 -0
  171. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.pumpkin.min.css +0 -0
  172. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.purple.min.css +0 -0
  173. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.red.min.css +0 -0
  174. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.sand.min.css +0 -0
  175. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.slate.min.css +0 -0
  176. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.violet.min.css +0 -0
  177. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.yellow.min.css +0 -0
  178. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.zinc.min.css +0 -0
  179. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/template/default.html +0 -0
  180. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/requirements.txt +0 -0
  181. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/__init__.py +0 -0
  182. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/permission.py +0 -0
  183. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/role.py +0 -0
  184. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/user.py +0 -0
  185. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/template.env +0 -0
  186. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/_util/access_token.py +0 -0
  187. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/permission/test_create_permission.py +0 -0
  188. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/permission/test_delete_permission.py +0 -0
  189. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/permission/test_read_permission.py +0 -0
  190. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/permission/test_update_permission.py +0 -0
  191. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/test_user_session.py +0 -0
  192. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/test_health_and_readiness.py +0 -0
  193. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/test_homepage.py +0 -0
  194. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/test_not_found_error.py +0 -0
  195. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test.sh +0 -0
  196. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/add/fastapp/fastapp_util.py +0 -0
  197. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/create/__init__.py +0 -0
  198. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/create/project-template/README.md +0 -0
  199. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/create/project-template/zrb_init.py +0 -0
  200. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/project/create/project_task.py +0 -0
  201. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/python.py +0 -0
  202. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/random.py +0 -0
  203. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/searxng/config/settings.yml +0 -0
  204. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/searxng/start.py +0 -0
  205. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/setup/asdf/asdf.py +0 -0
  206. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/setup/asdf/asdf_helper.py +0 -0
  207. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/setup/common_input.py +0 -0
  208. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/setup/latex/ubuntu.py +0 -0
  209. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/setup/tmux/tmux.py +0 -0
  210. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/setup/tmux/tmux_config.sh +0 -0
  211. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/setup/tmux/tmux_helper.py +0 -0
  212. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/setup/ubuntu.py +0 -0
  213. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/setup/zsh/zsh.py +0 -0
  214. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/setup/zsh/zsh_config.sh +0 -0
  215. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/setup/zsh/zsh_helper.py +0 -0
  216. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/shell/__init__.py +0 -0
  217. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/shell/autocomplete/__init__.py +0 -0
  218. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/shell/autocomplete/bash.py +0 -0
  219. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/shell/autocomplete/subcmd.py +0 -0
  220. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/shell/autocomplete/zsh.py +0 -0
  221. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/todo.py +0 -0
  222. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/builtin/uuid.py +0 -0
  223. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/callback/__init__.py +0 -0
  224. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/callback/any_callback.py +0 -0
  225. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/callback/callback.py +0 -0
  226. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/cmd/__init__.py +0 -0
  227. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/cmd/cmd_result.py +0 -0
  228. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/cmd/cmd_val.py +0 -0
  229. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/config/config.py +0 -0
  230. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/config/default_prompt/file_extractor_system_prompt.md +0 -0
  231. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/config/default_prompt/interactive_system_prompt.md +0 -0
  232. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/config/default_prompt/persona.md +0 -0
  233. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/config/default_prompt/repo_extractor_system_prompt.md +0 -0
  234. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/config/default_prompt/repo_summarizer_system_prompt.md +0 -0
  235. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/config/default_prompt/summarization_prompt.md +0 -0
  236. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/config/default_prompt/system_prompt.md +0 -0
  237. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/config/llm_config.py +0 -0
  238. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/config/llm_context/config.py +0 -0
  239. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/config/llm_context/config_parser.py +0 -0
  240. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/config/llm_rate_limitter.py +0 -0
  241. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/config/web_auth_config.py +0 -0
  242. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/content_transformer/__init__.py +0 -0
  243. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/content_transformer/any_content_transformer.py +0 -0
  244. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/content_transformer/content_transformer.py +0 -0
  245. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/context/__init__.py +0 -0
  246. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/context/any_context.py +0 -0
  247. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/context/any_shared_context.py +0 -0
  248. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/context/context.py +0 -0
  249. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/context/shared_context.py +0 -0
  250. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/dot_dict/__init__.py +0 -0
  251. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/dot_dict/dot_dict.py +0 -0
  252. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/env/__init__.py +0 -0
  253. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/env/any_env.py +0 -0
  254. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/env/env.py +0 -0
  255. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/env/env_file.py +0 -0
  256. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/env/env_map.py +0 -0
  257. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/group/__init__.py +0 -0
  258. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/group/any_group.py +0 -0
  259. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/group/group.py +0 -0
  260. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/input/__init__.py +0 -0
  261. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/input/any_input.py +0 -0
  262. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/input/base_input.py +0 -0
  263. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/input/bool_input.py +0 -0
  264. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/input/float_input.py +0 -0
  265. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/input/int_input.py +0 -0
  266. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/input/option_input.py +0 -0
  267. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/input/password_input.py +0 -0
  268. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/input/str_input.py +0 -0
  269. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/input/text_input.py +0 -0
  270. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/__init__.py +0 -0
  271. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/cli.py +0 -0
  272. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/common_util.py +0 -0
  273. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_app.py +0 -0
  274. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_route/__init__.py +0 -0
  275. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_route/docs_route.py +0 -0
  276. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_route/error_page/serve_default_404.py +0 -0
  277. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_route/error_page/show_error_page.py +0 -0
  278. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_route/error_page/view.html +0 -0
  279. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_route/home_page/__init__.py +0 -0
  280. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_route/home_page/home_page_route.py +0 -0
  281. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_route/home_page/view.html +0 -0
  282. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_route/login_api_route.py +0 -0
  283. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_route/login_page/login_page_route.py +0 -0
  284. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_route/login_page/view.html +0 -0
  285. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_route/logout_api_route.py +0 -0
  286. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_route/logout_page/logout_page_route.py +0 -0
  287. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_route/logout_page/view.html +0 -0
  288. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_route/node_page/group/show_group_page.py +0 -0
  289. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_route/node_page/group/view.html +0 -0
  290. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_route/node_page/node_page_route.py +0 -0
  291. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_route/node_page/task/partial/input.html +0 -0
  292. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_route/node_page/task/show_task_page.py +0 -0
  293. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_route/node_page/task/view.html +0 -0
  294. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_route/refresh_token_api_route.py +0 -0
  295. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_route/static/global_template.html +0 -0
  296. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_route/static/refresh-token.template.js +0 -0
  297. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_route/static/resources/common.css +0 -0
  298. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_route/static/resources/common.js +0 -0
  299. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_route/static/resources/favicon-32x32.png +0 -0
  300. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_route/static/resources/login/event.js +0 -0
  301. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_route/static/resources/logout/event.js +0 -0
  302. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_route/static/resources/pico-css/pico.amber.min.css +0 -0
  303. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_route/static/resources/pico-css/pico.blue.min.css +0 -0
  304. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_route/static/resources/pico-css/pico.cyan.min.css +0 -0
  305. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_route/static/resources/pico-css/pico.fuchsia.min.css +0 -0
  306. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_route/static/resources/pico-css/pico.green.min.css +0 -0
  307. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_route/static/resources/pico-css/pico.grey.min.css +0 -0
  308. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_route/static/resources/pico-css/pico.indigo.min.css +0 -0
  309. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_route/static/resources/pico-css/pico.jade.min.css +0 -0
  310. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_route/static/resources/pico-css/pico.lime.min.css +0 -0
  311. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_route/static/resources/pico-css/pico.min.css +0 -0
  312. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_route/static/resources/pico-css/pico.orange.min.css +0 -0
  313. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_route/static/resources/pico-css/pico.pink.min.css +0 -0
  314. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_route/static/resources/pico-css/pico.pumpkin.min.css +0 -0
  315. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_route/static/resources/pico-css/pico.purple.min.css +0 -0
  316. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_route/static/resources/pico-css/pico.red.min.css +0 -0
  317. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_route/static/resources/pico-css/pico.sand.min.css +0 -0
  318. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_route/static/resources/pico-css/pico.slate.min.css +0 -0
  319. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_route/static/resources/pico-css/pico.violet.min.css +0 -0
  320. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_route/static/resources/pico-css/pico.yellow.min.css +0 -0
  321. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_route/static/resources/pico-css/pico.zinc.min.css +0 -0
  322. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_route/static/resources/session/common-util.js +0 -0
  323. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_route/static/resources/session/current-session.js +0 -0
  324. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_route/static/resources/session/event.js +0 -0
  325. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_route/static/resources/session/past-session.js +0 -0
  326. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_route/static/static_route.py +0 -0
  327. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_route/task_input_api_route.py +0 -0
  328. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_route/task_session_api_route.py +0 -0
  329. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_schema/session.py +0 -0
  330. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_schema/token.py +0 -0
  331. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_schema/user.py +0 -0
  332. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_util/cookie.py +0 -0
  333. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_util/html.py +0 -0
  334. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_util/token.py +0 -0
  335. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/runner/web_util/user.py +0 -0
  336. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/session/__init__.py +0 -0
  337. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/session/any_session.py +0 -0
  338. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/session/session.py +0 -0
  339. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/session_state_log/__init__.py +0 -0
  340. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/session_state_log/session_state_log.py +0 -0
  341. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/session_state_logger/__init__.py +0 -0
  342. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/session_state_logger/any_session_state_logger.py +0 -0
  343. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/session_state_logger/file_session_state_logger.py +0 -0
  344. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/session_state_logger/session_state_logger_factory.py +0 -0
  345. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/task/__init__.py +0 -0
  346. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/task/any_task.py +0 -0
  347. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/task/base/__init__.py +0 -0
  348. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/task/base/context.py +0 -0
  349. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/task/base/execution.py +0 -0
  350. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/task/base/lifecycle.py +0 -0
  351. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/task/base/monitoring.py +0 -0
  352. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/task/base/operators.py +0 -0
  353. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/task/base_task.py +0 -0
  354. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/task/base_trigger.py +0 -0
  355. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/task/cmd_task.py +0 -0
  356. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/task/http_check.py +0 -0
  357. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/task/llm/__init__.py +0 -0
  358. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/task/llm/agent.py +0 -0
  359. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/task/llm/config.py +0 -0
  360. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/task/llm/conversation_history.py +0 -0
  361. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/task/llm/conversation_history_model.py +0 -0
  362. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/task/llm/default_workflow/coding.md +0 -0
  363. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/task/llm/default_workflow/copywriting.md +0 -0
  364. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/task/llm/default_workflow/researching.md +0 -0
  365. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/task/llm/error.py +0 -0
  366. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/task/llm/history_summarization.py +0 -0
  367. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/task/llm/history_summarization_tool.py +0 -0
  368. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/task/llm/print_node.py +0 -0
  369. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/task/llm/typing.py +0 -0
  370. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/task/llm_task.py +0 -0
  371. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/task/make_task.py +0 -0
  372. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/task/rsync_task.py +0 -0
  373. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/task/scaffolder.py +0 -0
  374. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/task/scheduler.py +0 -0
  375. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/task/task.py +0 -0
  376. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/task/tcp_check.py +0 -0
  377. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/task_status/__init__.py +0 -0
  378. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/task_status/task_status.py +0 -0
  379. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/util/__init__.py +0 -0
  380. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/util/attr.py +0 -0
  381. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/util/callable.py +0 -0
  382. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/util/cli/__init__.py +0 -0
  383. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/util/cli/markdown.py +0 -0
  384. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/util/cli/style.py +0 -0
  385. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/util/cli/subcommand.py +0 -0
  386. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/util/cli/text.py +0 -0
  387. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/util/cmd/__init__.py +0 -0
  388. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/util/cmd/command.py +0 -0
  389. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/util/cmd/remote.py +0 -0
  390. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/util/codemod/__init__.py +0 -0
  391. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/util/codemod/modification_mode.py +0 -0
  392. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/util/codemod/modify_class.py +0 -0
  393. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/util/codemod/modify_class_parent.py +0 -0
  394. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/util/codemod/modify_class_property.py +0 -0
  395. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/util/codemod/modify_dict.py +0 -0
  396. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/util/codemod/modify_function.py +0 -0
  397. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/util/codemod/modify_function_call.py +0 -0
  398. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/util/codemod/modify_method.py +0 -0
  399. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/util/codemod/modify_module.py +0 -0
  400. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/util/cron.py +0 -0
  401. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/util/file.py +0 -0
  402. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/util/git.py +0 -0
  403. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/util/git_diff_model.py +0 -0
  404. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/util/git_subtree.py +0 -0
  405. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/util/git_subtree_model.py +0 -0
  406. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/util/group.py +0 -0
  407. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/util/init_path.py +0 -0
  408. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/util/llm/prompt.py +0 -0
  409. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/util/load.py +0 -0
  410. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/util/run.py +0 -0
  411. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/util/string/__init__.py +0 -0
  412. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/util/string/conversion.py +0 -0
  413. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/util/string/format.py +0 -0
  414. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/util/string/name.py +0 -0
  415. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/util/todo.py +0 -0
  416. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/util/todo_model.py +0 -0
  417. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/util/truncate.py +0 -0
  418. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/xcom/__init__.py +0 -0
  419. {zrb-1.17.0 → zrb-1.17.1}/src/zrb/xcom/xcom.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: zrb
3
- Version: 1.17.0
3
+ Version: 1.17.1
4
4
  Summary: Your Automation Powerhouse
5
5
  License: AGPL-3.0-or-later
6
6
  Keywords: Automation,Task Runner,Code Generator,Monorepo,Low Code
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "zrb"
3
- version = "1.17.0"
3
+ version = "1.17.1"
4
4
  description = "Your Automation Powerhouse"
5
5
  authors = ["Go Frendi Gunawan <gofrendiasgard@gmail.com>"]
6
6
  license = "AGPL-3.0-or-later"
@@ -100,34 +100,19 @@ def list_files(
100
100
  excluded_patterns: Optional[list[str]] = None,
101
101
  ) -> dict[str, list[str]]:
102
102
  """
103
- Lists the files and directories within a specified path.
103
+ Lists files and directories within a specified path, providing a map of the filesystem.
104
104
 
105
- This is a fundamental tool for exploring the file system. Use it to
106
- discover the structure of a directory, find specific files, or get a
107
- general overview of the project layout before performing other operations.
108
- **NOTE:**
109
- User might provide inaccurate file path, so if you failed to read a file,
110
- it is a good idea to list the files to get the accurate file path.
105
+ Use this tool to explore and understand the directory structure of the project. It's essential for finding files before reading or modifying them. If you receive an error about a file not being found, use this tool to verify the correct path.
111
106
 
112
107
  Args:
113
- path (str, optional): The directory path to list. Defaults to the
114
- current directory (".").
115
- recursive (bool, optional): If True, lists files and directories
116
- recursively. If False, lists only the top-level contents.
117
- Defaults to True.
118
- include_hidden (bool, optional): If True, includes hidden files and
119
- directories (those starting with a dot). Defaults to False.
120
- excluded_patterns (list[str], optional): A list of glob patterns to
121
- exclude from the listing. This is useful for ignoring irrelevant
122
- files like build artifacts or virtual environments. Defaults to a
123
- standard list of common exclusion patterns.
108
+ path (str, optional): The directory path to list, preferably an absolute path. Defaults to the current directory (".").
109
+ recursive (bool, optional): If True, lists contents recursively. Defaults to True.
110
+ include_hidden (bool, optional): If True, includes hidden files (e.g., .gitignore). Defaults to False.
111
+ excluded_patterns (list[str], optional): A list of glob patterns to ignore (e.g., ["*.log", "node_modules/"]). Defaults to a standard list of ignores.
124
112
 
125
113
  Returns:
126
- dict[str, list[str]]: A dictionary containing a list of file and directory paths
127
- relative to the input path.
128
- Example: {"files": ["src/main.py", "README.md"]}
129
- Raises:
130
- FileNotFoundError: If the specified path does not exist.
114
+ dict[str, list[str]]: A dictionary with a single key "files" containing a sorted list of file and directory paths relative to the input path.
115
+ Example: {"files": ["README.md", "src/main.py", "src/utils/helpers.py"]}
131
116
  """
132
117
  all_files: list[str] = []
133
118
  abs_path = os.path.abspath(os.path.expanduser(path))
@@ -226,59 +211,24 @@ def read_from_file(
226
211
  end_line: Optional[int] = None,
227
212
  ) -> dict[str, Any]:
228
213
  """
229
- Reads the content of a file, optionally from a specific start line to an
230
- end line.
231
-
232
- This tool is essential for inspecting file contents. It can read both text
233
- and PDF files. The `content` field in the returned dictionary is **always**
234
- prefixed with line numbers (`line_number | `) for each line. These prefixes
235
- are added by the tool for internal processing and to provide contextual
236
- information to the AI agent (e.g., for accurately applying diffs or for
237
- referencing specific lines). They are **not** part of the actual file content.
238
-
239
- When presenting the file content to a user, the AI agent **MUST** omit these
240
- line number prefixes by default for better readability. They should only
241
- be included if explicitly requested by the user or if the request inherently
242
- requires line number context (e.g., 'show me lines 10-20').
214
+ Reads the content of a single file.
243
215
 
244
- Use this tool to:
245
- - Examine the source code of a file.
246
- - Read configuration files.
247
- - Check the contents of a document.
216
+ Use this tool to inspect the contents of a specific file. You can read the entire file or specify a range of lines. The content returned will include line numbers, which are useful for other tools like `replace_in_file`.
248
217
 
249
218
  Args:
250
- path (str): The path to the file to read.
251
- start_line (int, optional): The 1-based line number to start reading
252
- from. If omitted, reading starts from the beginning of the file.
253
- end_line (int, optional): The 1-based line number to stop reading at
254
- (inclusive). If omitted, reads to the end of the file.
219
+ path (str): The absolute path to the file to read.
220
+ start_line (int, optional): The 1-based line number to start reading from. Defaults to the beginning of the file.
221
+ end_line (int, optional): The 1-based line number to stop reading at (inclusive). Defaults to the end of the file.
255
222
 
256
223
  Returns:
257
- dict[str, Any]: A dictionary containing the file path, the requested content
258
- (always with line numbers), the start and end lines, and the total number
259
- of lines in the file.
260
- Example:
261
- ```
262
- {
263
- "path": "src/main.py",
264
- "content": "1| import os\n2|\n3| print(\"Hello, World!\")",
265
- "start_line": 1,
266
- "end_line": 3,
267
- "total_lines": 3
268
- }
269
- ```
270
- If the file 'src/main.py' contains:
271
- ```
272
- import os
273
-
274
- print("Hello, World!")
275
- ```
276
- The 'content' field in the returned dictionary will be:
277
- `"1| import os\n2|\n3| print(\"Hello, World!\")"`
278
- **IMPORTANT:** The "1|", "2|", "3|" prefixes are NOT part of the
279
- original file. They are for internal agent use.
280
- Raises:
281
- FileNotFoundError: If the specified file does not exist.
224
+ dict[str, Any]: A dictionary containing the file path and its content with line numbers.
225
+ Example: {
226
+ "path": "src/main.py",
227
+ "content": "1| import os\n2|\n3| print(\"Hello, World!\")",
228
+ "start_line": 1,
229
+ "end_line": 3,
230
+ "total_lines": 3
231
+ }
282
232
  """
283
233
 
284
234
  abs_path = os.path.abspath(os.path.expanduser(path))
@@ -318,24 +268,19 @@ def read_from_file(
318
268
  def write_to_file(
319
269
  path: str,
320
270
  content: str,
321
- ) -> dict[str, Any]:
271
+ ) -> str:
322
272
  """
323
- Writes content to a file, completely overwriting it if it exists or
324
- creating it if it doesn't.
273
+ Writes content to a file, creating it or completely overwriting it.
325
274
 
326
- Use this tool to create new files or to overwrite the entire content of
327
- existing files. This is a destructive operation, so be certain of your
328
- actions. Always read the file first to understand its contents before
329
- overwriting it, unless you are creating a new file.
275
+ Use this tool to create a new file or replace an existing file's entire content.
276
+ **WARNING:** This is a destructive operation and will overwrite the file if it exists. Use `replace_in_file` for safer, targeted changes.
330
277
 
331
278
  Args:
332
- path (str): The path to the file to write to.
333
- content (str): The full, complete content to be written to the file.
334
- Do not use partial content or omit any lines.
279
+ path (str): The absolute path of the file to write to.
280
+ content (str): The full content to be written to the file.
335
281
 
336
282
  Returns:
337
- dict[str, Any]: A dictionary indicating success or failure.
338
- Example: {"success": true, "path": "new_file.txt"}
283
+ str: A confirmation message indicating the file was written successfully.
339
284
  """
340
285
  try:
341
286
  abs_path = os.path.abspath(os.path.expanduser(path))
@@ -344,7 +289,7 @@ def write_to_file(
344
289
  if directory and not os.path.exists(directory):
345
290
  os.makedirs(directory, exist_ok=True)
346
291
  write_file(abs_path, content)
347
- return {"success": True, "path": path}
292
+ return f"Successfully wrote to file: {path}"
348
293
  except (OSError, IOError) as e:
349
294
  raise OSError(f"Error writing file {path}: {e}")
350
295
  except Exception as e:
@@ -470,29 +415,19 @@ def replace_in_file(
470
415
  path: str,
471
416
  old_string: str,
472
417
  new_string: str,
473
- ) -> dict[str, Any]:
418
+ ) -> str:
474
419
  """
475
420
  Replaces the first occurrence of a string in a file.
476
421
 
477
- This tool is for making targeted modifications to a file. It is a
478
- single-step operation that is generally safer and more ergonomic than
479
- `write_to_file` for small changes.
480
-
481
- To ensure the replacement is applied correctly and to avoid ambiguity, the
482
- `old_string` parameter should be a unique, multi-line string that includes
483
- context from before and after the code you want to change.
422
+ This tool is for making targeted modifications to a file. It is safer than `write_to_file` for small changes. First, use `read_from_file` to get the exact text block you want to change. Then, use that block as the `old_string`.
484
423
 
485
424
  Args:
486
- path (str): The path of the file to modify.
487
- old_string (str): The exact, verbatim string to search for and replace.
488
- This should be a unique, multi-line block of text.
425
+ path (str): The absolute path of the file to modify.
426
+ old_string (str): The exact, verbatim string to replace. This should be a unique, multi-line block of text copied from the file.
489
427
  new_string (str): The new string that will replace the `old_string`.
490
428
 
491
429
  Returns:
492
- dict[str, Any]: A dictionary indicating the success or failure of the operation.
493
- Raises:
494
- FileNotFoundError: If the specified file does not exist.
495
- ValueError: If the `old_string` is not found in the file.
430
+ str: A confirmation message on success.
496
431
  """
497
432
  abs_path = os.path.abspath(os.path.expanduser(path))
498
433
  if not os.path.exists(abs_path):
@@ -503,7 +438,7 @@ def replace_in_file(
503
438
  raise ValueError(f"old_string not found in file: {path}")
504
439
  new_content = content.replace(old_string, new_string, 1)
505
440
  write_file(abs_path, new_content)
506
- return {"success": True, "path": path}
441
+ return f"Successfully replaced content in {path}"
507
442
  except ValueError as e:
508
443
  raise e
509
444
  except (OSError, IOError) as e:
@@ -17,13 +17,12 @@ def read_long_term_note() -> str:
17
17
 
18
18
  def write_long_term_note(content: str) -> str:
19
19
  """
20
- Writes content to the global long-term note.
21
- The content of this note is intended to be read by the AI Agent in the future.
22
- It should contain global information/preference.
23
- Use this tool proactively when you find information worth noted.
20
+ Writes or overwrites the global long-term note for the user.
21
+
22
+ Use this to remember key user preferences, goals, or facts that should apply to all future conversations (e.g., "The user prefers TypeScript," "The user's favorite color is read"). This note is persistent across all projects.
24
23
 
25
24
  Args:
26
- content: The content to write to the long-term note (overwriting the existing one).
25
+ content: The information to save. This will overwrite the entire note.
27
26
 
28
27
  Returns:
29
28
  A confirmation message.
@@ -53,21 +52,16 @@ def read_contextual_note(path: str | None = None) -> str:
53
52
 
54
53
  def write_contextual_note(content: str, path: str | None = None) -> str:
55
54
  """
56
- Writes a contextual note for a specific path.
57
- The content of this note is intended to be read by the AI Agent in the future.
58
- The content should contain contextual information.
59
-
60
- If no path is provided, it defaults to the current working directory.
55
+ Writes or overwrites a note for a specific file or directory.
61
56
 
62
- Use this tool proactively when you find information worth noted.
57
+ Use this to save your findings, summaries, or conclusions about a specific part of the project. This note will be available in the future when you are working within that same context.
63
58
 
64
59
  Args:
65
- content: The new content of the note (overwriting the existing one).
66
- path: The file or directory path to associate the note with.
67
- Defaults to the current working directory.
60
+ content: The information to save about the path. This overwrites any existing note for this path.
61
+ path (str, optional): The absolute file or directory path to associate the note with. Defaults to the current working directory.
68
62
 
69
63
  Returns:
70
- A confirmation message indicating where the note was saved.
64
+ A confirmation message.
71
65
  """
72
66
  if path is None:
73
67
  path = os.getcwd()
@@ -233,6 +233,50 @@ def get_system_and_user_prompt(
233
233
  return new_system_prompt, new_user_message
234
234
 
235
235
 
236
+ def _generate_directory_tree(
237
+ dir_path: str,
238
+ max_depth: int = 2,
239
+ ignore_dirs: list[str] | None = None,
240
+ ) -> str:
241
+ """
242
+ Generates a string representation of a directory tree, pure Python.
243
+ """
244
+ if ignore_dirs is None:
245
+ ignore_dirs = [
246
+ ".git",
247
+ ".venv",
248
+ "node_modules",
249
+ "__pycache__",
250
+ ".idea",
251
+ "dist",
252
+ "build",
253
+ ]
254
+ tree_lines = []
255
+
256
+ def recurse(path: str, depth: int, prefix: str):
257
+ if depth > max_depth:
258
+ return
259
+ try:
260
+ entries = sorted(
261
+ [e for e in os.scandir(path) if e.name not in ignore_dirs],
262
+ key=lambda e: e.name,
263
+ )
264
+ except FileNotFoundError:
265
+ return
266
+
267
+ for i, entry in enumerate(entries):
268
+ is_last = i == len(entries) - 1
269
+ connector = "└───" if is_last else "├───"
270
+ tree_lines.append(f"{prefix}{connector}{entry.name}")
271
+ if entry.is_dir():
272
+ new_prefix = prefix + (" " if is_last else "│ ")
273
+ recurse(entry.path, depth + 1, new_prefix)
274
+
275
+ tree_lines.append(os.path.basename(dir_path))
276
+ recurse(dir_path, 1, "")
277
+ return "\n".join(tree_lines)
278
+
279
+
236
280
  def extract_conversation_context(user_message: str) -> tuple[str, str]:
237
281
  modified_user_message = user_message
238
282
  # Match “@” + any non-space/comma sequence that contains at least one “/”
@@ -262,15 +306,19 @@ def extract_conversation_context(user_message: str) -> tuple[str, str]:
262
306
  as_code=True,
263
307
  )
264
308
  )
309
+ current_directory = os.getcwd()
310
+ directory_tree = _generate_directory_tree(current_directory, max_depth=2)
265
311
  conversation_context = "\n".join(
266
312
  [
267
313
  make_prompt_section("Current OS", platform.system()),
268
314
  make_prompt_section("OS Version", platform.version()),
269
315
  make_prompt_section("Python Version", platform.python_version()),
316
+ make_prompt_section(
317
+ "Directory Tree (depth=2)", directory_tree, as_code=True
318
+ ),
270
319
  ]
271
320
  )
272
321
  iso_date = datetime.now(timezone.utc).astimezone().isoformat()
273
- current_directory = os.getcwd()
274
322
  modified_user_message = "\n".join(
275
323
  [
276
324
  make_prompt_section("User Message", modified_user_message),
@@ -120,13 +120,15 @@ def _create_wrapper(
120
120
  ctx, func, args, kwargs
121
121
  )
122
122
  if not approval:
123
- raise ToolExecutionCancelled(f"User disapproving: {reason}")
123
+ raise ToolExecutionCancelled(
124
+ f"Tool execution cancelled. User disapproving: {reason}"
125
+ )
124
126
  result = await run_async(func(*args, **kwargs))
125
127
  if has_ever_edited:
126
128
  return {
127
129
  "tool_call_result": result,
128
130
  "new_tool_parameters": kwargs,
129
- "message": "User has intercepted tool call and updated the parameters",
131
+ "message": "User correction: Tool was called with user's parameters",
130
132
  }
131
133
  return result
132
134
  except KeyboardInterrupt as e:
@@ -243,12 +245,11 @@ def _get_detail_func_param(args: list[Any] | tuple[Any], kwargs: dict[str, Any])
243
245
 
244
246
 
245
247
  def _get_func_param_item(key: str, val: Any) -> str:
246
- upper_key = key.upper()
247
248
  val_str = _get_val_str(val)
248
249
  val_parts = val_str.split("\n")
249
250
  if len(val_parts) == 1:
250
- return f"- {upper_key} `{val}`"
251
- lines = [f"- {upper_key}", " ```"]
251
+ return f"- {key} `{val}`"
252
+ lines = [f"- {key}", " ```"]
252
253
  for val_part in val_parts:
253
254
  lines.append(f" {val_part}")
254
255
  lines.append(" ```")
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes