stoobly-agent 1.2.3__py3-none-any.whl → 1.4.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. stoobly_agent/__init__.py +1 -1
  2. stoobly_agent/app/api/application_http_request_handler.py +3 -3
  3. stoobly_agent/app/api/proxy_controller.py +8 -7
  4. stoobly_agent/app/cli/config_cli.py +1 -1
  5. stoobly_agent/app/cli/helpers/certificate_authority.py +7 -6
  6. stoobly_agent/app/cli/helpers/print_service.py +17 -0
  7. stoobly_agent/app/cli/scaffold/app.py +16 -34
  8. stoobly_agent/app/cli/scaffold/app_command.py +4 -7
  9. stoobly_agent/app/cli/scaffold/app_config.py +15 -2
  10. stoobly_agent/app/cli/scaffold/app_create_command.py +18 -2
  11. stoobly_agent/app/cli/scaffold/command.py +1 -1
  12. stoobly_agent/app/cli/scaffold/constants.py +9 -5
  13. stoobly_agent/app/cli/scaffold/docker/app_builder.py +3 -7
  14. stoobly_agent/app/cli/scaffold/docker/constants.py +0 -1
  15. stoobly_agent/app/cli/scaffold/docker/service/builder.py +12 -11
  16. stoobly_agent/app/cli/scaffold/docker/workflow/builder.py +14 -31
  17. stoobly_agent/app/cli/scaffold/docker/workflow/mock_decorator.py +6 -2
  18. stoobly_agent/app/cli/scaffold/docker/workflow/reverse_proxy_decorator.py +6 -2
  19. stoobly_agent/app/cli/scaffold/hosts_file_manager.py +112 -0
  20. stoobly_agent/app/cli/scaffold/service.py +1 -2
  21. stoobly_agent/app/cli/scaffold/service_command.py +1 -1
  22. stoobly_agent/app/cli/scaffold/service_config.py +10 -14
  23. stoobly_agent/app/cli/scaffold/service_workflow_validate_command.py +9 -11
  24. stoobly_agent/app/cli/scaffold/templates/app/.Dockerfile.context +2 -4
  25. stoobly_agent/app/cli/scaffold/templates/app/.Makefile +108 -68
  26. stoobly_agent/app/cli/scaffold/templates/app/.docker-compose.base.yml +8 -13
  27. stoobly_agent/app/cli/scaffold/templates/app/Makefile +1 -1
  28. stoobly_agent/app/cli/scaffold/templates/app/build/.docker-compose.base.yml +8 -4
  29. stoobly_agent/app/cli/scaffold/templates/app/build/mock/.docker-compose.mock.yml +2 -6
  30. stoobly_agent/app/cli/scaffold/templates/app/build/mock/bin/.configure +3 -0
  31. stoobly_agent/app/cli/scaffold/templates/app/build/mock/bin/.init +3 -0
  32. stoobly_agent/app/cli/scaffold/templates/app/build/record/.docker-compose.record.yml +2 -6
  33. stoobly_agent/app/cli/scaffold/templates/app/build/record/bin/.configure +3 -0
  34. stoobly_agent/app/cli/scaffold/templates/app/build/record/bin/.init +3 -0
  35. stoobly_agent/app/cli/scaffold/templates/app/build/test/.docker-compose.test.yml +2 -6
  36. stoobly_agent/app/cli/scaffold/templates/app/build/test/bin/.configure +3 -0
  37. stoobly_agent/app/cli/scaffold/templates/app/build/test/bin/.init +3 -0
  38. stoobly_agent/app/cli/scaffold/templates/app/entrypoint/.docker-compose.base.yml +2 -0
  39. stoobly_agent/app/cli/scaffold/templates/app/entrypoint/mock/.docker-compose.mock.yml +2 -8
  40. stoobly_agent/app/cli/scaffold/templates/app/entrypoint/record/.docker-compose.record.yml +2 -8
  41. stoobly_agent/app/cli/scaffold/templates/app/entrypoint/test/.docker-compose.test.yml +2 -8
  42. stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/exec/.docker-compose.exec.yml +2 -3
  43. stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/exec/bin/.logs +1 -0
  44. stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/exec/bin/.services +9 -0
  45. stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/mock/.docker-compose.mock.yml +1 -2
  46. stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/record/.docker-compose.record.yml +1 -2
  47. stoobly_agent/app/cli/scaffold/templates/workflow/mock/bin/.configure +3 -0
  48. stoobly_agent/app/cli/scaffold/templates/workflow/mock/bin/.init +7 -1
  49. stoobly_agent/app/cli/scaffold/templates/workflow/record/bin/.configure +3 -0
  50. stoobly_agent/app/cli/scaffold/templates/workflow/record/bin/.init +7 -1
  51. stoobly_agent/app/cli/scaffold/templates/workflow/test/bin/.configure +3 -0
  52. stoobly_agent/app/cli/scaffold/templates/workflow/test/bin/.init +7 -1
  53. stoobly_agent/app/cli/scaffold/validate_command.py +2 -2
  54. stoobly_agent/app/cli/scaffold/workflow.py +5 -4
  55. stoobly_agent/app/cli/scaffold/workflow_command.py +3 -3
  56. stoobly_agent/app/cli/scaffold/workflow_create_command.py +0 -1
  57. stoobly_agent/app/cli/scaffold/workflow_run_command.py +78 -45
  58. stoobly_agent/app/cli/scaffold_cli.py +246 -109
  59. stoobly_agent/app/cli/snapshot_cli.py +7 -3
  60. stoobly_agent/app/models/adapters/joined_request_adapter.py +6 -0
  61. stoobly_agent/app/models/factories/resource/local_db/helpers/scenario_snapshot.py +3 -1
  62. stoobly_agent/app/models/helpers/apply.py +34 -17
  63. stoobly_agent/app/models/helpers/create_request_params_service.py +4 -0
  64. stoobly_agent/app/proxy/handle_mock_service.py +2 -0
  65. stoobly_agent/app/proxy/handle_replay_service.py +2 -0
  66. stoobly_agent/app/proxy/mitmproxy/request_facade.py +1 -1
  67. stoobly_agent/app/proxy/mitmproxy/response_body_facade.py +19 -0
  68. stoobly_agent/app/proxy/mitmproxy/response_facade.py +90 -18
  69. stoobly_agent/app/proxy/record/join_request_service.py +1 -1
  70. stoobly_agent/app/proxy/replay/body_parser_service.py +11 -3
  71. stoobly_agent/app/settings/constants/request_component.py +2 -1
  72. stoobly_agent/config/constants/custom_headers.py +13 -13
  73. stoobly_agent/config/constants/headers.py +0 -2
  74. stoobly_agent/config/data_dir.py +2 -1
  75. stoobly_agent/config/schema.yml +2 -2
  76. stoobly_agent/public/18-es2015.583f191cc7ad512ee262.js +1 -0
  77. stoobly_agent/public/18-es5.583f191cc7ad512ee262.js +1 -0
  78. stoobly_agent/public/35-es2015.8f79ff8748d4ff06ab03.js +1 -0
  79. stoobly_agent/public/35-es5.8f79ff8748d4ff06ab03.js +1 -0
  80. stoobly_agent/public/index.html +1 -1
  81. stoobly_agent/public/main-es2015.2cc16523aa3fcaba51e5.js +1 -0
  82. stoobly_agent/public/main-es5.2cc16523aa3fcaba51e5.js +1 -0
  83. stoobly_agent/public/{runtime-es2015.9addf49b79aca951b7e2.js → runtime-es2015.b914470164e4d6e75d96.js} +1 -1
  84. stoobly_agent/public/{runtime-es5.9addf49b79aca951b7e2.js → runtime-es5.b914470164e4d6e75d96.js} +1 -1
  85. stoobly_agent/test/app/cli/scaffold/cli_invoker.py +1 -2
  86. stoobly_agent/test/app/cli/scaffold/{hosts_file_reader_test.py → hosts_file_manager_test.py} +20 -20
  87. stoobly_agent/test/app/cli/snapshot/snapshot_apply_test.py +162 -1
  88. stoobly_agent/test/app/models/schemas/.stoobly/db/VERSION +1 -1
  89. stoobly_agent/test/mock_data/scaffold/docker-compose-assets-service.yml +1 -3
  90. {stoobly_agent-1.2.3.dist-info → stoobly_agent-1.4.0.dist-info}/METADATA +1 -1
  91. {stoobly_agent-1.2.3.dist-info → stoobly_agent-1.4.0.dist-info}/RECORD +94 -93
  92. stoobly_agent/app/cli/scaffold/hosts_file_reader.py +0 -65
  93. stoobly_agent/app/cli/scaffold/templates/app/.Dockerfile.proxy +0 -34
  94. stoobly_agent/public/18-es2015.d3b430636a4d6f544d92.js +0 -1
  95. stoobly_agent/public/18-es5.d3b430636a4d6f544d92.js +0 -1
  96. stoobly_agent/public/35-es2015.f741ebce0bfc25f0ec99.js +0 -1
  97. stoobly_agent/public/35-es5.f741ebce0bfc25f0ec99.js +0 -1
  98. stoobly_agent/public/main-es2015.ccd46ac1b6638ddf2066.js +0 -1
  99. stoobly_agent/public/main-es5.ccd46ac1b6638ddf2066.js +0 -1
  100. {stoobly_agent-1.2.3.dist-info → stoobly_agent-1.4.0.dist-info}/LICENSE +0 -0
  101. {stoobly_agent-1.2.3.dist-info → stoobly_agent-1.4.0.dist-info}/WHEEL +0 -0
  102. {stoobly_agent-1.2.3.dist-info → stoobly_agent-1.4.0.dist-info}/entry_points.txt +0 -0
@@ -1,11 +1,11 @@
1
- stoobly_agent/__init__.py,sha256=CneMHh5wCk5_3Nri2IBj6xzTJmILmqH9cH5EfHON1QA,44
1
+ stoobly_agent/__init__.py,sha256=Gxrndj7ajhTOnpDStd-1lwXSm8fcRw31xdLLWBS2qqQ,44
2
2
  stoobly_agent/app/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
3
  stoobly_agent/app/api/__init__.py,sha256=ctkB8KR-eXO0SFhj602huHiyvQ3PslFWd8fkcufgrAI,1000
4
- stoobly_agent/app/api/application_http_request_handler.py,sha256=jf4fkqjOiCeI2IM5Ro7ie0v_C6y0-7-5TIE_IKMPOfg,5513
4
+ stoobly_agent/app/api/application_http_request_handler.py,sha256=ZgCfmdr5um-OFAiuRHdBxFqPIeph9WqYkVg-oVQWw-E,5543
5
5
  stoobly_agent/app/api/bodies_controller.py,sha256=TmN82Q7OFjWiIszwUzfYHQqsqCwLLrThXcIfQmNgvTo,2285
6
6
  stoobly_agent/app/api/configs_controller.py,sha256=wkO3_9cexH7BKwm_2KflKEEdxvBFwc9vju_wouUjjBI,4692
7
7
  stoobly_agent/app/api/headers_controller.py,sha256=3o2phGKecxJ--pjiZ6-L7kpVMvr8ZP-P5Mxc-J-o_hg,2781
8
- stoobly_agent/app/api/proxy_controller.py,sha256=Sd-FSbSqQcfPKNwyokgvBIuXpJgy9E_kPb0HahcpkX4,4835
8
+ stoobly_agent/app/api/proxy_controller.py,sha256=XMGk8-5WAdJS1_n5Li0aA7-q_3vDG4Q0pqLq4YVzsDg,5056
9
9
  stoobly_agent/app/api/query_params_controller.py,sha256=y7DMlJgPkACfRoAd2KeCge0Z8Vy9LKDDHj_RnMo28HQ,3640
