stoobly-agent 1.4.2__py3-none-any.whl → 1.5.1__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 (72) hide show
  1. stoobly_agent/__init__.py +1 -1
  2. stoobly_agent/app/cli/helpers/handle_config_update_service.py +2 -2
  3. stoobly_agent/app/cli/helpers/handle_mock_service.py +6 -2
  4. stoobly_agent/app/cli/helpers/request_facade.py +5 -1
  5. stoobly_agent/app/cli/scaffold/constants.py +1 -1
  6. stoobly_agent/app/cli/scaffold/docker/workflow/mock_decorator.py +1 -0
  7. stoobly_agent/app/cli/scaffold/service_workflow_validate_command.py +19 -19
  8. stoobly_agent/app/cli/scaffold/templates/app/.Dockerfile.context +1 -1
  9. stoobly_agent/app/cli/scaffold/templates/constants.py +3 -3
  10. stoobly_agent/app/cli/scaffold/templates/factory.py +5 -5
  11. stoobly_agent/app/cli/scaffold/templates/workflow/mock/bin/configure +1 -8
  12. stoobly_agent/app/cli/scaffold/templates/workflow/mock/fixtures.yml +1 -1
  13. stoobly_agent/app/cli/scaffold/templates/workflow/test/bin/configure +1 -8
  14. stoobly_agent/app/cli/scaffold/templates/workflow/test/fixtures.yml +1 -1
  15. stoobly_agent/app/cli/scaffold/workflow_command.py +3 -3
  16. stoobly_agent/app/cli/scaffold/workflow_create_command.py +2 -2
  17. stoobly_agent/app/cli/scaffold_cli.py +5 -5
  18. stoobly_agent/app/models/factories/resource/local_db/helpers/tiebreak_scenario_request.py +1 -1
  19. stoobly_agent/app/models/factories/resource/local_db/request_adapter.py +17 -11
  20. stoobly_agent/app/models/types/request.py +1 -2
  21. stoobly_agent/app/proxy/context.py +4 -0
  22. stoobly_agent/app/proxy/handle_mock_service.py +93 -46
  23. stoobly_agent/app/proxy/handle_record_service.py +15 -3
  24. stoobly_agent/app/proxy/handle_replay_service.py +44 -18
  25. stoobly_agent/app/proxy/handle_test_service.py +92 -24
  26. stoobly_agent/app/proxy/intercept_handler.py +11 -16
  27. stoobly_agent/app/proxy/intercept_settings.py +17 -4
  28. stoobly_agent/app/proxy/mitmproxy/request_facade.py +5 -2
  29. stoobly_agent/app/proxy/mitmproxy/response_facade.py +5 -4
  30. stoobly_agent/app/proxy/mock/custom_not_found_response_builder.py +5 -0
  31. stoobly_agent/app/proxy/mock/eval_fixtures_service.py +79 -14
  32. stoobly_agent/app/proxy/mock/eval_request_service.py +18 -13
  33. stoobly_agent/app/proxy/record/join_request_service.py +7 -8
  34. stoobly_agent/app/proxy/record/upload_request_service.py +2 -2
  35. stoobly_agent/app/proxy/replay/replay_request_service.py +4 -4
  36. stoobly_agent/app/proxy/test/helpers/upload_test_service.py +2 -2
  37. stoobly_agent/app/proxy/utils/allowed_request_service.py +3 -3
  38. stoobly_agent/app/proxy/utils/response_handler.py +10 -1
  39. stoobly_agent/app/proxy/utils/rewrite.py +72 -0
  40. stoobly_agent/app/settings/constants/request_component.py +4 -1
  41. stoobly_agent/cli.py +35 -28
  42. stoobly_agent/config/constants/custom_headers.py +1 -0
  43. stoobly_agent/config/constants/intercept_policy.py +2 -0
  44. stoobly_agent/config/constants/mock_policy.py +4 -2
  45. stoobly_agent/config/constants/query_params.py +2 -0
  46. stoobly_agent/config/constants/record_policy.py +4 -2
  47. stoobly_agent/config/constants/replay_policy.py +4 -2
  48. stoobly_agent/public/{18-es2015.583f191cc7ad512ee262.js → 18-es2015.503207073756a9c8211a.js} +1 -1
  49. stoobly_agent/public/{18-es5.583f191cc7ad512ee262.js → 18-es5.503207073756a9c8211a.js} +1 -1
  50. stoobly_agent/public/index.html +1 -1
  51. stoobly_agent/public/{main-es2015.2cc16523aa3fcaba51e5.js → main-es2015.d682619f3d6d53d64c6a.js} +1 -1
  52. stoobly_agent/public/{main-es5.2cc16523aa3fcaba51e5.js → main-es5.d682619f3d6d53d64c6a.js} +1 -1
  53. stoobly_agent/public/{runtime-es2015.b914470164e4d6e75d96.js → runtime-es2015.8c1efed946fc02c923fc.js} +1 -1
  54. stoobly_agent/public/{runtime-es5.b914470164e4d6e75d96.js → runtime-es5.8c1efed946fc02c923fc.js} +1 -1
  55. stoobly_agent/test/app/cli/helpers/openapi_endpoint_adapter_test.py +2 -1
  56. stoobly_agent/test/app/cli/scaffold/e2e_test.py +2 -2
  57. stoobly_agent/test/app/models/factories/resource/local_db/helpers/tiebreak_scenario_request_test.py +4 -4
  58. stoobly_agent/test/app/models/schemas/.stoobly/db/VERSION +1 -1
  59. stoobly_agent/test/app/proxy/mock/eval_fixtures_service_test.py +140 -71
  60. stoobly_agent/test/cli/lifecycle_hooks_test.py +66 -0
  61. stoobly_agent/test/cli/mock_scenario_lifecycle_hooks.py +5 -0
  62. stoobly_agent/test/cli/mock_scenario_test.py +62 -0
  63. stoobly_agent/test/cli/mock_test.py +54 -38
  64. stoobly_agent/test/cli/record_test.py +67 -0
  65. stoobly_agent/test/mock_data/lifecycle_hooks.py +35 -0
  66. {stoobly_agent-1.4.2.dist-info → stoobly_agent-1.5.1.dist-info}/LICENSE +1 -1
  67. {stoobly_agent-1.4.2.dist-info → stoobly_agent-1.5.1.dist-info}/METADATA +7 -12
  68. {stoobly_agent-1.4.2.dist-info → stoobly_agent-1.5.1.dist-info}/RECORD +72 -65
  69. /stoobly_agent/app/cli/scaffold/templates/workflow/mock/{fixtures/.keep → public/.gitignore} +0 -0
  70. /stoobly_agent/app/cli/scaffold/templates/workflow/test/{fixtures/.keep → public/.gitignore} +0 -0
  71. {stoobly_agent-1.4.2.dist-info → stoobly_agent-1.5.1.dist-info}/WHEEL +0 -0
  72. {stoobly_agent-1.4.2.dist-info → stoobly_agent-1.5.1.dist-info}/entry_points.txt +0 -0
@@ -9,11 +9,13 @@ from urllib.parse import parse_qs
9
9
  from stoobly_agent.test.test_helper import DETERMINISTIC_GET_REQUEST_URL, NON_DETERMINISTIC_GET_REQUEST_URL, reset
10
10
 
11
11
  from stoobly_agent.app.models.adapters.raw_http_request_adapter import RawHttpRequestAdapter
12
+ from stoobly_agent.app.models.adapters.raw_http_response_adapter import RawHttpResponseAdapter
12
13
  from stoobly_agent.app.settings.constants import firewall_action, request_component
13
14
  from stoobly_agent.config.constants import custom_headers, mode, record_policy, request_origin
14
15
  from stoobly_agent.cli import config, intercept, mock, record, scenario
15
16
  from stoobly_agent.lib.api.keys.scenario_key import ScenarioKey
16
17
  from stoobly_agent.lib.orm.request import Request
18
+ from stoobly_agent.lib.orm.response import Response
17
19
  from stoobly_agent.lib.orm.scenario import Scenario
18
20
  from stoobly_agent.lib.utils.decode import decode
19
21
 
@@ -130,6 +132,71 @@ class TestRecording():
130
132
  body = decode(python_request.data)
131
133
  assert json.loads(body).get(body_param) == body_param_value
132
134
 