10
10
  stoobly_agent/app/api/replayed_response_headers_controller.py,sha256=0rdNlw74L5KsQxKJyKUf_lfoxoh82xKkJ7m1Nmz_3sM,1768
11
11
  stoobly_agent/app/api/replayed_responses_controller.py,sha256=bPd8MmS1mT1uuWoJ6uhJQk_dafISDGhH8yIyEjCRCvw,3435
@@ -18,7 +18,7 @@ stoobly_agent/app/api/simple_http_request_handler.py,sha256=ZdJ4kKEcPDpck74dJu--
18
18
  stoobly_agent/app/api/statuses_controller.py,sha256=gQsl28h-3mZ_bByEHpc4mRy3KFvUz5PeAgVB0cPx_Ao,1791
19
19
  stoobly_agent/app/cli/__init__.py,sha256=uS4KJgMAhm0JVnEUC-ONW-Bq6A8I9v7Fk-_Ka7gXlrU,470
20
20
  stoobly_agent/app/cli/ca_cert_cli.py,sha256=QXl01nyCQLhiGr8vozZicui36AlgHU1q_V9c_w_xY-Q,1444
21
- stoobly_agent/app/cli/config_cli.py,sha256=vgik4PwqKdq1cQ4BvmeyXTmh-LQZpe2PUkNIqblzP2E,15658
21
+ stoobly_agent/app/cli/config_cli.py,sha256=Ljr2Ir8P0dhGXALQQcq7fwthrcipPlvxS2G_0bNE6fY,15727
22
22
  stoobly_agent/app/cli/decorators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
23
  stoobly_agent/app/cli/decorators/config.py,sha256=AWrDGZm_gjCWFYlRwdla3iE6H7OSlM4FxkaXRNovBZA,2428
24
24
  stoobly_agent/app/cli/decorators/exec.py,sha256=170tkugOHBb6Pe3AzgDSfoQ1n7ntcah7JVZz-G5cSYU,994
@@ -28,7 +28,7 @@ stoobly_agent/app/cli/feature_cli.py,sha256=d-MUTbK3gbZxZNJUjM43fioZyhPyzetQNKjI
28
28
  stoobly_agent/app/cli/handlers/request_cli_handler.py,sha256=IPToK9OfiDda-mkq8HpiSSqK2m-UR15-8f8LVoLAHTA,6965
29
29
  stoobly_agent/app/cli/handlers/scenario_cli_handler.py,sha256=1KSsfhR1mmPUCmhjzWTjf_L9NcQglLvVK3KURrPt92A,7425
30
30
  stoobly_agent/app/cli/helpers/__init__.py,sha256=26ODsQi5NoJPwq4Ya7_lmtRalhhXOr_jfdZQWGLy6Gc,161
31
- stoobly_agent/app/cli/helpers/certificate_authority.py,sha256=viOVNN6cPFPQk_tHF2pQbW7wto5Prqk_tNjWIidIGuk,7271
31
+ stoobly_agent/app/cli/helpers/certificate_authority.py,sha256=j43f8W0A5lrNOIdB7QJQAVRCDP9ri4SpUZuT4XfI5v0,7374
32
32
  stoobly_agent/app/cli/helpers/context.py,sha256=Jv97ueNnqea5UDm57VOUiQSHKWBeNlCcrq5-qW2tcwQ,1624
33
33
  stoobly_agent/app/cli/helpers/endpoint_facade.py,sha256=_1TR9PcRnqpl9Q4njFHMM_Btqpr6cCf757FFcywa3oU,2318
34
34
  stoobly_agent/app/cli/helpers/endpoints_apply_context.py,sha256=PvUzJLXNKl6wIQj2q8YZK1MAm1yqzDLLlpCYMoyWb9I,1831
@@ -43,7 +43,7 @@ stoobly_agent/app/cli/helpers/handle_test_service.py,sha256=nlso1XXjPKoPayN13FXs
43
43
  stoobly_agent/app/cli/helpers/iterate_group_by.py,sha256=oN9JC58LHLiElQC0M6JdjBAVlqIEwoBmNJuSJyIs-cI,3099
44
44
  stoobly_agent/app/cli/helpers/json_print.py,sha256=E7UOcxtzGCv8_GCsz0Wos1XP5RhhM-ndS5dc0ZKtHtY,735
45
45
  stoobly_agent/app/cli/helpers/openapi_endpoint_adapter.py,sha256=MdQ13yVkK7ygVh6D0WHWQoq6zOoEtCvTjOKEygMBWAk,21909
46
- stoobly_agent/app/cli/helpers/print_service.py,sha256=Z3m-O2aj3oETTm06h_XScgxJAfulTHlEyhOCoE10VG4,4185
46
+ stoobly_agent/app/cli/helpers/print_service.py,sha256=uuh1mjKpS3_Mk8WuIVPp2cmQAevyS6cTPILnqOmzE_s,4619
47
47
  stoobly_agent/app/cli/helpers/project_facade.py,sha256=rThwVur2clCCBcHa-U4_vGynj0miKv78B3uF6ZRmBSQ,1905
48
48
  stoobly_agent/app/cli/helpers/replay_facade.py,sha256=0Saxae9HN-cdwrelJXz89X139M9bz9hY8_9hERgxjB4,3730
49
49
  stoobly_agent/app/cli/helpers/report_facade.py,sha256=LO2SURvjkzqhbGx_Jaei8I-o7eXF7QKq6lWewBkQ9Qc,1056
@@ -67,78 +67,77 @@ stoobly_agent/app/cli/project_cli.py,sha256=EXjeLjbnq9PhfCjvyfZ0UnJ2tejeCS0SIAo3
67
67
  stoobly_agent/app/cli/report_cli.py,sha256=ZxJw0Xkx7KFZJn9e45BSKRKon8AD0Msrwy1fbPfbv0c,2543
68
68
  stoobly_agent/app/cli/request_cli.py,sha256=THNloW111l9MLE0oPg4y7hVXL1U7OXoz760g0A1CtJ0,7747
69
69
  stoobly_agent/app/cli/scaffold/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
70
- stoobly_agent/app/cli/scaffold/app.py,sha256=8YJtx0-PcnnNod31OaSv0K53Xb38pn2eDedj-a7QXCY,3665
71
- stoobly_agent/app/cli/scaffold/app_command.py,sha256=WwOr8QU61iuNXXdG37gOTZ6D0ZawM3eixCOa10TMP8c,2098
72
- stoobly_agent/app/cli/scaffold/app_config.py,sha256=ZAHGovwxFy3zICfusj9_gUC_FBTIoB7KbPbQaGK8x1c,573
73
- stoobly_agent/app/cli/scaffold/app_create_command.py,sha256=5av5txxNJllELMYliIEPnhLLVq_N5ktoBxf8naJUGG0,586
74
- stoobly_agent/app/cli/scaffold/command.py,sha256=klpsgL6V7b2DRHpN33pl-QlmntDkvDO_dsF5JziYnL8,245
70
+ stoobly_agent/app/cli/scaffold/app.py,sha256=umY7kgZb6xvwO1XxAV3zmgjW6xyLnAbKkM7oh4Dk7uk,3441
71
+ stoobly_agent/app/cli/scaffold/app_command.py,sha256=qtOdG08ehdRk1wujiTL7LCQXoJkGpwExepO2qYBXBNA,2027
72
+ stoobly_agent/app/cli/scaffold/app_config.py,sha256=Gs-BynV1vY7_PpTOenn2mqc7lBIu0vBx6as9vtEU1sk,818
73
+ stoobly_agent/app/cli/scaffold/app_create_command.py,sha256=sy4017eiir9MK0TEbTi1NyG9mhOGlenGGVnq0GsGUrQ,966
74
+ stoobly_agent/app/cli/scaffold/command.py,sha256=aoTsdkkBzyu7TkVSMdNQQGk0Gj874jNgFcjR14y3TuM,254
75
75
  stoobly_agent/app/cli/scaffold/config.py,sha256=HZU5tkvr3dkPr4JMXZtrJlu2wxxO-134Em6jReFFcq0,688
76
- stoobly_agent/app/cli/scaffold/constants.py,sha256=KBZj-eQoDmoUOJgcekyfeyi1UB0_UlxqrcWZyXEmBXA,1950
76
+ stoobly_agent/app/cli/scaffold/constants.py,sha256=5NCOjS2bzGT96iNfIbIbCgJf4yTAfSrHkbcieXz12Vs,2064
77
77
  stoobly_agent/app/cli/scaffold/docker/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
78
- stoobly_agent/app/cli/scaffold/docker/app_builder.py,sha256=IsXZFUumWEBA8NYDFdAohuKmxocoqHqlVFg0-E92QLI,621
78
+ stoobly_agent/app/cli/scaffold/docker/app_builder.py,sha256=7z5pk5JKlRDHx2USxY-WurttLyyUkIVYfl34_u1x9dE,501
79
79
  stoobly_agent/app/cli/scaffold/docker/builder.py,sha256=OE7r8vEdEkW3vwpmIctePiO0S5jvao5zMJNpxc-Yayw,2851
80
- stoobly_agent/app/cli/scaffold/docker/constants.py,sha256=fGHH_DlGd4mTogggJLHLigUscZmBrigkNmDwKQq6src,461
80
+ stoobly_agent/app/cli/scaffold/docker/constants.py,sha256=fGnuo0ULYJa4CT3A4nPB7hZq8nFpdoCOSvrdJegdjMg,422
81
81
  stoobly_agent/app/cli/scaffold/docker/service/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
82
82
  stoobly_agent/app/cli/scaffold/docker/service/build_decorator.py,sha256=ZU7z4bkvdS3OK5O4fJhlA9_PNwnFtZW6t7vNF7V5obQ,1003
83
- stoobly_agent/app/cli/scaffold/docker/service/builder.py,sha256=vj7Vm7eK8E8DPtD4o5X0IJA4HPdgtA2lV2wm3nGTa1c,3207
83
+ stoobly_agent/app/cli/scaffold/docker/service/builder.py,sha256=a7jxzXEwHaNcnG281BrOtNlf5Nmc4Z97DQrm68xdCCU,3219
84
84
  stoobly_agent/app/cli/scaffold/docker/service/set_gateway_ports.py,sha256=MH71h24nX5lAd6xNfSjjNyw6PjBsAXv-3kOFEe86huk,1417
85
85
  stoobly_agent/app/cli/scaffold/docker/service/types.py,sha256=qB-yYHlu-PZDc0HYgTUvE5bWNpHxaSThC3JUG8okR1k,88
86
86
  stoobly_agent/app/cli/scaffold/docker/workflow/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
87
87
  stoobly_agent/app/cli/scaffold/docker/workflow/build_decorator.py,sha256=vbmME0cbN2EnNRlzQ2umj7Y3L7aZT-EHqEpkBFMfe8U,758
88
- stoobly_agent/app/cli/scaffold/docker/workflow/builder.py,sha256=bnKOqqoKEYzmJkIJwDoNz60doE-nf1GlDC9BqciUtkg,7107
88
+ stoobly_agent/app/cli/scaffold/docker/workflow/builder.py,sha256=G9zyw_jS0HEHtzl0EvoDQ9MlpTavlyWz0xFpgEZoyVc,6844
89
89
  stoobly_agent/app/cli/scaffold/docker/workflow/decorators_factory.py,sha256=oi0Hkii2W9338IeG7BG2medQxqZUbBp71Cvj-qDunII,987
90
90
  stoobly_agent/app/cli/scaffold/docker/workflow/development_decorator.py,sha256=cs00Cc2DuOYrGD8W9849PjHz6k2xyx0fSizqJlM7yR8,946
91
- stoobly_agent/app/cli/scaffold/docker/workflow/mock_decorator.py,sha256=D8PgYULERvWLaW1Vn3qspRTuNBoicuP2M1EZnQyvD_M,1080
92
- stoobly_agent/app/cli/scaffold/docker/workflow/reverse_proxy_decorator.py,sha256=C7cHNmnqgvDCZh2gor1LvNicOL02_3L2bVx_DWIH2aA,1687
91
+ stoobly_agent/app/cli/scaffold/docker/workflow/mock_decorator.py,sha256=V9y4RIyEIT8SiGm3U9OcmU1dr22wqpbSbGO_Z2EMYEI,1197
92
+ stoobly_agent/app/cli/scaffold/docker/workflow/reverse_proxy_decorator.py,sha256=s1l99Y-2h-sSLVtPhcgaa1YRTbSvb6QdgaUeBLHYc4w,1804
93
93
  stoobly_agent/app/cli/scaffold/env.py,sha256=e-Ve4p3RUgzFx22B3SIYttvJ_yLuDtA27oDACZ8n-6E,1140
94
- stoobly_agent/app/cli/scaffold/hosts_file_reader.py,sha256=gYkkrOlY7QG2JNsET6DKq4djrQAH0UGJtTkF7UwYT5o,1748
94
+ stoobly_agent/app/cli/scaffold/hosts_file_manager.py,sha256=rr1RjO4920kmuhyvdPnLPY8WbQqk7qKZu_UCnSR0yaI,3421
95
95
  stoobly_agent/app/cli/scaffold/managed_services_docker_compose.py,sha256=-wLBXUi7DCWsfm5KzZzd_kdJKOTl1NT924XR7dyjbSY,574
96
- stoobly_agent/app/cli/scaffold/service.py,sha256=HzYTiQGfReYXEY0Iv4YjGpu5fjCicV61Wst4khmmURs,504
97
- stoobly_agent/app/cli/scaffold/service_command.py,sha256=xqifA0PM9xpXK3TiilplmIrJNR7VG7BO0HrLh74yyZw,1058
98
- stoobly_agent/app/cli/scaffold/service_config.py,sha256=XFwTgf1JTfVVWmVyGTIadtfxSoPaoUV-70l3lAtSCzU,3485
96
+ stoobly_agent/app/cli/scaffold/service.py,sha256=L9K6QE0k5KSEC8_fSwtdwwTSO_DsIpqSPW-AG7Bg76o,501
97
+ stoobly_agent/app/cli/scaffold/service_command.py,sha256=9kIKiFC5Jo425VWYD4NDvUOdMP-pNyq2D5Ip1ZAPj3A,1054
98
+ stoobly_agent/app/cli/scaffold/service_config.py,sha256=SRtBxdLLa4omAd0JaXsPoyAUu9_PdJ4aVxZOiFMMH8o,3275
99
99
  stoobly_agent/app/cli/scaffold/service_create_command.py,sha256=bmLGgx9qnh-X_i2_XfdWSQIer0gGkaQx6lXZSIzy-LI,2793
100
100
  stoobly_agent/app/cli/scaffold/service_delete_command.py,sha256=_nBDQjm8eL62MQpzSCxgUHlW04ZXKG8MDlN1BXxlqww,986
101
101
  stoobly_agent/app/cli/scaffold/service_docker_compose.py,sha256=OMUN1-ujQYIZXxDvS4XBf5C9wGalQULkwOiBBQPZbHY,820
102
102
  stoobly_agent/app/cli/scaffold/service_workflow.py,sha256=sQ_Edy_wGHKMXpD0DmhnOWkGEKz7gSgEGNI8f7aXOdg,444
103
- stoobly_agent/app/cli/scaffold/service_workflow_validate_command.py,sha256=z7Z_vS2dTpYuRMRd7esnXWpc_drWSX1hiojJgieHunw,10089
103
+ stoobly_agent/app/cli/scaffold/service_workflow_validate_command.py,sha256=hF3c6cFRaKH01BfwdrCJdX8SEbsfD5CCG8W_yZU4FK4,9948
104
104
  stoobly_agent/app/cli/scaffold/templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
105
- stoobly_agent/app/cli/scaffold/templates/app/.Dockerfile.context,sha256=a4PUVIJ_0CEIwUTCEhvtiGJSnu--AWFE1lKv-8q17fU,193
106
- stoobly_agent/app/cli/scaffold/templates/app/.Dockerfile.proxy,sha256=L0yDlJfPD775NM-HgPx4E5-r-AflVBGfBf5DYl1nfME,1027
107
- stoobly_agent/app/cli/scaffold/templates/app/.Makefile,sha256=fRazlUstXloCAtH1fmB5LAPlGclMflAYr7wtSbn16AI,5601
108
- stoobly_agent/app/cli/scaffold/templates/app/.docker-compose.base.yml,sha256=LNNuygX6hMtmElxaO6jTIYq3psYmxNv7xax7ra6JzO4,407
109
- stoobly_agent/app/cli/scaffold/templates/app/Makefile,sha256=t7xRaCc9q3k7W34S0h9KX02GljSVwGpPnFmiLUvWxsw,80
105
+ stoobly_agent/app/cli/scaffold/templates/app/.Dockerfile.context,sha256=PRNYTWYYcLfcyrZ5h5u2I7dAJdeFmmxRFpAj_8243Bw,158
106
+ stoobly_agent/app/cli/scaffold/templates/app/.Makefile,sha256=Ksv3AHFbeImm2vVfjzxAF4JWEnl_YmQCR-UxxM-l2Pg,7594
107
+ stoobly_agent/app/cli/scaffold/templates/app/.docker-compose.base.yml,sha256=YblNDTUPndYNxupgZ3X8RP6NS4c0u_QwLklyWrpq_qs,295
108
+ stoobly_agent/app/cli/scaffold/templates/app/Makefile,sha256=TEmPG7Bf0KZOnmfsgdzza3UdwcVMmM5Lj1YdLc4cgjA,79
110
109
  stoobly_agent/app/cli/scaffold/templates/app/build/.config.yml,sha256=8Wt8ZZ5irvBYYS44xGrR_EWlZDuXH9kyWmquzsh7s8g,19
111
- stoobly_agent/app/cli/scaffold/templates/app/build/.docker-compose.base.yml,sha256=WI1tE97QDXif1qGCyFbKWNw_2VhNvbBTT2mtwW6C-RI,270
112
- stoobly_agent/app/cli/scaffold/templates/app/build/mock/.docker-compose.mock.yml,sha256=LbgM8RMZ3etcbekprBlIC15xXKEA0dd7etdmJFY7WZc,500
113
- stoobly_agent/app/cli/scaffold/templates/app/build/mock/bin/.configure,sha256=De8WWkYy2SfTcfqbhETp1MXLJooX2w-QqmsnBfyoODQ,77
114
- stoobly_agent/app/cli/scaffold/templates/app/build/mock/bin/.init,sha256=tL9PFDOsfQPY09VXADcCXNjzQvf5d0r6zWUKAj-UyKw,74
110
+ stoobly_agent/app/cli/scaffold/templates/app/build/.docker-compose.base.yml,sha256=H43dtzQkuwWeeB-XzwQNqdKqwS04Ph_Al8AVCOjxCkQ,420
111
+ stoobly_agent/app/cli/scaffold/templates/app/build/mock/.docker-compose.mock.yml,sha256=3DJ8LTq3QScaz0SA_tXQqJ0kljSCeqkPyDbhLOxBJvc,414
112
+ stoobly_agent/app/cli/scaffold/templates/app/build/mock/bin/.configure,sha256=dix1ZVrqllsX6eYmQz7Jwslu-F3nA__IKmtRxb_KGSo,185
113
+ stoobly_agent/app/cli/scaffold/templates/app/build/mock/bin/.init,sha256=4PElJS6sdbdDftf0R2An5bJ8mdOL6MnW5OasEbzh2S4,182
115
114
  stoobly_agent/app/cli/scaffold/templates/app/build/mock/bin/configure,sha256=Nme7aSLA-IH1NXgmqRMPzOlKcUSRXqZd-kcuZa47IEk,11
116
115
  stoobly_agent/app/cli/scaffold/templates/app/build/mock/bin/init,sha256=O7czui9GFHbcoEC5I9MwkRyZvDGY42IwlyQwIWcgylY,12
117
- stoobly_agent/app/cli/scaffold/templates/app/build/record/.docker-compose.record.yml,sha256=wOsN2rzyboQz2EOXATjK_pK4_NU6BrNNm7DwjC9pgdA,504
118
- stoobly_agent/app/cli/scaffold/templates/app/build/record/bin/.configure,sha256=De8WWkYy2SfTcfqbhETp1MXLJooX2w-QqmsnBfyoODQ,77
119
- stoobly_agent/app/cli/scaffold/templates/app/build/record/bin/.init,sha256=tL9PFDOsfQPY09VXADcCXNjzQvf5d0r6zWUKAj-UyKw,74
116
+ stoobly_agent/app/cli/scaffold/templates/app/build/record/.docker-compose.record.yml,sha256=hgPOxIInxGAzGr28-ytB4tVfmsqgpZdPMOpMRbV2R0g,418
117
+ stoobly_agent/app/cli/scaffold/templates/app/build/record/bin/.configure,sha256=dix1ZVrqllsX6eYmQz7Jwslu-F3nA__IKmtRxb_KGSo,185
118
+ stoobly_agent/app/cli/scaffold/templates/app/build/record/bin/.init,sha256=4PElJS6sdbdDftf0R2An5bJ8mdOL6MnW5OasEbzh2S4,182
120
119
  stoobly_agent/app/cli/scaffold/templates/app/build/record/bin/configure,sha256=Nme7aSLA-IH1NXgmqRMPzOlKcUSRXqZd-kcuZa47IEk,11
121
120
  stoobly_agent/app/cli/scaffold/templates/app/build/record/bin/init,sha256=O7czui9GFHbcoEC5I9MwkRyZvDGY42IwlyQwIWcgylY,12
122
- stoobly_agent/app/cli/scaffold/templates/app/build/test/.docker-compose.test.yml,sha256=UhR0B0Ghs8dxUdOEcnmtKI--sNN9CIQXxpvC87YAc6c,500
123
- stoobly_agent/app/cli/scaffold/templates/app/build/test/bin/.configure,sha256=De8WWkYy2SfTcfqbhETp1MXLJooX2w-QqmsnBfyoODQ,77
124
- stoobly_agent/app/cli/scaffold/templates/app/build/test/bin/.init,sha256=tL9PFDOsfQPY09VXADcCXNjzQvf5d0r6zWUKAj-UyKw,74
121
+ stoobly_agent/app/cli/scaffold/templates/app/build/test/.docker-compose.test.yml,sha256=Rn_7qL1MVK1jNlRepSvNHH9_iFrlE86_aRxjwIim0mY,414
122
+ stoobly_agent/app/cli/scaffold/templates/app/build/test/bin/.configure,sha256=dix1ZVrqllsX6eYmQz7Jwslu-F3nA__IKmtRxb_KGSo,185
123
+ stoobly_agent/app/cli/scaffold/templates/app/build/test/bin/.init,sha256=4PElJS6sdbdDftf0R2An5bJ8mdOL6MnW5OasEbzh2S4,182
125
124
  stoobly_agent/app/cli/scaffold/templates/app/build/test/bin/configure,sha256=Nme7aSLA-IH1NXgmqRMPzOlKcUSRXqZd-kcuZa47IEk,11
126
125
  stoobly_agent/app/cli/scaffold/templates/app/build/test/bin/init,sha256=O7czui9GFHbcoEC5I9MwkRyZvDGY42IwlyQwIWcgylY,12
127
126
  stoobly_agent/app/cli/scaffold/templates/app/entrypoint/.config.yml,sha256=T9VQz6OwAQpKdIoFrnfKAxuX_to0c6EhuWRLKM34Sr4,22