135
+ class TestWhenResponseHeaders():
136
+
137
+ def test_it_rewrites(self, runner: CliRunner):
138
+ header_name = 'foo'
139
+ header_value = 'bar'
140
+
141
+ rewrite_result = runner.invoke(config, [
142
+ 'rewrite', 'set',
143
+ '--method', 'GET', '--mode', mode.RECORD, '--name', header_name, '--value', header_value, '--pattern', '.*?', '--type', request_component.RESPONSE_HEADER
144
+ ]
145
+ )
146
+ assert rewrite_result.exit_code == 0
147
+
148
+ record_result = runner.invoke(record, [DETERMINISTIC_GET_REQUEST_URL])
149
+ assert record_result.exit_code == 0
150
+
151
+ _response = Response.last()
152
+ python_response = RawHttpResponseAdapter(_response.raw).to_response()
153
+
154
+ assert python_response.headers.get(header_name.title()) == header_value
155
+
156
+ class TestWhenResponseParams():
157
+
158
+ def test_it_rewrites(self, runner: CliRunner):
159
+ body_param = 'foo'
160
+ body_param_value = 'bar'
161
+
162
+ rewrite_result = runner.invoke(config, [
163
+ 'rewrite', 'set',
164
+ '--method', 'GET', '--mode', mode.RECORD, '--name', body_param, '--value', body_param_value, '--pattern', '.*?', '--type', request_component.RESPONSE_PARAM
165
+ ]
166
+ )
167
+ assert rewrite_result.exit_code == 0
168
+
169
+ record_result = runner.invoke(record, [DETERMINISTIC_GET_REQUEST_URL])
170
+ assert record_result.exit_code == 0
171
+
172
+ _response = Response.last()
173
+ python_response = RawHttpResponseAdapter(_response.raw).to_response()
174
+
175
+ body = decode(python_response.content)
176
+ assert json.loads(body).get(body_param) == body_param_value
177
+
178
+ def test_it_does_not_rewrite(self, runner: CliRunner):
179
+ body_param = 'foo'
180
+ body_param_value = 'bar'
181
+
182
+ rewrite_result = runner.invoke(config, [
183
+ 'rewrite', 'set',
184
+ '--method', 'GET', '--mode', mode.RECORD, '--name', body_param, '--value', body_param_value, '--pattern', '.*?', '--type', request_component.RESPONSE_PARAM
185
+ ]
186
+ )
187
+ assert rewrite_result.exit_code == 0
188
+
189
+ record_result = runner.invoke(record, [NON_DETERMINISTIC_GET_REQUEST_URL])
190
+ assert record_result.exit_code == 0
191
+
192
+ _response = Response.last()
193
+ python_response = RawHttpResponseAdapter(_response.raw).to_response()
194
+
195
+ body = decode(python_response.content)
196
+ # For non iterable resposne content, do not rewrite
197
+ with pytest.raises(json.decoder.JSONDecodeError):
198
+ json.loads(body)
199
+
133
200
  class TestFirewall():
134
201
  @pytest.fixture(scope='function', autouse=True)
135
202
  def settings(self):
@@ -0,0 +1,35 @@
1
+ from stoobly_agent.app.proxy.context import InterceptContext
2
+ from stoobly_agent.app.proxy.mock.context import MockContext
3
+ from stoobly_agent.app.proxy.record.context import RecordContext
4
+ from stoobly_agent.app.proxy.replay.context import ReplayContext
5
+ from stoobly_agent.app.proxy.test.context import TestContext
6
+
7
+ def handle_before_request(context: InterceptContext):
8
+ print('before_request')
9
+
10
+ def handle_before_record(context: RecordContext):
11
+ print('before_record')
12
+
13
+ def handle_before_mock(context: MockContext):
14
+ print('before_mock')
15
+
16
+ def handle_before_replay(context: ReplayContext):
17
+ print('before_replay')
18
+
19
+ def handle_before_test(context: ReplayContext):
20
+ print('before_test')
21
+
22
+ def handle_after_record(context: RecordContext):
23
+ print('after_record')
24
+
25
+ def handle_after_mock(context: MockContext):
26
+ print('after_mock')
27
+
28
+ def handle_after_replay(context: ReplayContext):
29
+ print('after_replay')
30
+
31
+ def handle_after_test(context: TestContext):
32
+ print('after_test')
33
+
34
+ def handle_before_response(context: InterceptContext):
35
+ print('before_response')
@@ -1,4 +1,4 @@
1
- Copyright 2023 Stoobly
1
+ Copyright 2025 Stoobly
2
2
 
3
3
  Licensed under the Apache License, Version 2.0 (the "License");
4
4
  you may not use this file except in compliance with the License.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: stoobly-agent
3
- Version: 1.4.2
3
+ Version: 1.5.1
4
4
  Summary: Record, mock, and test HTTP(s) requests. CLI agent for Stoobly
5
5
  License: Apache-2.0
6
6
  Author: Matt Le