128
- stoobly_agent/app/cli/scaffold/templates/app/entrypoint/.docker-compose.base.yml,sha256=ZekJ2lHjnPPI7hV44x3_2JzJFbn2iao9ZLWCgENfTOo,341
129
- stoobly_agent/app/cli/scaffold/templates/app/entrypoint/mock/.docker-compose.mock.yml,sha256=cxAJ7CrI3AeuzQs9qw3fDSHTfYTQ1Bw_0egfy_FYRJ8,684
127
+ stoobly_agent/app/cli/scaffold/templates/app/entrypoint/.docker-compose.base.yml,sha256=IHLz4eJyZDfQdKd8HG218Zc3egtOCK1IR8vfkMNJ0Ug,491
128
+ stoobly_agent/app/cli/scaffold/templates/app/entrypoint/mock/.docker-compose.mock.yml,sha256=-YbHd6BrAlBpT8PYg8kOsq0GyDeZ3g_q8IB0B0rGluU,551
130
129
  stoobly_agent/app/cli/scaffold/templates/app/entrypoint/mock/bin/.configure,sha256=XuPxv-MprVjmv3S6WbJy9WsC3wizlx8TkFvNNhGyEJ8,254
131
130
  stoobly_agent/app/cli/scaffold/templates/app/entrypoint/mock/bin/.init,sha256=5xJbfpwGOmRj5lwK5e0JNlVpNd3WFUkZ0GaCUK40aDk,97
132
131
  stoobly_agent/app/cli/scaffold/templates/app/entrypoint/mock/bin/configure,sha256=Nme7aSLA-IH1NXgmqRMPzOlKcUSRXqZd-kcuZa47IEk,11
133
132
  stoobly_agent/app/cli/scaffold/templates/app/entrypoint/mock/bin/init,sha256=O7czui9GFHbcoEC5I9MwkRyZvDGY42IwlyQwIWcgylY,12
134
133
  stoobly_agent/app/cli/scaffold/templates/app/entrypoint/mock/docker-compose.yml,sha256=Zh8h8yUqVXZMi_Y4aUPE48qw2DU-ONO4-rrSTh4E_Ts,591
135
- stoobly_agent/app/cli/scaffold/templates/app/entrypoint/record/.docker-compose.record.yml,sha256=g_tkKEPhwUyg5QbXNBT_bo3CFw9qdhaQyWirMJDS9tc,688
134
+ stoobly_agent/app/cli/scaffold/templates/app/entrypoint/record/.docker-compose.record.yml,sha256=aIcgjelss4V86lxS3-xN8j_2eR-0YkzhtN_b-g3Y0nE,555
136
135
  stoobly_agent/app/cli/scaffold/templates/app/entrypoint/record/bin/.configure,sha256=Jp7ozDgj0x9D8PYS8CMhGNs4VfwJhVwBqzss8ygbLJU,258
137
136
  stoobly_agent/app/cli/scaffold/templates/app/entrypoint/record/bin/.init,sha256=5xJbfpwGOmRj5lwK5e0JNlVpNd3WFUkZ0GaCUK40aDk,97
138
137
  stoobly_agent/app/cli/scaffold/templates/app/entrypoint/record/bin/configure,sha256=Nme7aSLA-IH1NXgmqRMPzOlKcUSRXqZd-kcuZa47IEk,11
139
138
  stoobly_agent/app/cli/scaffold/templates/app/entrypoint/record/bin/init,sha256=O7czui9GFHbcoEC5I9MwkRyZvDGY42IwlyQwIWcgylY,12
140
139
  stoobly_agent/app/cli/scaffold/templates/app/entrypoint/record/docker-compose.yml,sha256=5n4bZBHI9MtwBF55ugu1RTdwMy7T6SsYGQ_3sulFUj8,595
141
- stoobly_agent/app/cli/scaffold/templates/app/entrypoint/test/.docker-compose.test.yml,sha256=ifPMJHPbAf6hI4vS1BWuzPOOt5SCaxHFnWA5BVnM9RY,685
140
+ stoobly_agent/app/cli/scaffold/templates/app/entrypoint/test/.docker-compose.test.yml,sha256=9-qPnSisun4adnrDcZsJiyeMjhIlCHBJap_cmdzUPVg,552
142
141
  stoobly_agent/app/cli/scaffold/templates/app/entrypoint/test/bin/.configure,sha256=XuPxv-MprVjmv3S6WbJy9WsC3wizlx8TkFvNNhGyEJ8,254
143
142
  stoobly_agent/app/cli/scaffold/templates/app/entrypoint/test/bin/.init,sha256=5xJbfpwGOmRj5lwK5e0JNlVpNd3WFUkZ0GaCUK40aDk,97
144
143
  stoobly_agent/app/cli/scaffold/templates/app/entrypoint/test/bin/configure,sha256=Nme7aSLA-IH1NXgmqRMPzOlKcUSRXqZd-kcuZa47IEk,11
@@ -150,54 +149,55 @@ stoobly_agent/app/cli/scaffold/templates/app/gateway/mock/.docker-compose.mock.y
150
149
  stoobly_agent/app/cli/scaffold/templates/app/gateway/record/.docker-compose.record.yml,sha256=4pwMuBdfaf9hX1RVJ3KU3FY4E5BXYSPFsfUGKmiuXPk,234
151
150
  stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/.config.yml,sha256=XnLQZMzzMMIwVycjyPN5QXsmRztkTFAna1kIHYuDfJQ,19
152
151
  stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/.docker-compose.base.yml,sha256=GO3dIJ1WlazBDik_PDo1YvrSXcqeT5MMJjbb_iBdH6g,106
153
- stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/exec/.docker-compose.exec.yml,sha256=rPc88-E1xoRwaqEVGVuTfOe7BcKCdDtatVqhNNIrhN8,299
152
+ stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/exec/.docker-compose.exec.yml,sha256=n-p_lIfsmpOJ78Zd0J2TdnV2M8hcn-K2TP9qOccbw1c,306
154
153
  stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/exec/bin/.create,sha256=EZe84bLAKB-mrB9PGMx-amyMjp6x-ESUZKC8wxrWdLE,245
155
154
  stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/exec/bin/.delete,sha256=RspRDQ7WT5jpN2o-6qXOlH-A2VpN4981pD4ZJljk9Rw,260
156
155
  stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/exec/bin/.disable,sha256=xVf4Pk1RLvJm7Ff0rbGoWhYHPv0ME5e93fxS2yFqLnE,45
157
156
  stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/exec/bin/.down,sha256=3xROM9J45s2C-qWZ5_IW23AU9U8YyNXI2ka_xGYNHeQ,232
158
157
  stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/exec/bin/.enable,sha256=sfUSPG4uHdXX95BLgivXQYLbsLBP2DjJIiSTXRtvXuY,188
159
158
  stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/exec/bin/.list,sha256=BdX3ARC-Piuwk0vFzBrcxEwtHjdFncpORzqP-hP4IwE,84
160
- stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/exec/bin/.logs,sha256=2F1_IVU6Whj6bVXz7WcwSQKKQFO0HyBK22BdoSCUjbQ,187
159
+ stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/exec/bin/.logs,sha256=k-2a3p6LL8QOnU6o240g6an8tVhJeztR3ZsNoI5G2wc,211
161
160
  stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/exec/bin/.mkcert,sha256=vyHaXmvy-7oL2RD8rIxwT-fdJS5kXmB0yHK5fRMo_cM,46
162
161
  stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/exec/bin/.reset,sha256=_pvbLk-ektsCHEh_egDtd6c0sVqCPunwUWggarfoli0,238
162
+ stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/exec/bin/.services,sha256=sAbaKzBxNDXimyUNinB_a2Kt47vUCa0Kd3Z1QAp2GrU,161
163
163
  stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/exec/bin/.snapshot,sha256=Kav1QNhKG7f0DBzc4-9dmxZMmmVTxmPqakT_W4kVYKk,241
164
164
  stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/exec/bin/.up,sha256=MZbIZpLlKpn-8jMFIFeIw6lfd8mc8A8GMONP-UOYwMI,267
165
- stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/mock/.docker-compose.mock.yml,sha256=Ba-jNMZUcq62kK_hLpaN7dkEwz3_ZS91aJOOJ8U3Ark,257
166
- stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/record/.docker-compose.record.yml,sha256=cbK8vJUnk8llJ6pIE65AxJxD6SSal2ugm5sKjtz3uRY,260
165
+ stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/mock/.docker-compose.mock.yml,sha256=FnCn64DjxyAiB2P_1JUwFmXslMR961nVZHkYiEXytlg,232
166
+ stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/record/.docker-compose.record.yml,sha256=t34FNYZboJSfrKnIB2oJ3UuE_mJaW77-hcbSn3sfWec,235
167
167
  stoobly_agent/app/cli/scaffold/templates/constants.py,sha256=TjuWAZuAbWxS1hZR4jViF1LTBzT8iKLIJE65AvWRKNI,1460
168
168
  stoobly_agent/app/cli/scaffold/templates/factory.py,sha256=zzDMi56w-BWOUOw0DDGgmvrWep_JSqRjp-jQemfQwOo,1759
169
- stoobly_agent/app/cli/scaffold/templates/workflow/mock/bin/.configure,sha256=0-fhtg7ZPAEWXqsgFk-W-qvqkHwrSTSI_LNyDMrDytY,102
170
- stoobly_agent/app/cli/scaffold/templates/workflow/mock/bin/.init,sha256=5xJbfpwGOmRj5lwK5e0JNlVpNd3WFUkZ0GaCUK40aDk,97
169
+ stoobly_agent/app/cli/scaffold/templates/workflow/mock/bin/.configure,sha256=z135hJDmBWYOhZbjuzC8-C6a0VtQ9NPx5mfCpVZliEA,210
170
+ stoobly_agent/app/cli/scaffold/templates/workflow/mock/bin/.init,sha256=Qwkc9ckplXTmGDdcYm9g_0zOa7WAvOjruGAtaf1U7eU,328
171
171
  stoobly_agent/app/cli/scaffold/templates/workflow/mock/bin/configure,sha256=BgZGK2dQz46wD9wKpUgkXXQhfL6WIMEMrnAp9_AmT5c,460
172
172
  stoobly_agent/app/cli/scaffold/templates/workflow/mock/bin/init,sha256=YxWVVQMEdGarcMtBcE1Sj2kdLgUgwY9kXp3MjPsVcmg,46
173
173
  stoobly_agent/app/cli/scaffold/templates/workflow/mock/fixtures/.keep,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
174
174
  stoobly_agent/app/cli/scaffold/templates/workflow/mock/fixtures.yml,sha256=8DW2LN5WYg1hxmZkqr8o5dxLgDxHtBARFSUiNjz009Y,226
175
175
  stoobly_agent/app/cli/scaffold/templates/workflow/mock/lifecycle_hooks.py,sha256=U7mlzT_wBR3uhHSG6CAyt5tBUNAvdIrCw33gdB-F294,467
176
- stoobly_agent/app/cli/scaffold/templates/workflow/record/bin/.configure,sha256=0-fhtg7ZPAEWXqsgFk-W-qvqkHwrSTSI_LNyDMrDytY,102
177
- stoobly_agent/app/cli/scaffold/templates/workflow/record/bin/.init,sha256=5xJbfpwGOmRj5lwK5e0JNlVpNd3WFUkZ0GaCUK40aDk,97
176
+ stoobly_agent/app/cli/scaffold/templates/workflow/record/bin/.configure,sha256=z135hJDmBWYOhZbjuzC8-C6a0VtQ9NPx5mfCpVZliEA,210
177
+ stoobly_agent/app/cli/scaffold/templates/workflow/record/bin/.init,sha256=GekadmBjLyAxgTJbCA_NKgUXRwKFs8iX4qtV5YlvUXk,329
178
178
  stoobly_agent/app/cli/scaffold/templates/workflow/record/bin/configure,sha256=qBYEj_7kvYqf7wmRLPhX9y_cx2Msmn1VcDrq02hWT4w,744
179
179
  stoobly_agent/app/cli/scaffold/templates/workflow/record/bin/init,sha256=YxWVVQMEdGarcMtBcE1Sj2kdLgUgwY9kXp3MjPsVcmg,46
180
180
  stoobly_agent/app/cli/scaffold/templates/workflow/record/lifecycle_hooks.py,sha256=4vaVc_gnDTCLEqtcZybIk5dcmXrKmGuesF6gc3-_kX8,473
181
- stoobly_agent/app/cli/scaffold/templates/workflow/test/bin/.configure,sha256=0-fhtg7ZPAEWXqsgFk-W-qvqkHwrSTSI_LNyDMrDytY,102
182
- stoobly_agent/app/cli/scaffold/templates/workflow/test/bin/.init,sha256=5xJbfpwGOmRj5lwK5e0JNlVpNd3WFUkZ0GaCUK40aDk,97
181
+ stoobly_agent/app/cli/scaffold/templates/workflow/test/bin/.configure,sha256=z135hJDmBWYOhZbjuzC8-C6a0VtQ9NPx5mfCpVZliEA,210
182
+ stoobly_agent/app/cli/scaffold/templates/workflow/test/bin/.init,sha256=Qwkc9ckplXTmGDdcYm9g_0zOa7WAvOjruGAtaf1U7eU,328
183
183
  stoobly_agent/app/cli/scaffold/templates/workflow/test/bin/configure,sha256=ItenTr7B0h5h6I_ThE11X_al7HgsKbskJpU4dXt3X-g,454
184
184
  stoobly_agent/app/cli/scaffold/templates/workflow/test/bin/init,sha256=YxWVVQMEdGarcMtBcE1Sj2kdLgUgwY9kXp3MjPsVcmg,46
185
185
  stoobly_agent/app/cli/scaffold/templates/workflow/test/fixtures/.keep,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
186
186
  stoobly_agent/app/cli/scaffold/templates/workflow/test/fixtures.yml,sha256=8DW2LN5WYg1hxmZkqr8o5dxLgDxHtBARFSUiNjz009Y,226
187
187
  stoobly_agent/app/cli/scaffold/templates/workflow/test/lifecycle_hooks.py,sha256=U7mlzT_wBR3uhHSG6CAyt5tBUNAvdIrCw33gdB-F294,467
188
- stoobly_agent/app/cli/scaffold/validate_command.py,sha256=Rc_z632OSZLPyA4FuhNGz6oGxKKNxaQbE4CRkPcJYdo,2362
188
+ stoobly_agent/app/cli/scaffold/validate_command.py,sha256=OjAbX-YNx165od6HCwKmgdyF3upNdyQsL_vXTsOK2mo,2426
189
189
  stoobly_agent/app/cli/scaffold/validate_exceptions.py,sha256=Jtjl4OkbbSRWm0hy7Kf_50zcFh2J324HhNcnwJKH_Oc,54
190
- stoobly_agent/app/cli/scaffold/workflow.py,sha256=_uur4wdlxZh-piZralqPNoggIkVJ9AICiJVOz4KqKQQ,1421
191
- stoobly_agent/app/cli/scaffold/workflow_command.py,sha256=VVb_DVrmQ2o9xpm3DKM37NQjh_tGFZNOJE-vXwQpQ-c,3307
190
+ stoobly_agent/app/cli/scaffold/workflow.py,sha256=KlbWT9CIo9EpZxKU1WVZtmodhxK7CpmLUHPNk4Mh6DA,1570
191
+ stoobly_agent/app/cli/scaffold/workflow_command.py,sha256=NjLxmkAtv-WjcDi9Sa35GLr0PVQXOP2CcecCslC_3-U,3295
192
192
  stoobly_agent/app/cli/scaffold/workflow_copy_command.py,sha256=R9hh5dWVz7vGld7pENAA_a9gW56EkgG2K35nBQYXwyI,1462
193
- stoobly_agent/app/cli/scaffold/workflow_create_command.py,sha256=5xnRYrVb2KlSDARZFjLGGWeURXRu63OHoRLEhO-EAvw,3401
193
+ stoobly_agent/app/cli/scaffold/workflow_create_command.py,sha256=I38eH_alLA4i4Sqw072C38IGTPtPewGdteJNGG1R10o,3384
194
194
  stoobly_agent/app/cli/scaffold/workflow_env.py,sha256=x8V5pJmIiklD3f2q2-qq-CORf4YaXYq_r2JpR2MmSwk,416
195
195
  stoobly_agent/app/cli/scaffold/workflow_log_command.py,sha256=Bke4lMOMxuDUFuAx9nlXHbKgYMO4KAg9ASHvjz4aVWc,1372
196
- stoobly_agent/app/cli/scaffold/workflow_run_command.py,sha256=CJjemLFjcr7YlakTNIAhT71e2Y6z3nWGt9mzxsmJ0-8,8383
196
+ stoobly_agent/app/cli/scaffold/workflow_run_command.py,sha256=DJNyhPrvvZgOwFnPKi5Z3VdrAWfaZW_XbGfgFcnh5QM,9608
197
197
  stoobly_agent/app/cli/scaffold/workflow_validate_command.py,sha256=fhHciJXg_u32Wmh8us8LhgQj8D1SxkBADtuBBF4K0FM,4377
198
- stoobly_agent/app/cli/scaffold_cli.py,sha256=rCSGrw9DQJx2r_M9V2Rm0-MtUCPf8iohT6l6tEzn_u0,20244
198
+ stoobly_agent/app/cli/scaffold_cli.py,sha256=hlpAaPIPEDxKwU1KiKVMln0FhwN3oOnmuJrJwYDDoy8,25586
199
199
  stoobly_agent/app/cli/scenario_cli.py,sha256=3J1EiJOvunkfWrEkOsanw-XrKkOk78ij_GjBlE9p7CE,8229
200
- stoobly_agent/app/cli/snapshot_cli.py,sha256=XNxpTm5z3bnBGNGI3_XZIif0ypN62WqYfDmShL5fXg4,9965
200
+ stoobly_agent/app/cli/snapshot_cli.py,sha256=cpCjxFYBuVwLuq_b2lIUu-5zWqupRlrp4xWgDytirSM,10047
201
201
  stoobly_agent/app/cli/trace_cli.py,sha256=K7E-vx3JUcqEDSWOdIOi_AieKNQz7dBfmRrVvKDkzFI,4605
202
202
  stoobly_agent/app/cli/types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
203
203
  stoobly_agent/app/cli/types/output.py,sha256=2wazv56g5IwLQeJCWfJXXAxTB9Y5WH1cKMHbpjbXNeo,439
@@ -207,7 +207,7 @@ stoobly_agent/app/cli/types/scenario.py,sha256=28WxmOlbm2Bsek1uu7yc4hJGz-d5oHbYA
207
207
  stoobly_agent/app/cli/types/test.py,sha256=1c458B7DFBWsEk5Q1CrZ2CUi84YzEzcs-W4qTcudwAk,714
208
208
  stoobly_agent/app/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
209
209
  stoobly_agent/app/models/adapters/__init__.py,sha256=cEEE--Bvrvk6DAsHx_uPgFhLnZJETP4zSBtWjMqyIKc,233
210
- stoobly_agent/app/models/adapters/joined_request_adapter.py,sha256=iINSDAV2-WlK_Mwty-dO5DNR38-1B9DykyzhGCOFeyg,2308
210
+ stoobly_agent/app/models/adapters/joined_request_adapter.py,sha256=Myp9iukUXRB6dCTjYaNEnRW4AlII3DENsMNsFg-RLFs,2600
211
211
  stoobly_agent/app/models/adapters/mitmproxy/__init__.py,sha256=f14D_0y3_Pz6NpRXQMIwJQiWBGhwKk0Wk_AmlY3twh0,105
212
212
  stoobly_agent/app/models/adapters/mitmproxy/request/__init__.py,sha256=UZeK_-vxQKD02Tuu-YHBtpR92k5mK3XFgwmd99h2VHA,281
213
213
  stoobly_agent/app/models/adapters/mitmproxy/request/python_adapter.py,sha256=lWSppm63oOv7RDmTsUI0EmQkUWlQhRGdjtViBEDU-AA,377
@@ -253,7 +253,7 @@ stoobly_agent/app/models/factories/resource/local_db/helpers/log.py,sha256=4LWxg
253
253
  stoobly_agent/app/models/factories/resource/local_db/helpers/log_event.py,sha256=vYZ-tgl5brQREj2eQ9LPsWfwDIXN45ip6VE1ZZBKc10,3364
254
254
  stoobly_agent/app/models/factories/resource/local_db/helpers/request_builder.py,sha256=PyVvsYmi5bBQ6PsUPxQ4nJM9rhhjGVOTd7ipuc2tMMM,3227
255
255
  stoobly_agent/app/models/factories/resource/local_db/helpers/request_snapshot.py,sha256=TmcUSmUGtp2RglpuzDrjVY7ZVBFgss5aw14IZGxItg0,1847
256
- stoobly_agent/app/models/factories/resource/local_db/helpers/scenario_snapshot.py,sha256=aYkzYo7ZiTx6dfcB7rDEiPkq8kz7BfY7Z0gCUAYQXCc,4647
256
+ stoobly_agent/app/models/factories/resource/local_db/helpers/scenario_snapshot.py,sha256=LWQyhw_LxIzCx4rW5u0_jkJVbXf4myG9ItwJdAhH8Uc,4684
257
257
  stoobly_agent/app/models/factories/resource/local_db/helpers/search.py,sha256=A7KVcmxj9c3CT2rh26YH6khiEPkB_4U1UHhiYelNaws,782
258
258
  stoobly_agent/app/models/factories/resource/local_db/helpers/snapshot.py,sha256=8GNlt33L4zV8yIkkhmb2iLSMYegSiP91HrPyJkE9daE,733
259
259
  stoobly_agent/app/models/factories/resource/local_db/helpers/snapshot_service.py,sha256=fbqh5J5sMj0n_YFQFei2xhXLrSGU9vNmSX_uifA3U3M,1671
@@ -278,8 +278,8 @@ stoobly_agent/app/models/factories/resource/stoobly/request_adapter.py,sha256=Zr
278
278
  stoobly_agent/app/models/factories/resource/stoobly/scenario_adapter.py,sha256=HnM4g5Qdv16QXj8u4JCiJm2Dbw9OhAxmn9e_R8oaHG4,1105
279
279
  stoobly_agent/app/models/header_model.py,sha256=m91upRZr8GfE5um0d5dguUESKigBMWhSyu_X3HFk28Y,1406
280
280
  stoobly_agent/app/models/helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
281
- stoobly_agent/app/models/helpers/apply.py,sha256=6A0RwujWlc62SX-yB0Ae2HtnzevAQym8pf3ewaTiogY,7745
282
- stoobly_agent/app/models/helpers/create_request_params_service.py,sha256=G2Zc0Xgf34T-y_Xz2nSRK1_fTps6y2939bnIajI_iVE,1976
281
+ stoobly_agent/app/models/helpers/apply.py,sha256=3o2XKHjYHaHyqNeC93O3GPuO-UQm2Kdazzu0Q8jDmXE,8283
282
+ stoobly_agent/app/models/helpers/create_request_params_service.py,sha256=_CQD3SNU5nJiWwGHYEEHE1Zil-7u2danVBVnrWE4_h8,2096
283
283
  stoobly_agent/app/models/model.py,sha256=77ZTByQmH5sWBcSrCF3kG_C4muHggcFyH1DWsOhIgvg,1180