@@ -41,16 +41,13 @@ Description-Content-Type: text/markdown
41
41
  [![CI](https://github.com/Stoobly/stoobly-agent/actions/workflows/tests.yaml/badge.svg)](https://github.com/Stoobly/stoobly-agent/actions/workflows/tests.yaml)
42
42
  [![CodeQL](https://github.com/Stoobly/stoobly-agent/actions/workflows/github-code-scanning/codeql/badge.svg)](https://github.com/Stoobly/stoobly-agent/actions/workflows/github-code-scanning/codeql)
43
43
 
44
+ ⚡ Easily create realistic API mocks by recording HTTP(S) requests.
44
45
 
45
- 🌐 Stoobly is a feature-rich man-in-the-middle proxy tool to **record and mock HTTP/HTTPS requests and responses.**
46
+ 💡 Maintaining mocks gets expensive. Streamline maintenance with stale mock detection and automated regeneration.
46
47
 
47
- 🚀 Easily create scalable API mocks with little setup time.
48
+ 🔨 Minimize regressions of customer workflows with fast and reliable E2E tests.
48
49
 
49
- Maintaining hard-coded inputs and responses is expensive. De-clutter your codebase and **streamline maintenance with replay and record.**
50
-
51
- 💡 Upon request interception, mocking is configurable to match against all request components.
52
-
53
- 🔨 Need advanced configuration? Take advantage of features like scenarios, filters, rewriting, match rules, and lifecycle hooks.
50
+ 🚀 Supercharge CI setup with ready-to-go tooling. Reduce CI setup time from two weeks to one day.
54
51
 
55
52
  See our docs for more detailed information! https://docs.stoobly.com
56
53
 
@@ -84,11 +81,9 @@ stoobly-agent --help
84
81
 
85
82
  ## Next steps
86
83
 
87
- Configure the proxy settings by [following this guide](https://docs.stoobly.com/getting-started/proxy-configuration)
88
-
89
- Start easily recording requests [with this guide](https://docs.stoobly.com/getting-started/record-requests)
84
+ Easily start creating mock APIs [with this guide](https://docs.stoobly.com/guides/how-to-record-requests)
90
85
 
91
- Then, try mocking your requests [with this guide!](https://docs.stoobly.com/guides/mocking-apis)
86
+ Or integrate E2E testing [with this guide!](https://docs.stoobly.com/guides/how-to-integrate-e2e-testing)
92
87
 
93
88
 
94
89
  ## Having trouble?
@@ -1,4 +1,4 @@
1
- stoobly_agent/__init__.py,sha256=fihCDP2FvrNTuWxSlgwYRREc1dhd8hCm3TlzVPcHgx4,44
1
+ stoobly_agent/__init__.py,sha256=7y5_V-Rf7rYs6CEsRG2wWBw1jEbmStksKk8cCeaQQVk,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
4
  stoobly_agent/app/api/application_http_request_handler.py,sha256=ZgCfmdr5um-OFAiuRHdBxFqPIeph9WqYkVg-oVQWw-E,5543
@@ -36,8 +36,8 @@ stoobly_agent/app/cli/helpers/endpoints_apply_service.py,sha256=9GYuUlo-nNn6z7jm
36
36
  stoobly_agent/app/cli/helpers/endpoints_import_context.py,sha256=w-iRZpNh3tX8GfafEe_6QMWCBiGNNSqvJKsfAXpnrLM,2209
37
37
  stoobly_agent/app/cli/helpers/endpoints_import_service.py,sha256=FSMy3TboX6hYtYt91jk97gD8a3PpSv_RR2pl3L9-0Zs,8322
38
38
  stoobly_agent/app/cli/helpers/feature_flags.py,sha256=neIdXHhDMv8Zq1zrfoZ28NDXkamUgDiwnu-7AS3LshE,558
39
- stoobly_agent/app/cli/helpers/handle_config_update_service.py,sha256=jGBt005zkHd7TbJhICz30wPpRGqjSFwxxygjLE2CP_g,5898
40
- stoobly_agent/app/cli/helpers/handle_mock_service.py,sha256=bhqzI6XaFlSq39N_f1CUWnmgOhJ3MnViW31Rmjaiutw,568
39
+ stoobly_agent/app/cli/helpers/handle_config_update_service.py,sha256=0wGSvGP0t3tCFXMU872UJbyuenzwXwFw-ZAt_4oX0f8,5916
40
+ stoobly_agent/app/cli/helpers/handle_mock_service.py,sha256=9rHhWVXniNWsAaR1jw5GgabiK5_YApq700P3F9w3gD8,701
41
41
  stoobly_agent/app/cli/helpers/handle_replay_service.py,sha256=MfCXVWoGXsuX-nt87kxLv9rScwQ_1Ec6B0m5exMAzx8,3955
42
42
  stoobly_agent/app/cli/helpers/handle_test_service.py,sha256=nlso1XXjPKoPayN13FXsE_cAhhxa8VuNCW3Md7ufqiY,7212
43
43
  stoobly_agent/app/cli/helpers/iterate_group_by.py,sha256=oN9JC58LHLiElQC0M6JdjBAVlqIEwoBmNJuSJyIs-cI,3099
@@ -47,7 +47,7 @@ stoobly_agent/app/cli/helpers/print_service.py,sha256=uuh1mjKpS3_Mk8WuIVPp2cmQAe
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
50
- stoobly_agent/app/cli/helpers/request_facade.py,sha256=HnaB_mBP-o8wWzYTeWteq5dMn-dVkMk89fgabhl7i5A,4215
50
+ stoobly_agent/app/cli/helpers/request_facade.py,sha256=Ws_PbOt6LBcI4UkIZMuKuFZ_H_ZP8UQ8t4MTveAHlxw,4257
51
51
  stoobly_agent/app/cli/helpers/request_synchronize_handler.py,sha256=wawAL8hoZLqOHGJtcTYeJ4H5FeBVSdB3EwgUAdGQnSE,3603
52
52
  stoobly_agent/app/cli/helpers/run_command_service.py,sha256=w9CNDZDj_gxCCXAFFOLONuOVu6_W9f8z1RX3-5RKuTM,731
53
53
  stoobly_agent/app/cli/helpers/scenario_facade.py,sha256=nWcycEZBL87OFCCQx85-5QaK0Q9XXk2-RMeC1uef2_Y,3134
@@ -73,7 +73,7 @@ stoobly_agent/app/cli/scaffold/app_config.py,sha256=Gs-BynV1vY7_PpTOenn2mqc7lBIu
73
73
  stoobly_agent/app/cli/scaffold/app_create_command.py,sha256=sy4017eiir9MK0TEbTi1NyG9mhOGlenGGVnq0GsGUrQ,966
74
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=5NCOjS2bzGT96iNfIbIbCgJf4yTAfSrHkbcieXz12Vs,2064
76
+ stoobly_agent/app/cli/scaffold/constants.py,sha256=zdP-hH6i2zzT_4il-o61miyNKmfQYXmfU-2nBfs2X-w,2060
77
77
  stoobly_agent/app/cli/scaffold/docker/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
78
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
@@ -88,7 +88,7 @@ stoobly_agent/app/cli/scaffold/docker/workflow/build_decorator.py,sha256=vbmME0c
88
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=A0MvgT3nTB2SjBVwcpq1_AggWb8gU9HHD64E9JbhpDc,1218
91
+ stoobly_agent/app/cli/scaffold/docker/workflow/mock_decorator.py,sha256=iRHmUPnHaxAVL5ithFf5Mw0WQdogWsVcLkTeCOStDqg,1261
92
92
  stoobly_agent/app/cli/scaffold/docker/workflow/reverse_proxy_decorator.py,sha256=eeB1Y7L6xYlD9w7oO7a4Ou0Gvfvvd2znnqrZQQz6IlQ,1825
93
93
  stoobly_agent/app/cli/scaffold/env.py,sha256=e-Ve4p3RUgzFx22B3SIYttvJ_yLuDtA27oDACZ8n-6E,1140
94
94
  stoobly_agent/app/cli/scaffold/hosts_file_manager.py,sha256=FiX1hYEWN4cJiCOV4h6wOOlY7t71uwIwe6t2upS65aQ,5006
@@ -100,9 +100,9 @@ stoobly_agent/app/cli/scaffold/service_create_command.py,sha256=bmLGgx9qnh-X_i2_
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=hF3c6cFRaKH01BfwdrCJdX8SEbsfD5CCG8W_yZU4FK4,9948
103
+ stoobly_agent/app/cli/scaffold/service_workflow_validate_command.py,sha256=iORyPZEQurgWVxrdMgkdD3VsCz3ar2D15dmyY3RoeKw,9904
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=PRNYTWYYcLfcyrZ5h5u2I7dAJdeFmmxRFpAj_8243Bw,158
105
+ stoobly_agent/app/cli/scaffold/templates/app/.Dockerfile.context,sha256=EVoSqGJH_H7Xw1Ktan5GH2SWaOXIr916NUpptr2hkiA,158
106
106
  stoobly_agent/app/cli/scaffold/templates/app/.Makefile,sha256=F1OIlNw87Vw3HZqWeW908PVEnUtuIWC2gb6Bmivkr5A,8069
107
107
  stoobly_agent/app/cli/scaffold/templates/app/.docker-compose.base.yml,sha256=YblNDTUPndYNxupgZ3X8RP6NS4c0u_QwLklyWrpq_qs,295
108
108
  stoobly_agent/app/cli/scaffold/templates/app/Makefile,sha256=TEmPG7Bf0KZOnmfsgdzza3UdwcVMmM5Lj1YdLc4cgjA,79
@@ -164,15 +164,15 @@ stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/exec/bin/.snapshot,sha25
164
164
  stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/exec/bin/.up,sha256=MZbIZpLlKpn-8jMFIFeIw6lfd8mc8A8GMONP-UOYwMI,267
165
165
  stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/mock/.docker-compose.mock.yml,sha256=FnCn64DjxyAiB2P_1JUwFmXslMR961nVZHkYiEXytlg,232
166
166
  stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/record/.docker-compose.record.yml,sha256=t34FNYZboJSfrKnIB2oJ3UuE_mJaW77-hcbSn3sfWec,235
167
- stoobly_agent/app/cli/scaffold/templates/constants.py,sha256=TjuWAZuAbWxS1hZR4jViF1LTBzT8iKLIJE65AvWRKNI,1460
168
- stoobly_agent/app/cli/scaffold/templates/factory.py,sha256=zzDMi56w-BWOUOw0DDGgmvrWep_JSqRjp-jQemfQwOo,1759
167
+ stoobly_agent/app/cli/scaffold/templates/constants.py,sha256=EXBiBB_gnSINGrIqfXMaJ2w0HEaICw4FxVjwIHPBqYw,1457
168
+ stoobly_agent/app/cli/scaffold/templates/factory.py,sha256=t7QExf7o22oAiw05XFBWTfoTcuQqK33gQZHo3j1dzTY,1749
169
169
  stoobly_agent/app/cli/scaffold/templates/workflow/mock/bin/.configure,sha256=z135hJDmBWYOhZbjuzC8-C6a0VtQ9NPx5mfCpVZliEA,210
170
170
  stoobly_agent/app/cli/scaffold/templates/workflow/mock/bin/.init,sha256=Qwkc9ckplXTmGDdcYm9g_0zOa7WAvOjruGAtaf1U7eU,328
171
- stoobly_agent/app/cli/scaffold/templates/workflow/mock/bin/configure,sha256=BgZGK2dQz46wD9wKpUgkXXQhfL6WIMEMrnAp9_AmT5c,460
171
+ stoobly_agent/app/cli/scaffold/templates/workflow/mock/bin/configure,sha256=2cpOVTA0Tm8s8cIhbrFAsYe5A1JXa8vVtGwoPCwVB_g,270
172
172
  stoobly_agent/app/cli/scaffold/templates/workflow/mock/bin/init,sha256=YxWVVQMEdGarcMtBcE1Sj2kdLgUgwY9kXp3MjPsVcmg,46
173
- stoobly_agent/app/cli/scaffold/templates/workflow/mock/fixtures/.keep,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
174
- stoobly_agent/app/cli/scaffold/templates/workflow/mock/fixtures.yml,sha256=8DW2LN5WYg1hxmZkqr8o5dxLgDxHtBARFSUiNjz009Y,226
173
+ stoobly_agent/app/cli/scaffold/templates/workflow/mock/fixtures.yml,sha256=CJlZ_kugygZpmyqIauBjNZxqk7XyLaa3yl3AWj8KV28,259
175
174
  stoobly_agent/app/cli/scaffold/templates/workflow/mock/lifecycle_hooks.py,sha256=U7mlzT_wBR3uhHSG6CAyt5tBUNAvdIrCw33gdB-F294,467
175
+ stoobly_agent/app/cli/scaffold/templates/workflow/mock/public/.gitignore,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
176
176
  stoobly_agent/app/cli/scaffold/templates/workflow/record/bin/.configure,sha256=z135hJDmBWYOhZbjuzC8-C6a0VtQ9NPx5mfCpVZliEA,210
177
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
@@ -180,22 +180,22 @@ stoobly_agent/app/cli/scaffold/templates/workflow/record/bin/init,sha256=YxWVVQM
180
180
  stoobly_agent/app/cli/scaffold/templates/workflow/record/lifecycle_hooks.py,sha256=4vaVc_gnDTCLEqtcZybIk5dcmXrKmGuesF6gc3-_kX8,473
181
181
  stoobly_agent/app/cli/scaffold/templates/workflow/test/bin/.configure,sha256=z135hJDmBWYOhZbjuzC8-C6a0VtQ9NPx5mfCpVZliEA,210
182
182
  stoobly_agent/app/cli/scaffold/templates/workflow/test/bin/.init,sha256=Qwkc9ckplXTmGDdcYm9g_0zOa7WAvOjruGAtaf1U7eU,328
183
- stoobly_agent/app/cli/scaffold/templates/workflow/test/bin/configure,sha256=ItenTr7B0h5h6I_ThE11X_al7HgsKbskJpU4dXt3X-g,454
183
+ stoobly_agent/app/cli/scaffold/templates/workflow/test/bin/configure,sha256=2cpOVTA0Tm8s8cIhbrFAsYe5A1JXa8vVtGwoPCwVB_g,270
184
184
  stoobly_agent/app/cli/scaffold/templates/workflow/test/bin/init,sha256=YxWVVQMEdGarcMtBcE1Sj2kdLgUgwY9kXp3MjPsVcmg,46
185
- stoobly_agent/app/cli/scaffold/templates/workflow/test/fixtures/.keep,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
186
- stoobly_agent/app/cli/scaffold/templates/workflow/test/fixtures.yml,sha256=8DW2LN5WYg1hxmZkqr8o5dxLgDxHtBARFSUiNjz009Y,226
185
+ stoobly_agent/app/cli/scaffold/templates/workflow/test/fixtures.yml,sha256=CJlZ_kugygZpmyqIauBjNZxqk7XyLaa3yl3AWj8KV28,259
187
186
  stoobly_agent/app/cli/scaffold/templates/workflow/test/lifecycle_hooks.py,sha256=U7mlzT_wBR3uhHSG6CAyt5tBUNAvdIrCw33gdB-F294,467
187
+ stoobly_agent/app/cli/scaffold/templates/workflow/test/public/.gitignore,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
188
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
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
191
+ stoobly_agent/app/cli/scaffold/workflow_command.py,sha256=s9GFo30Rm7-GvTW0xKCDXCrnKmd1-uTCxLOJr-cvhbQ,3289
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=I38eH_alLA4i4Sqw072C38IGTPtPewGdteJNGG1R10o,3384
193
+ stoobly_agent/app/cli/scaffold/workflow_create_command.py,sha256=bjNRph9TiOzleDiG6vYAExHWLVLAROBCPt6bPxtAmDo,3408
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
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=1AjgMhHfjt9HEdShmYLVFhruJ0f2VZyUSvpJycTtGdM,26307
198
+ stoobly_agent/app/cli/scaffold_cli.py,sha256=LEpcEZrr23NkLxQj_YA8tTL0YjHD-heU6LM2TxIypvg,26513
199
199
  stoobly_agent/app/cli/scenario_cli.py,sha256=3J1EiJOvunkfWrEkOsanw-XrKkOk78ij_GjBlE9p7CE,8229
200
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
@@ -258,12 +258,12 @@ stoobly_agent/app/models/factories/resource/local_db/helpers/search.py,sha256=A7
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
260
260
  stoobly_agent/app/models/factories/resource/local_db/helpers/snapshot_types.py,sha256=1pX0jrg13632g_yv_sF1ABzPR7LY7r2HC9g1a5zR1qI,379
261
- stoobly_agent/app/models/factories/resource/local_db/helpers/tiebreak_scenario_request.py,sha256=8MKvVPfkjcJPrgle_eAE_FvcdmmGIzwrDwxi4gZmzG4,1227
261
+ stoobly_agent/app/models/factories/resource/local_db/helpers/tiebreak_scenario_request.py,sha256=4enljvFTDImj8ZqZBfUVo1rhIUV2aFOCSqX5CQzLUlU,1236
262
262
  stoobly_agent/app/models/factories/resource/local_db/local_db_adapter.py,sha256=uQ5wQ_n0iM8sjY5mkdqED7w4VUKFKjHQGjez1B6ruyg,384
263
263
  stoobly_agent/app/models/factories/resource/local_db/orm_request_builder.py,sha256=4UjFY26ln2Drlg71R4AKY5vUZYbQ28HYQolJv3SBDqE,1581
264
264
  stoobly_agent/app/models/factories/resource/local_db/query_param_adapter.py,sha256=GutK2RLOPvlCWDsj1PBwJFRNT7EwweQzjObvrA2cIaM,4067
265
265
  stoobly_agent/app/models/factories/resource/local_db/replayed_response_adapter.py,sha256=vUN9ARmRVrxKHpyzWB5w-XX-quOBMFpWOKkyBxTn6mM,3634
266
- stoobly_agent/app/models/factories/resource/local_db/request_adapter.py,sha256=v3BvyHZfIZaWYTqoCusM12VdsbMlcU9VSjEx9JNlXk0,12505
266
+ stoobly_agent/app/models/factories/resource/local_db/request_adapter.py,sha256=wtNj8H3pylwToc4Q0TDfl6v6rgN6ae48GcF8WZBfd40,12992
267
267
  stoobly_agent/app/models/factories/resource/local_db/response_adapter.py,sha256=g2plyjBm5NUu1W6SVZavM2PgUYW_DuynFt_MREFhPVI,3228
268
268
  stoobly_agent/app/models/factories/resource/local_db/response_header_adapter.py,sha256=lSehvihNQgX6moFY0XLDyLkTeEweCRAwQ16QSdPsvEg,3070
269
269
  stoobly_agent/app/models/factories/resource/local_db/scenario_adapter.py,sha256=K6ITkYTUeEPNGL4_skL80K5G1kgqLtlM3IwpwXsleMw,3883
@@ -292,34 +292,34 @@ stoobly_agent/app/models/schemas/request.py,sha256=WVo-v0Di-WX5sYk5fQ5piS3uo4ROz
292
292
  stoobly_agent/app/models/types/__init__.py,sha256=TdT8MVvcJ1i4VJl-JN60FJBEQeYsKClyjuOFzIsGdgI,161
293
293
  stoobly_agent/app/models/types/endpoint.py,sha256=7e60mWQs-pNFO7KmhG9wreiF9pBYB-tct-kqQi5MIVo,588
294
294
  stoobly_agent/app/models/types/replayed_response.py,sha256=VbeX2yAPWACQBc7ePQ9PfU5Ot_Vq5aKFIGrPTvMQ8Xw,403
295
- stoobly_agent/app/models/types/request.py,sha256=zA5VJ316yoMTfSoHu9ab1wbOMzS1h6G2DAhjHb80mWI,705
295
+ stoobly_agent/app/models/types/request.py,sha256=TLfgNSo7atZvCjdI_wdMRrH1qdxeO98JRNPaPjMEZHo,703
296
296
  stoobly_agent/app/models/types/request_components.py,sha256=6qEiadFnJWaTYfnxLblIOyRytLXx5FQ9yUzkWnHr0IM,471
297
297
  stoobly_agent/app/models/types/response.py,sha256=OQNvHnyLvRSJF3E4A1GaROlZekKvflzsuTZH6hDx1tY,107
298
298
  stoobly_agent/app/models/types/scenario.py,sha256=865pzF2vlhpslWf_77KTcb3XmF0lO8_LJy7qzJJNWmQ,184
299
299
  stoobly_agent/app/proxy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
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
- stoobly_agent/app/proxy/context.py,sha256=XLteUEP8T8aT0hHI_jHDaL2382OaC7QyVwlni5_FS9U,456
303
- stoobly_agent/app/proxy/handle_mock_service.py,sha256=jdznZNsg0ZUJhTCNIChxgeHmp7ajFB5EvE5Th752IC4,7563
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=_9zeDfvupN8dHugmEHs48gS5_z0Bqfn33HaSAwi8GCc,1835
306
- stoobly_agent/app/proxy/handle_test_service.py,sha256=nGoE2m3lfDYVs3_k-_wOXCmmf27vz99pwlsIhMxDu9I,5732
302
+ stoobly_agent/app/proxy/context.py,sha256=m6iu6QSZsim8meZS8H8DsZeXyjfoC-MRMHhQD1MFKM0,532
303
+ stoobly_agent/app/proxy/handle_mock_service.py,sha256=2EHaQOcXhbeeKly-robt4tqBY3l5lkuJ4_ZkwW9r2Nw,8859
304
+ stoobly_agent/app/proxy/handle_record_service.py,sha256=pd_3W7YxS52KYcHqzHGDIDMXQF0oLnfmnOFFQYFNWNI,3795
305
+ stoobly_agent/app/proxy/handle_replay_service.py,sha256=kBUYd8kj8UPrsYHoBXmq06DPLjCnHo8K-QsKzhDIKcw,2526
306
+ stoobly_agent/app/proxy/handle_test_service.py,sha256=WkMPbM4argVtl-TQB7VdQIvB8cOwURAahxFX5Vkqwws,8405
307
307
  stoobly_agent/app/proxy/hot_reload.py,sha256=bcxdN0WM5l7_zY2XYLV2wF7xCpGdZILi4dVsjqAVgig,983
308
- stoobly_agent/app/proxy/intercept_handler.py,sha256=Wv5oOfQHatDwnQX9zbIRNgWWAQHgvcPC-GsmBdQNDlc,4338
309
- stoobly_agent/app/proxy/intercept_settings.py,sha256=EqcJEYnoLsk0bqjdHwOL547jp_V5g6r_XDC74ufjG3U,11349
308
+ stoobly_agent/app/proxy/intercept_handler.py,sha256=XlFwO501lsAgWvIwjnNmbsdXfBd2WuNG2O8L7eeiAjc,4180
309
+ stoobly_agent/app/proxy/intercept_settings.py,sha256=KoDoUjrwvX491NHgW2M2CvaEUHOIFejiPUX4icAPZIw,11890
310
310
  stoobly_agent/app/proxy/mitmproxy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
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=2BKWykpt5ihfaVDxyg9dy3HDpJcNCCu-4o77ztvUPwU,8417
314
+ stoobly_agent/app/proxy/mitmproxy/request_facade.py,sha256=VC3tcZT4pNcRZAaG6-fEZcwr_pvhK2AEKxRjezpYHiY,8492
315
315
  stoobly_agent/app/proxy/mitmproxy/response.py,sha256=BFaJlB1D98EOjrc-kUmunUCTUuiZsPDqq2QgAHDocQI,339
316
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
+ stoobly_agent/app/proxy/mitmproxy/response_facade.py,sha256=0wCSzUULUhDDV93QXUgzMNxiiSZwcu-kUB2C5z1Ck0Y,4311
318
318
  stoobly_agent/app/proxy/mock/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
319
319
  stoobly_agent/app/proxy/mock/context.py,sha256=vDo5_3WBL73mVFnsmQWvcxvPg5nWtRJbigSrE3zGc-o,794
320
- stoobly_agent/app/proxy/mock/custom_not_found_response_builder.py,sha256=Bwy7qsPzcIUw5FTaUGeaOnsTneuCCbGkTJU-wsmN3NE,415
321
- stoobly_agent/app/proxy/mock/eval_fixtures_service.py,sha256=SX2FkhhsXuUudojjwr9JrPUqplSOVwU1VahsQJQ6ur8,1788
322
- stoobly_agent/app/proxy/mock/eval_request_service.py,sha256=TIWRDDVTlvVc9cBkhIULtp2A89Q_PXTBGJpkCTEHkbg,6965
320
+ stoobly_agent/app/proxy/mock/custom_not_found_response_builder.py,sha256=xHjA2CNhW5A4NyPkDzws6DY5YQeJqF6b3Y3k0iJKNss,611
321
+ stoobly_agent/app/proxy/mock/eval_fixtures_service.py,sha256=hc4VLnN50HBaWvFnrhQUJqdH-r3jBu9DHrpt8gbvkHY,3847
322
+ stoobly_agent/app/proxy/mock/eval_request_service.py,sha256=EKHZT_sKZhGcGFCDa3XOSzYkSJIfJJUg4164BTxKUeY,7365
323
323
  stoobly_agent/app/proxy/mock/hashed_request_decorator.py,sha256=h1ma90fdaYI9LBWpMWMqWBz-RjNwI628O4VuS_uUBX4,5061
324
324
  stoobly_agent/app/proxy/mock/ignored_components_response_builder.py,sha256=E32_E1eSdmPn2SeM_e1jWnqu4xh5w_SnmOs32Shx99E,501
325
325
  stoobly_agent/app/proxy/mock/request_hasher.py,sha256=WeOeksmW_b5Ql0Xb0fL2WMH3MVHrm-9GYWYoKYS1teg,3755
@@ -327,7 +327,7 @@ stoobly_agent/app/proxy/mock/search_endpoint.py,sha256=HDN3tIkPnlgmkt-BbZDz7iwac
327
327
  stoobly_agent/app/proxy/mock/types/__init__.py,sha256=r4Zwqx6V5HHZwrcYWEv6xSXG0nXaN5FqxqCm0d3U-GM,150
328
328
  stoobly_agent/app/proxy/record/__init__.py,sha256=lbW-G6DZ8IrRpRzvgt-1tn2cRuyLT744u9ERIrZ2dFI,233
329
329
  stoobly_agent/app/proxy/record/context.py,sha256=L9tykwoB35hOPHft3IHSPjuJ2v3TSj9SQAJ9E1q-U_4,343
330
- stoobly_agent/app/proxy/record/join_request_service.py,sha256=zDvB2vhM_SpqE3lwuZ6KUjyM_KfbkpLAmJI9dFSXycQ,1318
330
+ stoobly_agent/app/proxy/record/join_request_service.py,sha256=-IUTQGADakpNERSBjug4_I82qYJ7k8rVd5L2sQgCWxI,1197
331
331
  stoobly_agent/app/proxy/record/joined_request.py,sha256=va79Pkz5RWACJn07ipV_FtVmGUzjSlqhfUu_amw9bX8,1553
332
332
  stoobly_agent/app/proxy/record/overwrite_scenario_service.py,sha256=3em2a2ry4MrE30XlAukat-l3L9cu4o13Cxhi6BBUgkc,940
333
333
  stoobly_agent/app/proxy/record/proxy_request.py,sha256=6DqQ2KH7AtfvXg5HNDWwvwgjO7x1QrWDYgJOBMWPKqs,418
@@ -335,14 +335,14 @@ stoobly_agent/app/proxy/record/request_string.py,sha256=EXpb-8WFUZWiWvnl37WzE_NS
335
335
  stoobly_agent/app/proxy/record/request_string_control.py,sha256=qnqfD8iD6qtACM9Bq_ZwVgT5tjr-Yg_JfdFYVvodF5Y,887
336
336
  stoobly_agent/app/proxy/record/response_string.py,sha256=ZdWYAntE7Z2oPd8tDizo8fKqbgq_BeqZ1_-JJM55b44,2818
337
337
  stoobly_agent/app/proxy/record/response_string_control.py,sha256=YXQGGxaldRFA3UEQKt8r6lZ0R-kYyp_zWOZErNwiLmQ,1105
338
- stoobly_agent/app/proxy/record/upload_request_service.py,sha256=J61cGToRrZO9S53bPAFNcfQK-w9qiXT4A1s7zH4vDpE,5082
338
+ stoobly_agent/app/proxy/record/upload_request_service.py,sha256=0YXpthGo0J7pETs7DAsTdKa50qXKjlSTBuKc1aKDMZE,5082
339
339
  stoobly_agent/app/proxy/replay/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
340
340
  stoobly_agent/app/proxy/replay/alias_context.py,sha256=u_CL64wrLcZiIYWvyOMFlpVcAsigC-8IqrE0iDeRMro,748
341
341
  stoobly_agent/app/proxy/replay/alias_resolver.py,sha256=0t7dISfVoFIa_fOqhUZQr0IbTR3sN3nmGPK3OkM7GSw,3493
342
342
  stoobly_agent/app/proxy/replay/body_parser_service.py,sha256=rZftmJMDx9TY9JSvJiUPulbT5cvj3FU8GvIxlgjOy4U,3853
343
343
  stoobly_agent/app/proxy/replay/context.py,sha256=_dtU2-OmTVY_zsXRU7gdL9E7zbx9a9jSfkm9_H6vfp0,796
344
344
  stoobly_agent/app/proxy/replay/multipart.py,sha256=LzvBdNgWKy0sRSIzD23uoZbXpV26HSrZJxKhhIv2aMg,2309
345
- stoobly_agent/app/proxy/replay/replay_request_service.py,sha256=ZxSD_7DhGgqS-BGUTpVgjLmE5O5qUwv-kOPSu6VEBkA,7045
345
+ stoobly_agent/app/proxy/replay/replay_request_service.py,sha256=UuTPPef6jchrJSjVYRpSZ9w8sy8ZEybye35Pc7h2H9E,6995
346
346
  stoobly_agent/app/proxy/replay/replay_scenario_service.py,sha256=9jV-iO5EBg8geUblEtjjWRFIkom_Pqmo7P-lTc3S4Xw,2824
347
347
  stoobly_agent/app/proxy/replay/rewrite_params_service.py,sha256=jEHlT6_OHq_VBa09Hd6QaRyErv7tZnziDvW7m3Q8CQg,2234
348
348
  stoobly_agent/app/proxy/replay/trace_context.py,sha256=lKpnQWVCUTcMPE-SOi90za3U1yL0VeBlIgj_KP63VsE,10435
@@ -361,7 +361,7 @@ stoobly_agent/app/proxy/test/helpers/request_component_names_facade.py,sha256=-c
361
361
  stoobly_agent/app/proxy/test/helpers/requests_response_adapter.py,sha256=WYDaTOhD_cKt3P8Y9uVZHeIS1lSIoT3HXO8pn8v2cMM,425
362
362
  stoobly_agent/app/proxy/test/helpers/stoobly_response_adapter.py,sha256=wrvoxn-b7D4LylvBTPK5-Aqxq6oCcHSVeoIill0durk,634
363
363
  stoobly_agent/app/proxy/test/helpers/test_results_builder.py,sha256=YGXgcFokekBiSMFlMGkdPsp91rmPWBJD93OM-eS_JOA,4412
364
- stoobly_agent/app/proxy/test/helpers/upload_test_service.py,sha256=P8thJk65lbe6MHycNFGbEvmWe0Saw4u4DuQgw9jaAZU,2089
364
+ stoobly_agent/app/proxy/test/helpers/upload_test_service.py,sha256=jNIkT5w8el5_cejdtCD4Qw4UTOXNlyta-D5g5_fvTuQ,2089
365
365
  stoobly_agent/app/proxy/test/matchers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
366
366
  stoobly_agent/app/proxy/test/matchers/context.py,sha256=8ZLKjBVAmJ_zlp6vb1SbHHgDdMB4XjYAQauz7Jf9I7k,7983
367
367
  stoobly_agent/app/proxy/test/matchers/contract.py,sha256=eE5Q9uVHR8wjyXJU_GyUA_zoNOg1TCo4FCdWIr2sITU,5524
@@ -372,10 +372,11 @@ stoobly_agent/app/proxy/test/matchers/fuzzy.py,sha256=tTnsPDaK0HFJ5ST5ThZIlHkZNz
372
372
  stoobly_agent/app/proxy/test/matchers/handlers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
373
373
  stoobly_agent/app/proxy/test/test_service.py,sha256=EWDdrcoewgCzsuWmbra-dDEZLfuWBiX6X9LF_xwqglw,4314
374
374
  stoobly_agent/app/proxy/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
375
- stoobly_agent/app/proxy/utils/allowed_request_service.py,sha256=2zDMG7iCpjMV11g05ytTOm6wdnmgoyMRBwzjYJBIvLw,3617
375
+ stoobly_agent/app/proxy/utils/allowed_request_service.py,sha256=dk4xnHzCgxyvD2Ih6JDbp4_9Y7s2ar-3lpM93CW--XA,3632
376
376
  stoobly_agent/app/proxy/utils/publish_change_service.py,sha256=vSpFt0Ox9fceJlalHji61N6StdkEZwAvVXhHXO6fwEI,1259
377
377
  stoobly_agent/app/proxy/utils/request_handler.py,sha256=VscAXf2_F1C1yrt2gNImPkatosuGj356pARTd_WnTUE,846
378
- stoobly_agent/app/proxy/utils/response_handler.py,sha256=78e--VPBNcgb3CRY-WgjxP3g2bx1ONAR8a6mFdyTaOA,1447
378
+ stoobly_agent/app/proxy/utils/response_handler.py,sha256=t5spjycvPDOZi0YU39gpavnYLhb7C29HnRe9RmzGCtU,1749
379
+ stoobly_agent/app/proxy/utils/rewrite.py,sha256=-Lf5H8aF63G37beoaG3ehr5LIAQfsKTWQvMCeNL34I4,2459
379
380
  stoobly_agent/app/proxy/utils/rewrite_rules_to_ignored_components_service.py,sha256=TEWakpZ7C468PW8lVJsRwqkRElpaCR5EOgNNzyGAleY,1043
380
381
  stoobly_agent/app/settings/__init__.py,sha256=Fm9Y4e0g_wQyPULavyv9IJopINTml7RYck6mJAPtEHY,6071
381
382
  stoobly_agent/app/settings/cli_settings.py,sha256=amAeOYTYreZMr5-cCkaBCjiQ8Vkg6qkkKUbVtIejoOg,487
@@ -383,7 +384,7 @@ stoobly_agent/app/settings/constants/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeu
383
384
  stoobly_agent/app/settings/constants/firewall_action.py,sha256=DszoKKcZ444zqE6p7zl8arUYfUNKy2hysxcQhipjQs0,111
384
385
  stoobly_agent/app/settings/constants/intercept_mode.py,sha256=0ZdREDdhpEulSrEKuTyn2zqQ9o5P4Fg32I-5-q9klcU,127
385
386
  stoobly_agent/app/settings/constants/mode.py,sha256=fNyRc5yYr-cfI4z-4ykEXE1F2JEcmQYQI1Wy78WZQYE,67
386
- stoobly_agent/app/settings/constants/request_component.py,sha256=NRiK-BXl52sSOTIPUjZGorSQLY1-uz_h8caVvAqVxTY,264
387
+ stoobly_agent/app/settings/constants/request_component.py,sha256=v2J_2RM42Njv8AZHSrxRF9z369NrbsEvj2ujZHvqWpM,375
387
388
  stoobly_agent/app/settings/data_rules.py,sha256=gepg_Nbv648_aYevDb5U1rfjvw2JVpLbybRRaX_Vl0E,2211
388
389
  stoobly_agent/app/settings/data_settings.py,sha256=7xUjrQn1uNCh72FNDcNFzGuM-2e_QOdp3qDXQjW8fCY,703
389
390
  stoobly_agent/app/settings/feature_settings.py,sha256=6Xb7TkQDJLTUjTzmQK1LZ-Xuk3a-LGv6sXEhU1CG5Ls,1089
@@ -405,19 +406,21 @@ stoobly_agent/app/settings/types/remote_settings.py,sha256=4PvEGKULXM0zv29XTDzV7
405
406
  stoobly_agent/app/settings/types/ui_settings.py,sha256=BqPy2F32AbODqzi2mp2kRk28QVUydQIwVmvftn46pco,84
406
407
  stoobly_agent/app/settings/ui_settings.py,sha256=YDEUMPuJFh0SLHaGz6O-Gpz8nwsunNzeuc-TzO9OUbM,1170
407
408
  stoobly_agent/app/settings/url_rule.py,sha256=Qx7YrIpVRSC-4LeNiCAfCtE50Jou4423hojMW-4qUYg,954
408
- stoobly_agent/cli.py,sha256=4WLcWPHWdv5dZEitXtDj6_I5AH5WVvQqE_uDe6bPEno,9906
409
+ stoobly_agent/cli.py,sha256=nZDwOnhcNcZlr2hlznWVDnidPMe3LkVv88HOjamAqmA,10255
409
410
  stoobly_agent/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
410
411
  stoobly_agent/config/constants/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
411
412
  stoobly_agent/config/constants/alias_resolve_strategy.py,sha256=_R1tVqFnyGxCraVS5-dhSskaDj_X8-NthsY7i_bEt9M,119
412
- stoobly_agent/config/constants/custom_headers.py,sha256=IJZzZN77ZpbTr62EkXatm1r-I1_i4HEErO_LlQZLRU0,1279
413
+ stoobly_agent/config/constants/custom_headers.py,sha256=cZZ3nae2fpnk_uUXFNYjrPp7Cdtgv0ytRw-WdHzYMZg,1315
413
414
  stoobly_agent/config/constants/env_vars.py,sha256=HAR_ZIdXXbpWQgCDaRR5RtpVyGXCsMLr_Fh8n6S12K0,1344
414
415
  stoobly_agent/config/constants/headers.py,sha256=Hfv7R8_NPXAGaMiZPqywGZDnr0qcVUyfenPb4g465rE,169
416
+ stoobly_agent/config/constants/intercept_policy.py,sha256=5hIgOft8PQmCRdOHb5OEvEj10tU66DIQF3GYltlWyM8,25
415
417
  stoobly_agent/config/constants/lifecycle_hooks.py,sha256=aobclZmcND_mUnFKkUgpxgwd5EU3pjgAvB-NFf2dCgE,846
416
418
  stoobly_agent/config/constants/mitmproxy.py,sha256=AhaxRGMb7OC4DBqNvyBP0OVQSByCeA-itefzmMoIS14,116
417
- stoobly_agent/config/constants/mock_policy.py,sha256=KrRVPJYRSb0hIH9fjAV9aQ8OsnhnYo9l7dylug62YVg,41
419
+ stoobly_agent/config/constants/mock_policy.py,sha256=oS3eKL5Ezpnm_4zvztcLvvtKppxm7eKvOOBHYKyKpeU,133
418
420
  stoobly_agent/config/constants/mode.py,sha256=J35vV1LPQRhD2ob6DaJ7mLGJrMhv-CVnC6IHWd7b_GM,160
419
- stoobly_agent/config/constants/record_policy.py,sha256=2DZzMMuMSCH9ZEfQDpPQ7fLEiCz7BNLITzCQ7Ti39BQ,89
420
- stoobly_agent/config/constants/replay_policy.py,sha256=5hIgOft8PQmCRdOHb5OEvEj10tU66DIQF3GYltlWyM8,25
421
+ stoobly_agent/config/constants/query_params.py,sha256=b-QQGKTqf-HePt0X4ltFksf5ETiIFPgBvh-kFrF7kUk,63
422
+ stoobly_agent/config/constants/record_policy.py,sha256=n5h5Mw0-RcwEGH18koE3-Krg-ek2rRMDOHdqMxJd4Gg,181
423
+ stoobly_agent/config/constants/replay_policy.py,sha256=FgSUaVb52wknIbTu27cWxvB35ZhxP0g1KNc6Twhtjmc,117
421
424
  stoobly_agent/config/constants/request_origin.py,sha256=zLdLbGb8TQOK5TvsPdD17SAW_OupbM3Y9mKnv7C3BRU,39
422
425
  stoobly_agent/config/constants/statuses.py,sha256=dR88qHHnDR_5ppuKijwc0R24D_fWc69FXrJKOGkU51I,79
423
426
  stoobly_agent/config/constants/test_filter.py,sha256=rQ-eMZ8kpq49pqS1PQhaRx59dlRicd-Ag4sjgoXfpY8,109
@@ -538,8 +541,8 @@ stoobly_agent/public/16-es2015.98fa59c2c96d2caac3c3.js,sha256=UT1Osw9eIQrw_DY78E
538
541
  stoobly_agent/public/16-es5.98fa59c2c96d2caac3c3.js,sha256=PvGoSIj08MWxsyrzxrEEjcVFES8Dxz4oys-7WSvScYc,40776
539
542
  stoobly_agent/public/17-es2015.7f60b56d1fd66d4d5544.js,sha256=JSDKvjqd2vCG2QXnSthxBZWxDiRpAyQh8HbnyQUHsQE,93859
540
543
  stoobly_agent/public/17-es5.7f60b56d1fd66d4d5544.js,sha256=QTLvq9pTwfA4biWhGParTNYqrGJ_Q7PLzTxotH7DO8o,99561
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
544
+ stoobly_agent/public/18-es2015.503207073756a9c8211a.js,sha256=ew5beiZaMh5amY-DO3SKdJY9RsPtRpuxXWDyMaC7mrA,226079
545
+ stoobly_agent/public/18-es5.503207073756a9c8211a.js,sha256=sTUPqkjXmAFGYJ6__YGmj-gkEgxJVtm060mP_yxdnCI,230722
543
546
  stoobly_agent/public/19-es2015.78ec0e9fd228b5104712.js,sha256=_zAPIlDzePQzObhI3ZTJkos1PCpo9oTihpKP32vq8XM,50596
544
547
  stoobly_agent/public/19-es5.78ec0e9fd228b5104712.js,sha256=pW2C1WTXYw2sbGXOf-R8j7erruLi_vgX5NCnr-NRz1c,53473
545
548
  stoobly_agent/public/2-es2015.51eb8544ea9a21f2874c.js,sha256=9mfdispLMBfibZJKNVb8yLQC2oo_k2hl5FCLP9ex8vI,23146
@@ -631,13 +634,13 @@ stoobly_agent/public/assets/img/logo/white.svg,sha256=qUSVIlslmQRkZNQkL6JXhK_rRo
631
634
  stoobly_agent/public/common-es2015.388805227aa99c527fba.js,sha256=VLCjAWJr277Jc0n8V5_4suShUYTflO2KLgGXWjz5fpU,7080
632
635
  stoobly_agent/public/common-es5.388805227aa99c527fba.js,sha256=8DJYZ8fNUrpcb6WCfHgqgnMU3aP0s5lCyskBnLTUeM4,8183
633
636
  stoobly_agent/public/favicon.ico,sha256=duQa4tOX0GPI3u4cEBO5Bt124EWpvymGQDqPfy0LtkM,15086
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
637
+ stoobly_agent/public/index.html,sha256=sb-Wm9ZCR5SAFO55aUso3qJzeJPlVcpwEU_gWwfhBPA,11355
638
+ stoobly_agent/public/main-es2015.d682619f3d6d53d64c6a.js,sha256=rw_RHi1bqUCJcRNaCkfAyTriYxjI-5mLIbgfqCoYamU,1423241
639
+ stoobly_agent/public/main-es5.d682619f3d6d53d64c6a.js,sha256=2cE-vXhQh4v-D8kOncfWVA-VGQUcc3dbPcIzvkv1hIE,1571088
637
640
  stoobly_agent/public/polyfills-es2015.8ce2adc69f283f6c4c5e.js,sha256=SDAz_6WyDiolzuBD-6ZCspWeXeR5gFDvSxFAdihJ3vk,37168
638
641
  stoobly_agent/public/polyfills-es5.7530172ddcec11a10eb3.js,sha256=lue-PFE_AvHlq5HJFPUTUWxayp4_3Ktdg8KwaJQuug4,132015
639
- stoobly_agent/public/runtime-es2015.b914470164e4d6e75d96.js,sha256=b8qfJZaTnQYsUpITTyJGAjJoz8X6dGbjS0PmhSnKBbE,3379
640
- stoobly_agent/public/runtime-es5.b914470164e4d6e75d96.js,sha256=-fZzEph9Vd9VxQwIocep1Noskq2YyghdxFNypTMwjTI,3376
642
+ stoobly_agent/public/runtime-es2015.8c1efed946fc02c923fc.js,sha256=DjLZW5DLkm4A_wSj9-fNtTxmvcbc9ZSuknhW1sDsyYo,3379
643
+ stoobly_agent/public/runtime-es5.8c1efed946fc02c923fc.js,sha256=Lm_RPhYKXElwBi7uNqwLMyN1mpP3CIXS7q0hR3KcQrY,3376
641
644
  stoobly_agent/public/styles.ab281309cf423b2cdcb0.css,sha256=3R9PubCATNJBMZC6bL9IiwQQdennG6uXctnMYKfSw-0,173756
642
645
  stoobly_agent/test/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
643
646
  stoobly_agent/test/app/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -653,7 +656,7 @@ stoobly_agent/test/app/cli/helpers/openapi_endpoint_adapter_additional_props_tes
653
656
  stoobly_agent/test/app/cli/helpers/openapi_endpoint_adapter_missing_info_test.py,sha256=qA6PJEtv1tS7Ksl6R7GjbIS_f9SxINPr8SrcXTuG-WU,3027
654
657
  stoobly_agent/test/app/cli/helpers/openapi_endpoint_adapter_missing_oauth2_scopes_test.py,sha256=Gw_YtZR2EKy09jAJEGQ4phrAoHlzlqhbJ9bLH91UrRU,3143
655
658
  stoobly_agent/test/app/cli/helpers/openapi_endpoint_adapter_missing_servers_test.py,sha256=U7dzCeosp14Nzu3U3PaYPDbiz6dWC2r4nN354BvPbC0,3035
656
- stoobly_agent/test/app/cli/helpers/openapi_endpoint_adapter_test.py,sha256=Mz5aYDW83hd_ErzwPfxSWlGf8efKlv_voRA-qWSTExM,38732
659
+ stoobly_agent/test/app/cli/helpers/openapi_endpoint_adapter_test.py,sha256=4TWs0gmMm8zAZ6h--RxNJoSKVPmOWoxlDPj4wx_8Qy4,38733
657
660
  stoobly_agent/test/app/cli/helpers/schema_builder_test.py,sha256=kWwinMmZdjjfe7KOslTQ0UOP49mqXomfvWBhdhlbMU4,2908
658
661
  stoobly_agent/test/app/cli/helpers/synchronize_request_service_test.py,sha256=5k8u8Xc0oNrRsQ3GrnmvzDU5uoW2u32a9c77-e5YsaQ,8288
659
662
  stoobly_agent/test/app/cli/intercept/intercept_configure_test.py,sha256=rPpnVFWqakOCJ_eqowER9Iy8J0C7Js-i14oqAve0dik,1825
@@ -667,7 +670,7 @@ stoobly_agent/test/app/cli/request/request_snapshot_test.py,sha256=0013aoiMZin-2
667
670
  stoobly_agent/test/app/cli/request/request_test_test.py,sha256=-cJNXKjgryVVfVt-7IN5fIhBwe3NjFoPmeavDH8lAjU,5527
668
671
  stoobly_agent/test/app/cli/scaffold/cli_invoker.py,sha256=_nGDLUsYxqkeqs5DdhvAeXy3IuotpgqKHXKVzu6GDF4,3700
669
672
  stoobly_agent/test/app/cli/scaffold/cli_test.py,sha256=sMNvO845MIu5DVGa1HmwXQDmKDcwrfNTdEb3fK5886w,4557
670
- stoobly_agent/test/app/cli/scaffold/e2e_test.py,sha256=fd_LWwkkjMbQQ39hxG0SwrwXeR-_cycT0Bmz3QOzpss,12978
673
+ stoobly_agent/test/app/cli/scaffold/e2e_test.py,sha256=rTPxC72Qh54qW5AmDQwVAyI9bj6i1rD5LOFGm0XdLrE,12974
671
674
  stoobly_agent/test/app/cli/scaffold/hosts_file_manager_test.py,sha256=sVFHHYBxzyfRbVIe3gnToQ-6JPy71BCBjdQDnboYzac,2306
672
675
  stoobly_agent/test/app/cli/scenario/scenario_create_test.py,sha256=fGqcjO1_1OvdpUMQfGRVkSyFe61u8WIcp_ndLFrf33A,3962
673
676
  stoobly_agent/test/app/cli/scenario/scenario_replay_integration_test.py,sha256=NbGJzmvPsNLBR0ac65yt_cOTfpnsST1IG7i3F0euwAk,7031
@@ -690,16 +693,16 @@ stoobly_agent/test/app/models/adapters/python/request/stoobly_adapter_test.py,sh
690
693
  stoobly_agent/test/app/models/adapters/python/response/mitmproxy_response_adapter_test.py,sha256=dEUhIH5kekZsJDwOmWz0eHA2dWZ7QPYmgq_Na9ce3HA,1176
691
694
  stoobly_agent/test/app/models/adapters/python/response/raw_response_adapter_test.py,sha256=oJ0l2FZEH3-JANcpX4N83GKxqgVkaGRKIS7rsY8O7mM,1199
692
695
  stoobly_agent/test/app/models/factories/resource/local_db/helpers/log_test.py,sha256=FbGtjO_K_L2lZw1i6b1LlZoUyhisYqVST7f9T0PmpFk,3501
693
- stoobly_agent/test/app/models/factories/resource/local_db/helpers/tiebreak_scenario_request_test.py,sha256=5IFGVGn3ogvRT0fzZgXzhrYlSfSlr8IR1p_XExaegMQ,3399
696
+ stoobly_agent/test/app/models/factories/resource/local_db/helpers/tiebreak_scenario_request_test.py,sha256=a1SFLyEyRRLuADvAw6ckQQKORFXvyK1lyrbkaLWx8oU,3399
694
697
  stoobly_agent/test/app/models/factories/resource/local_db/request_adapter_test.py,sha256=Pzq1cBPnP9oSWG-p0c-VoymoHxgp483QmNwmV1b78RA,8453
695
698
  stoobly_agent/test/app/models/factories/resource/local_db/response_adapter_test.py,sha256=9P95EKH5rZGOrmRkRIDlQZqtiLJHk9735og18Ffwpfw,2204
696
- stoobly_agent/test/app/models/schemas/.stoobly/db/VERSION,sha256=8LZyMhqJSE9NqFn_x0G7_otbaT04f34F-Exd5iWhzGE,5
699
+ stoobly_agent/test/app/models/schemas/.stoobly/db/VERSION,sha256=H03AltWPfSHjh1ZxrubymxIKuEIY-kfbLLU7yetbTaw,5
697
700
  stoobly_agent/test/app/models/schemas/.stoobly/db/stoobly_agent.sqlite3,sha256=ch8gNx6zIelLKQx65gwFx_LRNqUD3EC5xcHZ0ukIQiU,188416
698
701
  stoobly_agent/test/app/models/schemas/.stoobly/settings.yml,sha256=vLwMjweKOdod6tSLtIlyBefPQuNXq9wio4kBaODKtAU,726
699
702
  stoobly_agent/test/app/models/schemas/.stoobly/tmp/options.json,sha256=OTRzarwus48CTrItedXCrgQttJHSEZonEYc7R_knvYg,2212
700
703
  stoobly_agent/test/app/models/schemas/request_test.py,sha256=9SF43KXbjO-vMr2uObPJlyLeop_JQstl6Jrh0M1A70c,1116
701
704
  stoobly_agent/test/app/proxy/mitmproxy/request_facade_test.py,sha256=sXlzjKVvpORJ8fxEs5Qfc4IC0itTWxqDIzMujGjlW7I,5765
702
- stoobly_agent/test/app/proxy/mock/eval_fixtures_service_test.py,sha256=emXLQUp_C5_tuQxx1l82WN-KEU8_dHKs3Cy4BnMQJ7k,3181
705
+ stoobly_agent/test/app/proxy/mock/eval_fixtures_service_test.py,sha256=LTn7iWtHyNVqezRfM2Uf_BiK4vFnS3hgoaIdrzjkcPk,5739
703
706
  stoobly_agent/test/app/proxy/replay/body_parser_service_test.py,sha256=MTC4a3QxrptHzroHAfgrCEzCZ3Ur0Ijyj9_3k-bG0jQ,1228
704
707
  stoobly_agent/test/app/proxy/replay/rewrite_params_service_test.py,sha256=4KVaP48KjCeoZKqY3IdrFAP5Pnb3jO86k8L7ffvz2ZI,3770
705
708
  stoobly_agent/test/app/proxy/replay/trace_context_test.py,sha256=hwugGI0RMpzuanyHsDzQeck9lW_AgqMczGZ5u2wHNkE,13150
@@ -711,11 +714,15 @@ stoobly_agent/test/app/test/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMp
711
714
  stoobly_agent/test/app/test/matchers/contract_test.py,sha256=fMV8BX4JfbIOD5i7ZV77jGHQDk1M-SkveM3xl5AbBEg,4525
712
715
  stoobly_agent/test/app/test/matchers/diff_test.py,sha256=fNbzAz3MptieVIrMInxGlNa4FsBh-VQ2m7-OsrNm9sw,10266
713
716
  stoobly_agent/test/app/test/matchers/fuzzy_test.py,sha256=wkySpK00dFZLlXmW7xE7Q6UPJYLiq8aCnIHt4Nm4WEk,3231
714
- stoobly_agent/test/cli/mock_test.py,sha256=Y3E_I4FnDf3aEOl1dDABC6x571iBgZuINE5giTH5Lcs,4566
715
- stoobly_agent/test/cli/record_test.py,sha256=UOR6KyN8FHRdo2k4ybC2OTKiMNg6Gns-A0qA4CeqlKI,13188
717
+ stoobly_agent/test/cli/lifecycle_hooks_test.py,sha256=zjLI8zteszWXgQuyEYM47MtI8KgLbEFVYJTaJdyBqOc,2491
718
+ stoobly_agent/test/cli/mock_scenario_lifecycle_hooks.py,sha256=e57A3FWHt1ZgaWKhbl4Hs2Y4ux8tKMu9nxbqPCj6w54,254
719
+ stoobly_agent/test/cli/mock_scenario_test.py,sha256=tHT-p8Vm8APP2KOlyfZ-5z_AxZO9TS4sDgui3X2qkaE,2620
720
+ stoobly_agent/test/cli/mock_test.py,sha256=zYAFhHkR-1oafZzzL_4aPOWzM2nXWRHGt36yTAuG8Rw,5636
721
+ stoobly_agent/test/cli/record_test.py,sha256=CG7prrooTgkW8RYaiDRYD3LuuDIR8dz8jaP9RNRrF4o,15814
716
722
  stoobly_agent/test/config/data_dir_test.py,sha256=sszUW6MKGFCS9JGhYL-E91hBzfI2jMaHRJMifNjZ00M,2659
717
723
  stoobly_agent/test/mock_data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
718
724
  stoobly_agent/test/mock_data/endpoint_show_response.py,sha256=JFEkceHI6nH38zitCbFMozE1lODahxmvj70N5eM_sec,5901
725
+ stoobly_agent/test/mock_data/lifecycle_hooks.py,sha256=mLUSEMD-brQhLFKximX_kNmXjzrJTpGUwXnX4BPvx1E,1054
719
726
  stoobly_agent/test/mock_data/petstore-additional-props.yaml,sha256=CU5363OV1gFS9nC-oa6sRHncSQy16CF90kBalkCySQA,1512
720
727
  stoobly_agent/test/mock_data/petstore-expanded.yaml,sha256=O7tuNSMoFXIz0ddEUvlJnYm0qaSmysLLFuDcMGWssJw,5583
721
728
  stoobly_agent/test/mock_data/petstore-missing-info.yaml,sha256=kM1LTKv9ntbY0aPS5dC1zfy0PzvXe50L4P0m4c2QT-g,1474
@@ -730,8 +737,8 @@ stoobly_agent/test/mock_data/scaffold/docker-compose-local-service.yml,sha256=x7
730
737
  stoobly_agent/test/mock_data/scaffold/index.html,sha256=qJwuYajKZ4ihWZrJQ3BNObV5kf1VGnnm_vqlPJzdqLE,258
731
738
  stoobly_agent/test/mock_data/uspto.yaml,sha256=6U5se7C3o-86J4m9xpOk9Npias399f5CbfWzR87WKwE,7835
732
739
  stoobly_agent/test/test_helper.py,sha256=m_oAI7tmRYCNZdKfNqISWhMv3e44tjeYViQ3nTUfnos,1007
733
- stoobly_agent-1.4.2.dist-info/LICENSE,sha256=8QKGyy45eN76Zk52h8gu1DKX2B_gbWgZ3nzDLofEbaE,548
734
- stoobly_agent-1.4.2.dist-info/METADATA,sha256=s7d8HJFX_n4hI7qcFJ3pFkoF-tmRNMIyOAq-CI59vKQ,3384
735
- stoobly_agent-1.4.2.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
736
- stoobly_agent-1.4.2.dist-info/entry_points.txt,sha256=aq5wix5oC8MDQtmyPGU0xaFrsjJg7WH28NmXh2sc3Z8,56
737
- stoobly_agent-1.4.2.dist-info/RECORD,,
740
+ stoobly_agent-1.5.1.dist-info/LICENSE,sha256=o93sj12cdoEOsTCjPaPFsw3Xq0SXs3pPcY-9reE2sEw,548
741
+ stoobly_agent-1.5.1.dist-info/METADATA,sha256=9Iio88ZqJsyCuENaWJPg_Ghxdd53RZtYsQzuqCJDR-E,3087
742
+ stoobly_agent-1.5.1.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
743
+ stoobly_agent-1.5.1.dist-info/entry_points.txt,sha256=aq5wix5oC8MDQtmyPGU0xaFrsjJg7WH28NmXh2sc3Z8,56
744
+ stoobly_agent-1.5.1.dist-info/RECORD,,