284
284
  stoobly_agent/app/models/query_param_model.py,sha256=EBj76phSJ9_45KgP0vIZGbkkG6-tSn_U1fNW_7qLy_4,1455
285
285
  stoobly_agent/app/models/replayed_response_model.py,sha256=YSxDnUJb1XfB4eNK8ygax9ugBD-niZlK5V4C24tDeic,1819
@@ -300,9 +300,9 @@ stoobly_agent/app/proxy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG
300
300
  stoobly_agent/app/proxy/constants/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
301
301
  stoobly_agent/app/proxy/constants/custom_response_codes.py,sha256=1CaApt_6W7GrxvN8_Ozbf_SEodVEQaNZRR2sMYpI0U8,40
302
302
  stoobly_agent/app/proxy/context.py,sha256=XLteUEP8T8aT0hHI_jHDaL2382OaC7QyVwlni5_FS9U,456
303
- stoobly_agent/app/proxy/handle_mock_service.py,sha256=UWEfPyg4nQgrN2LTMleeR7ucM6-RuI2IfzHPP1f05u4,7465
303
+ stoobly_agent/app/proxy/handle_mock_service.py,sha256=jdznZNsg0ZUJhTCNIChxgeHmp7ajFB5EvE5Th752IC4,7563
304
304
  stoobly_agent/app/proxy/handle_record_service.py,sha256=KYygWIvonyS_14XO_bZ-cPVC8tCSbbErciE399o013Y,3346
305
- stoobly_agent/app/proxy/handle_replay_service.py,sha256=zBsDnmibMZtYUoi9y6co6Ou5-JYHVrKiWnsJKHSkKtk,1795
305
+ stoobly_agent/app/proxy/handle_replay_service.py,sha256=_9zeDfvupN8dHugmEHs48gS5_z0Bqfn33HaSAwi8GCc,1835
306
306
  stoobly_agent/app/proxy/handle_test_service.py,sha256=nGoE2m3lfDYVs3_k-_wOXCmmf27vz99pwlsIhMxDu9I,5732
307
307
  stoobly_agent/app/proxy/hot_reload.py,sha256=bcxdN0WM5l7_zY2XYLV2wF7xCpGdZILi4dVsjqAVgig,983
308
308
  stoobly_agent/app/proxy/intercept_handler.py,sha256=Wv5oOfQHatDwnQX9zbIRNgWWAQHgvcPC-GsmBdQNDlc,4338
@@ -311,9 +311,10 @@ stoobly_agent/app/proxy/mitmproxy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeR
311
311
  stoobly_agent/app/proxy/mitmproxy/flow_mock.py,sha256=YxQV3pXIzicvLOCFn7zmnSoAstAmR8fzONYOXAkYbT4,1153
312
312
  stoobly_agent/app/proxy/mitmproxy/request.py,sha256=niy38718CAe4Li4k40GXnWDDmUTCPkXesDZTaC8BeLc,878
313
313
  stoobly_agent/app/proxy/mitmproxy/request_body_facade.py,sha256=kMJ8YH2FKW9qV68QcUbOCLfiGgKrFV5krzt7usGf0as,649
314
- stoobly_agent/app/proxy/mitmproxy/request_facade.py,sha256=9wdxBsGqP8jN7GRRFmVymK4rhHllCvc9RjCI5Eanik0,8416
314
+ stoobly_agent/app/proxy/mitmproxy/request_facade.py,sha256=2BKWykpt5ihfaVDxyg9dy3HDpJcNCCu-4o77ztvUPwU,8417
315
315
  stoobly_agent/app/proxy/mitmproxy/response.py,sha256=BFaJlB1D98EOjrc-kUmunUCTUuiZsPDqq2QgAHDocQI,339
316
- stoobly_agent/app/proxy/mitmproxy/response_facade.py,sha256=NsNH0aW-mMfLcUXB-Wt9wH5cDyw_4ezdddtCWPHr5hQ,1209
316
+ stoobly_agent/app/proxy/mitmproxy/response_body_facade.py,sha256=vIu6cuCSiZDocvnMNyi0Zjf0qsC0enm2Glp671eWnb4,659
317
+ stoobly_agent/app/proxy/mitmproxy/response_facade.py,sha256=bUlCpFIjuHccAMD2TbWRSpz7H6_PUYuz99JSTlc4AfU,4360
317
318
  stoobly_agent/app/proxy/mock/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
318
319
  stoobly_agent/app/proxy/mock/context.py,sha256=vDo5_3WBL73mVFnsmQWvcxvPg5nWtRJbigSrE3zGc-o,794
319
320
  stoobly_agent/app/proxy/mock/custom_not_found_response_builder.py,sha256=Bwy7qsPzcIUw5FTaUGeaOnsTneuCCbGkTJU-wsmN3NE,415
@@ -326,7 +327,7 @@ stoobly_agent/app/proxy/mock/search_endpoint.py,sha256=HDN3tIkPnlgmkt-BbZDz7iwac
326
327
  stoobly_agent/app/proxy/mock/types/__init__.py,sha256=r4Zwqx6V5HHZwrcYWEv6xSXG0nXaN5FqxqCm0d3U-GM,150
327
328
  stoobly_agent/app/proxy/record/__init__.py,sha256=lbW-G6DZ8IrRpRzvgt-1tn2cRuyLT744u9ERIrZ2dFI,233
328
329
  stoobly_agent/app/proxy/record/context.py,sha256=L9tykwoB35hOPHft3IHSPjuJ2v3TSj9SQAJ9E1q-U_4,343
329
- stoobly_agent/app/proxy/record/join_request_service.py,sha256=Cz34NWBHBIRhHGtfdgnuhTYLPfWPWx6R_mSqljPGr7k,1307
330
+ stoobly_agent/app/proxy/record/join_request_service.py,sha256=zDvB2vhM_SpqE3lwuZ6KUjyM_KfbkpLAmJI9dFSXycQ,1318
330
331
  stoobly_agent/app/proxy/record/joined_request.py,sha256=va79Pkz5RWACJn07ipV_FtVmGUzjSlqhfUu_amw9bX8,1553
331
332
  stoobly_agent/app/proxy/record/overwrite_scenario_service.py,sha256=3em2a2ry4MrE30XlAukat-l3L9cu4o13Cxhi6BBUgkc,940
332
333
  stoobly_agent/app/proxy/record/proxy_request.py,sha256=6DqQ2KH7AtfvXg5HNDWwvwgjO7x1QrWDYgJOBMWPKqs,418
@@ -338,7 +339,7 @@ stoobly_agent/app/proxy/record/upload_request_service.py,sha256=J61cGToRrZO9S53b
338
339
  stoobly_agent/app/proxy/replay/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
339
340
  stoobly_agent/app/proxy/replay/alias_context.py,sha256=u_CL64wrLcZiIYWvyOMFlpVcAsigC-8IqrE0iDeRMro,748
340
341
  stoobly_agent/app/proxy/replay/alias_resolver.py,sha256=0t7dISfVoFIa_fOqhUZQr0IbTR3sN3nmGPK3OkM7GSw,3493
341
- stoobly_agent/app/proxy/replay/body_parser_service.py,sha256=ZoWEN9qdo8nMyWSM-YDeqD3YVybYGMk7EuT2qdguJ6I,3621
342
+ stoobly_agent/app/proxy/replay/body_parser_service.py,sha256=rZftmJMDx9TY9JSvJiUPulbT5cvj3FU8GvIxlgjOy4U,3853
342
343
  stoobly_agent/app/proxy/replay/context.py,sha256=_dtU2-OmTVY_zsXRU7gdL9E7zbx9a9jSfkm9_H6vfp0,796
343
344
  stoobly_agent/app/proxy/replay/multipart.py,sha256=LzvBdNgWKy0sRSIzD23uoZbXpV26HSrZJxKhhIv2aMg,2309
344
345
  stoobly_agent/app/proxy/replay/replay_request_service.py,sha256=ZxSD_7DhGgqS-BGUTpVgjLmE5O5qUwv-kOPSu6VEBkA,7045
@@ -382,7 +383,7 @@ stoobly_agent/app/settings/constants/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeu
382
383
  stoobly_agent/app/settings/constants/firewall_action.py,sha256=DszoKKcZ444zqE6p7zl8arUYfUNKy2hysxcQhipjQs0,111
383
384
  stoobly_agent/app/settings/constants/intercept_mode.py,sha256=0ZdREDdhpEulSrEKuTyn2zqQ9o5P4Fg32I-5-q9klcU,127
384
385
  stoobly_agent/app/settings/constants/mode.py,sha256=fNyRc5yYr-cfI4z-4ykEXE1F2JEcmQYQI1Wy78WZQYE,67
385
- stoobly_agent/app/settings/constants/request_component.py,sha256=1LI-pEL2kZrJe_Y_n7Qi33hm81YFE4YG0jKLWsn7Vz0,211
386
+ stoobly_agent/app/settings/constants/request_component.py,sha256=NRiK-BXl52sSOTIPUjZGorSQLY1-uz_h8caVvAqVxTY,264
386
387
  stoobly_agent/app/settings/data_rules.py,sha256=gepg_Nbv648_aYevDb5U1rfjvw2JVpLbybRRaX_Vl0E,2211
387
388
  stoobly_agent/app/settings/data_settings.py,sha256=7xUjrQn1uNCh72FNDcNFzGuM-2e_QOdp3qDXQjW8fCY,703
388
389
  stoobly_agent/app/settings/feature_settings.py,sha256=6Xb7TkQDJLTUjTzmQK1LZ-Xuk3a-LGv6sXEhU1CG5Ls,1089
@@ -408,9 +409,9 @@ stoobly_agent/cli.py,sha256=4WLcWPHWdv5dZEitXtDj6_I5AH5WVvQqE_uDe6bPEno,9906
408
409
  stoobly_agent/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
409
410
  stoobly_agent/config/constants/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
410
411
  stoobly_agent/config/constants/alias_resolve_strategy.py,sha256=_R1tVqFnyGxCraVS5-dhSskaDj_X8-NthsY7i_bEt9M,119
411
- stoobly_agent/config/constants/custom_headers.py,sha256=90qrR2DeaoPQvxCBf_QLVFrD1V4TL8PjO3taiSXxbCI,1181
412
+ stoobly_agent/config/constants/custom_headers.py,sha256=IJZzZN77ZpbTr62EkXatm1r-I1_i4HEErO_LlQZLRU0,1279
412
413
  stoobly_agent/config/constants/env_vars.py,sha256=HAR_ZIdXXbpWQgCDaRR5RtpVyGXCsMLr_Fh8n6S12K0,1344
413
- stoobly_agent/config/constants/headers.py,sha256=fm5FxKroCpNHTaKMjrIO4npNmT-eAUplXt_ix0N5Ruo,223
414
+ stoobly_agent/config/constants/headers.py,sha256=Hfv7R8_NPXAGaMiZPqywGZDnr0qcVUyfenPb4g465rE,169
414
415
  stoobly_agent/config/constants/lifecycle_hooks.py,sha256=aobclZmcND_mUnFKkUgpxgwd5EU3pjgAvB-NFf2dCgE,846
415
416
  stoobly_agent/config/constants/mitmproxy.py,sha256=AhaxRGMb7OC4DBqNvyBP0OVQSByCeA-itefzmMoIS14,116
416
417
  stoobly_agent/config/constants/mock_policy.py,sha256=KrRVPJYRSb0hIH9fjAV9aQ8OsnhnYo9l7dylug62YVg,41
@@ -422,9 +423,9 @@ stoobly_agent/config/constants/statuses.py,sha256=dR88qHHnDR_5ppuKijwc0R24D_fWc6
422
423
  stoobly_agent/config/constants/test_filter.py,sha256=rQ-eMZ8kpq49pqS1PQhaRx59dlRicd-Ag4sjgoXfpY8,109
423
424
  stoobly_agent/config/constants/test_output_level.py,sha256=yrn8cs-lexrK0Ckpc_SX3NhsZPfVhNpmjzjSP62LCro,135
424
425
  stoobly_agent/config/constants/test_strategy.py,sha256=d6-WgKqElB3q_csP-QYFkhR4XvlPGfGdCJ-SBEDEoL4,152
425
- stoobly_agent/config/data_dir.py,sha256=xlNP9b9of0zPSjfDRL_YcmdZ6JJ7DMgqwlXe3dTagqI,7745
426
+ stoobly_agent/config/data_dir.py,sha256=zNp-diJRcW6tl3YHWMcShwJgRIxc8Bq7DJ2WR9hJFIM,7777
426
427
  stoobly_agent/config/mitmproxy.py,sha256=z9L1JSWwQFsn4gMZk8Dcz5mOcUc6dYnW1ZugrYTEttw,1902
427
- stoobly_agent/config/schema.yml,sha256=b4I8utMrUrMSr86UbXgYYxt2-TJynQA9oQtOQ7CM-PE,1963
428
+ stoobly_agent/config/schema.yml,sha256=aLSrTI7c6_K-fGOyoGFUdA2Prx9zQwpF3IC43LvXupo,1993
428
429
  stoobly_agent/config/settings.yml.sample,sha256=muxP1bWrtknVaSgdseFaw23tuwduILNdQTVy7aB519M,404
429
430
  stoobly_agent/config/source_dir.py,sha256=3oYwWmIrid0YsIf91AIUI2itAA3pdPA10eHaC-nmelQ,1146
430
431
  stoobly_agent/db/migrations/2022_03_17_060144_create_requests.py,sha256=UAKfkAi4EhECWneDME3tCH7J3JhN72ImDz6L61PPHPQ,890
@@ -537,8 +538,8 @@ stoobly_agent/public/16-es2015.98fa59c2c96d2caac3c3.js,sha256=UT1Osw9eIQrw_DY78E
537
538
  stoobly_agent/public/16-es5.98fa59c2c96d2caac3c3.js,sha256=PvGoSIj08MWxsyrzxrEEjcVFES8Dxz4oys-7WSvScYc,40776
538
539
  stoobly_agent/public/17-es2015.7f60b56d1fd66d4d5544.js,sha256=JSDKvjqd2vCG2QXnSthxBZWxDiRpAyQh8HbnyQUHsQE,93859
539
540
  stoobly_agent/public/17-es5.7f60b56d1fd66d4d5544.js,sha256=QTLvq9pTwfA4biWhGParTNYqrGJ_Q7PLzTxotH7DO8o,99561
540
- stoobly_agent/public/18-es2015.d3b430636a4d6f544d92.js,sha256=z8zOFCfFqPPK6um8MBthHr3xqugumahcA_mF2iW1zLg,226015
541
- stoobly_agent/public/18-es5.d3b430636a4d6f544d92.js,sha256=J6KgixdRZN6CzVFTOJWX0DVdShcPvnZEsnlauOZ8Vyk,230658
541
+ stoobly_agent/public/18-es2015.583f191cc7ad512ee262.js,sha256=cpF7BZIFd1bun78PQaA-W3TLfB6el3Lsp8Ej_Op7G2o,226056
542
+ stoobly_agent/public/18-es5.583f191cc7ad512ee262.js,sha256=5TJjtnQvtWYJJaczNRwOCsUViN-ZsMuMVHL7bDm03S4,230699
542
543
  stoobly_agent/public/19-es2015.78ec0e9fd228b5104712.js,sha256=_zAPIlDzePQzObhI3ZTJkos1PCpo9oTihpKP32vq8XM,50596
543
544
  stoobly_agent/public/19-es5.78ec0e9fd228b5104712.js,sha256=pW2C1WTXYw2sbGXOf-R8j7erruLi_vgX5NCnr-NRz1c,53473
544
545
  stoobly_agent/public/2-es2015.51eb8544ea9a21f2874c.js,sha256=9mfdispLMBfibZJKNVb8yLQC2oo_k2hl5FCLP9ex8vI,23146
@@ -565,8 +566,8 @@ stoobly_agent/public/33-es2015.da5ba1e5baa164921198.js,sha256=-BNSVIBS3zLv96qWz3
565
566
  stoobly_agent/public/33-es5.da5ba1e5baa164921198.js,sha256=lqUjYoz06ltYD3HGOqLlcY4RbfmwmMGCa9W895duMrY,37364
566
567
  stoobly_agent/public/34-es2015.87acbb95cfb824650157.js,sha256=NcF3df4l4YnokHotYPRDLtbrpavMeZTOm5PweNaAJ7g,96972
567
568
  stoobly_agent/public/34-es5.87acbb95cfb824650157.js,sha256=C851uEe4_kJpsPG5PPeoDnhUW-0uoJTAYvgU2idOJyU,99259
568
- stoobly_agent/public/35-es2015.f741ebce0bfc25f0ec99.js,sha256=mIqbovDr-nc9dDYN4RCJSpSEKE1patWY5laAHILqe7w,187120
569
- stoobly_agent/public/35-es5.f741ebce0bfc25f0ec99.js,sha256=xeZ33gWHr5vY7xeTpirOyyRhxowD3UPwT6M0jbQ8Gxo,191443
569
+ stoobly_agent/public/35-es2015.8f79ff8748d4ff06ab03.js,sha256=feVitSPEn7eRy1H3fu865nAZVvu5aYTiZOjqKEgCCGU,187499
570
+ stoobly_agent/public/35-es5.8f79ff8748d4ff06ab03.js,sha256=7eRs2Ga0lZo7ygFUROdrI5YSsnDlP_TpZkw0XpGtQu4,191822
570
571
  stoobly_agent/public/36-es2015.e3a104020eeec02cb8c4.js,sha256=WQgISJKDEXNXcr9Wv--7iUpw6eC_9wit0IXha4JShls,79154
571
572
  stoobly_agent/public/36-es5.e3a104020eeec02cb8c4.js,sha256=xirhOd1ruj09LsZJoWqt76WZ5so7xUy9s30ZmfVPkQk,81129
572
573
  stoobly_agent/public/37-es2015.3b472e6cf303201bbf2c.js,sha256=FdGpZp-QnsDMKN7FDakZffqK8IXxVVrEECH4w63NWCs,161925
@@ -630,13 +631,13 @@ stoobly_agent/public/assets/img/logo/white.svg,sha256=qUSVIlslmQRkZNQkL6JXhK_rRo
630
631
  stoobly_agent/public/common-es2015.388805227aa99c527fba.js,sha256=VLCjAWJr277Jc0n8V5_4suShUYTflO2KLgGXWjz5fpU,7080
631
632
  stoobly_agent/public/common-es5.388805227aa99c527fba.js,sha256=8DJYZ8fNUrpcb6WCfHgqgnMU3aP0s5lCyskBnLTUeM4,8183
632
633
  stoobly_agent/public/favicon.ico,sha256=duQa4tOX0GPI3u4cEBO5Bt124EWpvymGQDqPfy0LtkM,15086
633
- stoobly_agent/public/index.html,sha256=5xil0tBMINgAxFOP06Zlvs-AVbhShheAZg7hR8zu4NM,11355
634
- stoobly_agent/public/main-es2015.ccd46ac1b6638ddf2066.js,sha256=GRQuPTyh8nBkNvA9o_fRCDpb39HN2OmOQy5vE8-Nobk,1423108
635
- stoobly_agent/public/main-es5.ccd46ac1b6638ddf2066.js,sha256=T_51Ov_gGijj37Oa9B9lWsMrOtsNeNMBW3wu-FMcpvs,1570902
634
+ stoobly_agent/public/index.html,sha256=XysPDBjLlqah-X01KOMgIHFe1X3g3-ibhYvtZJdxOYg,11355
635
+ stoobly_agent/public/main-es2015.2cc16523aa3fcaba51e5.js,sha256=MMBLuCVUJ0eClxKrpoXN8fNFnr_2tz59Tz_KXYOTcRw,1423241
636
+ stoobly_agent/public/main-es5.2cc16523aa3fcaba51e5.js,sha256=uNoPzOM8xmG6O0rmEj-vMCfCLr0WBMs8o9mrJHDGZQs,1571088
636
637
  stoobly_agent/public/polyfills-es2015.8ce2adc69f283f6c4c5e.js,sha256=SDAz_6WyDiolzuBD-6ZCspWeXeR5gFDvSxFAdihJ3vk,37168
637
638
  stoobly_agent/public/polyfills-es5.7530172ddcec11a10eb3.js,sha256=lue-PFE_AvHlq5HJFPUTUWxayp4_3Ktdg8KwaJQuug4,132015
638
- stoobly_agent/public/runtime-es2015.9addf49b79aca951b7e2.js,sha256=_xgeicwQKtUNtTkxpEv4lHWk0q43zTWeLHvacSKb1v0,3379
639
- stoobly_agent/public/runtime-es5.9addf49b79aca951b7e2.js,sha256=P23DBu4G1mEkJuZVWajGTD9-N-kwx20udATTJP0DAFo,3376
639
+ stoobly_agent/public/runtime-es2015.b914470164e4d6e75d96.js,sha256=b8qfJZaTnQYsUpITTyJGAjJoz8X6dGbjS0PmhSnKBbE,3379
640
+ stoobly_agent/public/runtime-es5.b914470164e4d6e75d96.js,sha256=-fZzEph9Vd9VxQwIocep1Noskq2YyghdxFNypTMwjTI,3376
640
641
  stoobly_agent/public/styles.ab281309cf423b2cdcb0.css,sha256=3R9PubCATNJBMZC6bL9IiwQQdennG6uXctnMYKfSw-0,173756
641
642
  stoobly_agent/test/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
642
643
  stoobly_agent/test/app/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -664,17 +665,17 @@ stoobly_agent/test/app/cli/request/request_reset_test.py,sha256=5My6Z452eideAOUu
664
665
  stoobly_agent/test/app/cli/request/request_response_test.py,sha256=Fu-A8tIn016DKme4WIaPzo3YeFY-CPtTOpaSFigUVVM,1263
665
666
  stoobly_agent/test/app/cli/request/request_snapshot_test.py,sha256=0013aoiMZin-2YEtHzEmQspAPA3SUd_6XiItbX0U7Ok,4425
666
667
  stoobly_agent/test/app/cli/request/request_test_test.py,sha256=-cJNXKjgryVVfVt-7IN5fIhBwe3NjFoPmeavDH8lAjU,5527
667
- stoobly_agent/test/app/cli/scaffold/cli_invoker.py,sha256=BXqWjSMRrK6MxX6rM6uHbFj4keqylSGDPvgy4TDdb9I,3702
668
+ stoobly_agent/test/app/cli/scaffold/cli_invoker.py,sha256=_nGDLUsYxqkeqs5DdhvAeXy3IuotpgqKHXKVzu6GDF4,3700
668
669
  stoobly_agent/test/app/cli/scaffold/cli_test.py,sha256=sMNvO845MIu5DVGa1HmwXQDmKDcwrfNTdEb3fK5886w,4557
669
670
  stoobly_agent/test/app/cli/scaffold/e2e_test.py,sha256=fd_LWwkkjMbQQ39hxG0SwrwXeR-_cycT0Bmz3QOzpss,12978
670
- stoobly_agent/test/app/cli/scaffold/hosts_file_reader_test.py,sha256=zGx-fvYTT3N-WS09guOICcRHl8Ann43NHLGTt33FR1s,2279
671
+ stoobly_agent/test/app/cli/scaffold/hosts_file_manager_test.py,sha256=sVFHHYBxzyfRbVIe3gnToQ-6JPy71BCBjdQDnboYzac,2306
671
672
  stoobly_agent/test/app/cli/scenario/scenario_create_test.py,sha256=fGqcjO1_1OvdpUMQfGRVkSyFe61u8WIcp_ndLFrf33A,3962
672
673
  stoobly_agent/test/app/cli/scenario/scenario_replay_integration_test.py,sha256=NbGJzmvPsNLBR0ac65yt_cOTfpnsST1IG7i3F0euwAk,7031
673
674
  stoobly_agent/test/app/cli/scenario/scenario_replay_test.py,sha256=XqR-GDrR8uUtxvukBuIFJ4GsOzBj9WWi4b0VKmfhFyE,6874
674
675
  stoobly_agent/test/app/cli/scenario/scenario_reset_test.py,sha256=QOyytOoFu1FALny3-xwp9r4bfOE9fftgnhkDJWYxXh0,2021
675
676
  stoobly_agent/test/app/cli/scenario/scenario_snapshot_test.py,sha256=vk572Oxp1c8Y4utqq3L24nTkFj5Fttig0R2cWXUzg3E,3395
676
677
  stoobly_agent/test/app/cli/scenario/scenario_test_integration_test.py,sha256=BdXGe1xfb79tCCTKtp4sqI6CkZL_KamvQKLK8Wwb4u0,5543
677
- stoobly_agent/test/app/cli/snapshot/snapshot_apply_test.py,sha256=gyNWX9b4PFkmxQxEth8xe1-xNryvjBuM0AyuJsEPOQA,15529
678
+ stoobly_agent/test/app/cli/snapshot/snapshot_apply_test.py,sha256=p0Nyv66agEPOKY23lMNBZQNAXNL1zoYJz2N5ev4rvO0,21729
678
679
  stoobly_agent/test/app/cli/snapshot/snapshot_copy_test.py,sha256=Yg78-FhSiG_r6Jpm-sN8sn0LjVXTwTOXt6hg8ni2GIY,1953
679
680
  stoobly_agent/test/app/cli/snapshot/snapshot_prune_test.py,sha256=Hi8-rpQ9ryy1Jdl_KB9ERXgbLHLKmuFQZaxn5EVFj9I,3752
680
681
  stoobly_agent/test/app/cli/snapshot/snapshot_update_test.py,sha256=fILsX2M5j4wuLRP6LJTHe4CPB8gvaEbsSoYmFCHmKVk,4514
@@ -692,7 +693,7 @@ stoobly_agent/test/app/models/factories/resource/local_db/helpers/log_test.py,sh
692
693
  stoobly_agent/test/app/models/factories/resource/local_db/helpers/tiebreak_scenario_request_test.py,sha256=5IFGVGn3ogvRT0fzZgXzhrYlSfSlr8IR1p_XExaegMQ,3399
693
694
  stoobly_agent/test/app/models/factories/resource/local_db/request_adapter_test.py,sha256=Pzq1cBPnP9oSWG-p0c-VoymoHxgp483QmNwmV1b78RA,8453
694
695
  stoobly_agent/test/app/models/factories/resource/local_db/response_adapter_test.py,sha256=9P95EKH5rZGOrmRkRIDlQZqtiLJHk9735og18Ffwpfw,2204
695
- stoobly_agent/test/app/models/schemas/.stoobly/db/VERSION,sha256=s4n9aV0PFyXVJPIoNMaqvv68dMsxTpUy9-iiXCnuR9I,5
696
+ stoobly_agent/test/app/models/schemas/.stoobly/db/VERSION,sha256=2C80rpqkG8Sgy1KaGsCJj-0J1rR5-xzETLZsNPFe6E0,6
696
697
  stoobly_agent/test/app/models/schemas/.stoobly/db/stoobly_agent.sqlite3,sha256=ch8gNx6zIelLKQx65gwFx_LRNqUD3EC5xcHZ0ukIQiU,188416
697
698
  stoobly_agent/test/app/models/schemas/.stoobly/settings.yml,sha256=vLwMjweKOdod6tSLtIlyBefPQuNXq9wio4kBaODKtAU,726
698
699
  stoobly_agent/test/app/models/schemas/.stoobly/tmp/options.json,sha256=OTRzarwus48CTrItedXCrgQttJHSEZonEYc7R_knvYg,2212
@@ -724,13 +725,13 @@ stoobly_agent/test/mock_data/petstore-references.yaml,sha256=OpNrCSb5-qKmUBIO9oG
724
725
  stoobly_agent/test/mock_data/petstore-swagger-io.yaml,sha256=FbOEaArZKl1dV7jEf1hyJQv9jdAb5jXfsRRZB5i4-0Y,22094
725
726
  stoobly_agent/test/mock_data/petstore.yaml,sha256=CCdliJky04Az4FIOkFA883uunwFDHLr2Y8ohtozFi_Q,2714
726
727
  stoobly_agent/test/mock_data/request_show_response.py,sha256=K_a0fP0QT58T8sX9PaM6hqtX1A1depZsqg_GsNPf--k,707
727
- stoobly_agent/test/mock_data/scaffold/docker-compose-assets-service.yml,sha256=ftMKf-iB1Njl5QNatMr1XuBu2KqieLpNgV40_qnW8w8,277
728
+ stoobly_agent/test/mock_data/scaffold/docker-compose-assets-service.yml,sha256=TJpkkkSjUlfz3t8Oxsz6Ery1JX7Ed79Fh6oiEuKI4i0,275
728
729
  stoobly_agent/test/mock_data/scaffold/docker-compose-local-service.yml,sha256=x7hYB1R9RtDDcU1NS1bkhXlTCwCgCPrOW7Y9tyAVUjs,249
729
730
  stoobly_agent/test/mock_data/scaffold/index.html,sha256=qJwuYajKZ4ihWZrJQ3BNObV5kf1VGnnm_vqlPJzdqLE,258
730
731
  stoobly_agent/test/mock_data/uspto.yaml,sha256=6U5se7C3o-86J4m9xpOk9Npias399f5CbfWzR87WKwE,7835
731
732
  stoobly_agent/test/test_helper.py,sha256=m_oAI7tmRYCNZdKfNqISWhMv3e44tjeYViQ3nTUfnos,1007
732
- stoobly_agent-1.2.3.dist-info/LICENSE,sha256=8QKGyy45eN76Zk52h8gu1DKX2B_gbWgZ3nzDLofEbaE,548
733
- stoobly_agent-1.2.3.dist-info/METADATA,sha256=NTZtZPT5h79vhU9uCuYb2cM5iFDUdTqyirMsZmEyoTU,3384
734
- stoobly_agent-1.2.3.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
735
- stoobly_agent-1.2.3.dist-info/entry_points.txt,sha256=aq5wix5oC8MDQtmyPGU0xaFrsjJg7WH28NmXh2sc3Z8,56
736
- stoobly_agent-1.2.3.dist-info/RECORD,,
733
+ stoobly_agent-1.4.0.dist-info/LICENSE,sha256=8QKGyy45eN76Zk52h8gu1DKX2B_gbWgZ3nzDLofEbaE,548
734
+ stoobly_agent-1.4.0.dist-info/METADATA,sha256=EYX5vmQsiiTpcEDvsRZFDkYtcl7dYUq5onTHR-nAYHo,3384
735
+ stoobly_agent-1.4.0.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
736
+ stoobly_agent-1.4.0.dist-info/entry_points.txt,sha256=aq5wix5oC8MDQtmyPGU0xaFrsjJg7WH28NmXh2sc3Z8,56
737
+ stoobly_agent-1.4.0.dist-info/RECORD,,
@@ -1,65 +0,0 @@
1
- import pdb
2
- import platform
3
- from dataclasses import dataclass
4
- from typing import Union
5
-
6
-
7
- class HostsFileReader():
8
-
9
- @dataclass
10
- class IpAddressToHostnames:
11
- ip_address: str
12
- hostnames: list[str]
13
-
14
- def __get_hosts_file_path(self) -> str:
15
- system = platform.system()
16
- if system == 'Linux' or system == 'Darwin':
17
- return '/etc/hosts'
18
- else:
19
- print(f"Unsupported system: {system}, for hosts file validation, skipping")
20
-
21
- return ''
22
-
23
- # Split IP address and hostnames. Don't include inline comments
24
- def __split_hosts_line(self, line: str) -> list[str]:
25
- ip_addr_hosts_split = line.split('#')[0].split()
26
- return ip_addr_hosts_split
27
-
28
-
29
- # Parses hosts file and returns a mapping of IP address to hostnames in a list.
30
- def get_hosts(self) -> list[IpAddressToHostnames]:
31
- hosts_file_path = self.__get_hosts_file_path()
32
-
33
- if not hosts_file_path:
34
- return []
35
-
36
- with open(hosts_file_path, 'r') as f:
37
- hostlines = f.readlines()
38
-
39
- # Skip comments and empty lines
40
- hostlines = [line.strip() for line in hostlines
41
- if not line.startswith('#') and line.strip() != '']
42
-
43
- hosts = []
44
- for line in hostlines:
45
- ip_addr_hosts_split = self.__split_hosts_line(line)
46
- ip_address = ip_addr_hosts_split[0]
47
- hostnames = ip_addr_hosts_split[1:]
48
- ipAddressToHostnames = self.IpAddressToHostnames(ip_address, hostnames)
49
-
50
- hosts.append(ipAddressToHostnames)
51
-
52
- return hosts
53
-
54
- def find_host(self, hostname) -> Union[IpAddressToHostnames, None]:
55
- hosts = self.get_hosts()
56
-
57
- for mapping in hosts:
58
- if ((mapping.ip_address == '0.0.0.0' or mapping.ip_address == '127.0.0.1') and
59
- hostname in mapping.hostnames):
60
-
61
- return mapping
62
-
63
- return None
64
-
65
-
@@ -1,34 +0,0 @@
1
- FROM ubuntu:24.04 AS build
2
-
3
- WORKDIR /tmp
4
-
5
- RUN apt-get update && apt-get install -y curl
6
- RUN curl -JLO "https://dl.filippo.io/mkcert/v1.4.4?for=linux/amd64" && \
7
- chmod +x mkcert-v1.4.4-linux-amd64
8
-
9
- FROM ubuntu:24.04 AS cert
10
-
11
- ARG SERVICE_HOSTNAME
12
-
13
- COPY --from=build /tmp/mkcert-v1.4.4-linux-amd64 /bin/mkcert
14
-
15
- RUN useradd -m mkcert
16
-
17
- USER mkcert
18
- WORKDIR /home/mkcert
19
-
20
- RUN mkcert $SERVICE_HOSTNAME && mkcert -pkcs12 $SERVICE_HOSTNAME && cat $SERVICE_HOSTNAME.pem >> $SERVICE_HOSTNAME-joined.pem && cat $SERVICE_HOSTNAME-key.pem >> $SERVICE_HOSTNAME-joined.pem
21
-
22
- FROM stoobly/agent:1.2
23
-
24
- ARG SERVICE_HOSTNAME
25
- ARG USER_ID
26
-
27
- # Allow running stoobly on port 443
28
- RUN apt-get update && apt-get install -y curl libcap2-bin
29
- RUN setcap 'cap_net_bind_service=+ep' /usr/local/bin/python3.12
30
-
31
- # Change user id of stoobly user to that of host's user id
32
- RUN if [ -n "$USER_ID" ]; then groupmod -g $USER_ID stoobly; usermod -u $USER_ID stoobly; fi
33
-
34
- COPY --chown=stoobly:stoobly --from=cert /home/mkcert/$SERVICE_HOSTNAME-joined.pem /etc/ssl/certs