stoobly-agent 1.1.4__py3-none-any.whl → 1.2.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 (22) hide show
  1. stoobly_agent/__init__.py +1 -1
  2. stoobly_agent/app/cli/scaffold/app_command.py +3 -1
  3. stoobly_agent/app/cli/scaffold/app_create_command.py +1 -1
  4. stoobly_agent/app/cli/scaffold/docker/constants.py +1 -0
  5. stoobly_agent/app/cli/scaffold/docker/service/set_gateway_ports.py +13 -13
  6. stoobly_agent/app/cli/scaffold/templates/app/.Dockerfile.context +1 -1
  7. stoobly_agent/app/cli/scaffold/templates/app/.Dockerfile.proxy +1 -1
  8. stoobly_agent/app/cli/scaffold/templates/app/.Makefile +14 -13
  9. stoobly_agent/app/cli/scaffold/templates/app/gateway/{.docker-compose.base.yml → .docker-compose.base.template.yml} +0 -1
  10. stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/exec/bin/{.stop → .down} +1 -1
  11. stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/exec/bin/{.run → .up} +1 -1
  12. stoobly_agent/app/cli/scaffold/workflow_run_command.py +1 -1
  13. stoobly_agent/app/cli/scaffold_cli.py +2 -2
  14. stoobly_agent/test/app/cli/scaffold/cli_invoker.py +4 -4
  15. stoobly_agent/test/app/cli/scaffold/cli_test.py +1 -1
  16. stoobly_agent/test/app/cli/scaffold/e2e_test.py +4 -4
  17. stoobly_agent/test/app/models/schemas/.stoobly/db/VERSION +1 -1
  18. {stoobly_agent-1.1.4.dist-info → stoobly_agent-1.2.1.dist-info}/METADATA +1 -1
  19. {stoobly_agent-1.1.4.dist-info → stoobly_agent-1.2.1.dist-info}/RECORD +22 -22
  20. {stoobly_agent-1.1.4.dist-info → stoobly_agent-1.2.1.dist-info}/LICENSE +0 -0
  21. {stoobly_agent-1.1.4.dist-info → stoobly_agent-1.2.1.dist-info}/WHEEL +0 -0
  22. {stoobly_agent-1.1.4.dist-info → stoobly_agent-1.2.1.dist-info}/entry_points.txt +0 -0
stoobly_agent/__init__.py CHANGED
@@ -1,2 +1,2 @@
1
1
  COMMAND = 'stoobly-agent'
2
- VERSION = '1.1.4'
2
+ VERSION = '1.2.1'
@@ -12,7 +12,9 @@ class AppCommand(Command):
12
12
  super().__init__(app)
13
13
 
14
14
  self.__config = AppConfig(self.scaffold_namespace_path)
15
- self.__config.network = app.network
15
+
16
+ if not self.__config.network:
17
+ self.__config.network = app.network
16
18
 
17
19
  @property
18
20
  def app_dir_path(self):
@@ -19,6 +19,6 @@ class AppCreateCommand(AppCommand):
19
19
  self.app.copy_folders_and_hidden_files(self.app_templates_root_dir, dest)
20
20
 
21
21
  with open(os.path.join(dest, '.gitignore'), 'w') as fp:
22
- fp.write("\n".join(['**/.env']))
22
+ fp.write("\n".join(['gateway/.docker-compose.base.yml', '**/.env']))
23
23
 
24
24
  self.app_config.write()
@@ -1,5 +1,6 @@
1
1
  APP_NETWORK = '${APP_NETWORK}'
2
2
  DOCKER_COMPOSE_BASE = '.docker-compose.base.yml'
3
+ DOCKER_COMPOSE_BASE_TEMPLATE = '.docker-compose.base.template.yml'
3
4
  DOCKER_COMPOSE_CUSTOM = 'docker-compose.yml'
4
5
  DOCKERFILE_CONTEXT = '.Dockerfile.context'
5
6
  DOCKERFILE_PROXY = '.Dockerfile.proxy'
@@ -5,7 +5,7 @@ import yaml
5
5
  from typing import List
6
6
 
7
7
  from stoobly_agent.app.cli.scaffold.service_config import ServiceConfig
8
- from stoobly_agent.app.cli.scaffold.docker.constants import DOCKER_COMPOSE_BASE
8
+ from stoobly_agent.app.cli.scaffold.docker.constants import DOCKER_COMPOSE_BASE, DOCKER_COMPOSE_BASE_TEMPLATE
9
9
  from stoobly_agent.app.cli.scaffold.templates.constants import CORE_GATEWAY_SERVICE_NAME
10
10
 
11
11
  def set_gateway_ports(service_paths: List[str]):
@@ -20,15 +20,18 @@ def set_gateway_ports(service_paths: List[str]):
20
20
  port = int(config.port)
21
21
  except Exception:
22
22
  continue
23
-
24
- if port > 0 and port <= 65535 and port not in ports:
25
- ports.append(port)
23
+
24
+ port_mapping = f"{port}:{443 if config.scheme == 'https' else 80}"
25
+ if port > 0 and port <= 65535 and port_mapping not in ports:
26
+ ports.append(port_mapping)
26
27
 
27
28
  app_dir_path = os.path.dirname(service_paths[0])
28
29
  gateway_service_path = os.path.join(app_dir_path, CORE_GATEWAY_SERVICE_NAME)
29
- docker_compose_path = os.path.join(gateway_service_path, DOCKER_COMPOSE_BASE)
30
+ docker_compose_src_path = os.path.join(gateway_service_path, DOCKER_COMPOSE_BASE_TEMPLATE)
31
+ docker_compose_dest_path = os.path.join(gateway_service_path, DOCKER_COMPOSE_BASE)
30
32
 
31
- with open(docker_compose_path, 'r+') as fp:
33
+ compose = {}
34
+ with open(docker_compose_src_path, 'r') as fp:
32
35
  compose = yaml.safe_load(fp)
33
36
  services = compose.get('services')
34
37
 
@@ -37,11 +40,8 @@ def set_gateway_ports(service_paths: List[str]):
37
40
 
38
41
  gateway_base = services.get('gateway_base')
39
42
 
40
- if not gateway_base:
41
- return
42
-
43
- gateway_base['ports'] = list(map(lambda port: f"{port}:{port}", ports))
43
+ if gateway_base:
44
+ gateway_base['ports'] = ports
44
45
 
45
- fp.seek(0)
46
- yaml.dump(compose, fp)
47
- fp.truncate()
46
+ with open(docker_compose_dest_path, 'w') as fp:
47
+ yaml.dump(compose, fp)
@@ -1,4 +1,4 @@
1
- FROM stoobly/agent:1.1
1
+ FROM stoobly/agent:1.2
2
2
 
3
3
  ARG USER_ID
4
4
 
@@ -19,7 +19,7 @@ WORKDIR /home/mkcert
19
19
 
20
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
21
 
22
- FROM stoobly/agent:1.1
22
+ FROM stoobly/agent:1.2
23
23
 
24
24
  ARG SERVICE_HOSTNAME
25
25
  ARG USER_ID
@@ -28,16 +28,17 @@ docker_compose_command=docker compose
28
28
  source_env=set -a; [ -f .env ] && source .env; set +a
29
29
 
30
30
  docker_compose_file_path=$(app_data_dir)/docker/stoobly-ui/exec/.docker-compose.exec.yml
31
+
31
32
  stoobly_exec_args=--profile $(EXEC_WORKFLOW_NAME) -p $(EXEC_WORKFLOW_NAME) up --remove-orphans
32
- stoobly_exec_env=export CONTEXT_DIR=$(context_dir) && export USER_ID=$$UID && export CA_CERTS_DIR="$(ca_certs_dir)"
33
+ stoobly_exec_build=$(docker_compose_command) -f "$(docker_compose_file_path)" $(stoobly_exec_build_args)
33
34
  stoobly_exec_build_args=--profile $(EXEC_WORKFLOW_NAME) -p $(EXEC_WORKFLOW_NAME) build --pull --quiet
34
- stoobly_exec_build=$(docker_compose_command) "$(docker_compose_file_path)" $(stoobly_exec_build_args)
35
+ stoobly_exec_env=export CONTEXT_DIR=$(context_dir) && export USER_ID=$$UID && export CA_CERTS_DIR="$(ca_certs_dir)"
36
+
35
37
  stoobly_exec=$(stoobly_exec_env) && $(source_env) && $(stoobly_exec_build) && $(docker_compose_command) -f "$(docker_compose_file_path)" $(stoobly_exec_args)
36
38
 
37
39
  # Because scaffold is stored in the APP_DIR, when running a scaffold command from within a container,
38
40
  # it needs access to APP_DIR rather than CONTEXT_DIR
39
- stoobly_exec_run_env=export USER_ID=$$UID && export CA_CERTS_DIR="$(ca_certs_dir)"
40
- stoobly_exec_run=$(stoobly_exec_run_env) && $(source_env) && CONTEXT_DIR=$(app_dir) $(docker_compose_command) -f "$(docker_compose_file_path)" $(stoobly_exec_args)
41
+ stoobly_exec_run=$(stoobly_exec_env) && $(source_env) && $(stoobly_exec_build) && CONTEXT_DIR=$(app_dir) $(docker_compose_command) -f "$(docker_compose_file_path)" $(stoobly_exec_args)
41
42
 
42
43
  workflow_run_script=$(app_data_dir)/tmp/run.sh
43
44
  workflow_run_env=export APP_DIR="$(app_dir)" && export CERTS_DIR="$(certs_dir)" && export CONTEXT_DIR="$(context_dir)"
@@ -65,7 +66,7 @@ intercept/enable:
65
66
  export EXEC_ARGS=$(scenario_key) && \
66
67
  $(stoobly_exec)
67
68
  mock: nameservers
68
- @export EXEC_COMMAND=bin/.run && \
69
+ @export EXEC_COMMAND=bin/.up && \
69
70
  export EXEC_OPTIONS="$(workflow_run_options)$(options)" && \
70
71
  export EXEC_ARGS="mock" && \
71
72
  $(stoobly_exec_run) && \
@@ -76,14 +77,14 @@ mock/logs:
76
77
  export EXEC_ARGS="mock" && \
77
78
  $(stoobly_exec_run) && \
78
79
  $(workflow_run)
79
- mock/stop:
80
- @export EXEC_COMMAND=bin/.stop && \
80
+ mock/down:
81
+ @export EXEC_COMMAND=bin/.down && \
81
82
  export EXEC_OPTIONS="$(options)" && \
82
83
  export EXEC_ARGS="mock" && \
83
84
  $(stoobly_exec_run) && \
84
85
  $(workflow_run)
85
86
  record: nameservers
86
- @export EXEC_COMMAND=bin/.run && \
87
+ @export EXEC_COMMAND=bin/.up && \
87
88
  export EXEC_OPTIONS="$(workflow_run_options)$(options)" && \
88
89
  export EXEC_ARGS="record" && \
89
90
  $(stoobly_exec_run) && \
@@ -94,8 +95,8 @@ record/logs:
94
95
  export EXEC_ARGS="record" && \
95
96
  $(stoobly_exec_run) && \
96
97
  $(workflow_run)
97
- record/stop:
98
- @export EXEC_COMMAND=bin/.stop && \
98
+ record/down:
99
+ @export EXEC_COMMAND=bin/.down && \
99
100
  export EXEC_OPTIONS="$(options)" && \
100
101
  export EXEC_ARGS="record" && \
101
102
  $(stoobly_exec_run) && \
@@ -130,7 +131,7 @@ scenario/snapshot:
130
131
  export EXEC_ARGS="$(key)" && \
131
132
  $(stoobly_exec)
132
133
  test:
133
- @export EXEC_COMMAND=bin/.run && \
134
+ @export EXEC_COMMAND=bin/.up && \
134
135
  export EXEC_OPTIONS="$(workflow_run_options)$(options)" && \
135
136
  export EXEC_ARGS="test" && \
136
137
  $(stoobly_exec_run) && \
@@ -141,8 +142,8 @@ test/logs:
141
142
  export EXEC_ARGS="test" && \
142
143
  $(stoobly_exec_run) && \
143
144
  $(workflow_run)
144
- test/stop:
145
- @export EXEC_COMMAND=bin/.stop && \
145
+ test/down:
146
+ @export EXEC_COMMAND=bin/.down && \
146
147
  export EXEC_OPTIONS="$(options)" && \
147
148
  export EXEC_ARGS="test" && \
148
149
  $(stoobly_exec_run) && \
@@ -3,7 +3,6 @@ services:
3
3
  environment:
4
4
  TRUST_DOWNSTREAM_PROXY: true
5
5
  image: nginxproxy/nginx-proxy:1.5
6
- ports: {}
7
6
  profiles:
8
7
  - gateway_base
9
8
  volumes:
@@ -5,7 +5,7 @@ workflow=$1
5
5
 
6
6
  mkdir -p .stoobly/tmp
7
7
 
8
- stoobly-agent scaffold workflow stop \
8
+ stoobly-agent scaffold workflow down \
9
9
  --app-dir-path "$(pwd)" \
10
10
  --dry-run \
11
11
  --log-level error \
@@ -7,7 +7,7 @@ mkdir -p .stoobly/tmp
7
7
 
8
8
  stoobly-agent scaffold app mkcert
9
9
 
10
- stoobly-agent scaffold workflow run \
10
+ stoobly-agent scaffold workflow up \
11
11
  --app-dir-path "$(pwd)" \
12
12
  --dry-run \
13
13
  --log-level warning \
@@ -34,7 +34,7 @@ class WorkflowRunCommand(WorkflowCommand):
34
34
  self.__certs_dir_path = app.certs_dir_path
35
35
  self.__context_dir_path = app.context_dir_path
36
36
  self.__extra_compose_path = kwargs.get('extra_compose_path')
37
- self.__network = kwargs.get('network') or app.network
37
+ self.__network = kwargs.get('network') or self.app_config.network
38
38
 
39
39
  @property
40
40
  def ca_certs_dir_path(self):
@@ -252,7 +252,7 @@ def copy(**kwargs):
252
252
  @click.option('--rmi', is_flag=True, help='Remove images used by containers.')
253
253
  @click.option('--service', multiple=True, help='Select which services to log. Defaults to all.')
254
254
  @click.argument('workflow_name')
255
- def stop(**kwargs):
255
+ def down(**kwargs):
256
256
  cwd = os.getcwd()
257
257
 
258
258
  if not os.getenv(env_vars.LOG_LEVEL):
@@ -364,7 +364,7 @@ def logs(**kwargs):
364
364
  @click.option('--service', multiple=True, help='Select which services to run. Defaults to all.')
365
365
  @click.option('--verbose', is_flag=True)
366
366
  @click.argument('workflow_name')
367
- def run(**kwargs):
367
+ def up(**kwargs):
368
368
  cwd = os.getcwd()
369
369
 
370
370
  # Create the certs_dir_path if it doesn't exist
@@ -107,8 +107,8 @@ class ScaffoldCliInvoker():
107
107
  assert not output
108
108
 
109
109
  @staticmethod
110
- def cli_workflow_run(runner: CliRunner, app_dir_path: str, target_workflow_name: str):
111
- command = ['workflow', 'run',
110
+ def cli_workflow_up(runner: CliRunner, app_dir_path: str, target_workflow_name: str):
111
+ command = ['workflow', 'up',
112
112
  '--app-dir-path', app_dir_path,
113
113
  '--context-dir-path', app_dir_path,
114
114
  target_workflow_name,
@@ -120,8 +120,8 @@ class ScaffoldCliInvoker():
120
120
  assert output
121
121
 
122
122
  @staticmethod
123
- def cli_workflow_stop(runner: CliRunner, app_dir_path: str, target_workflow_name: str):
124
- command = ['workflow', 'stop',
123
+ def cli_workflow_down(runner: CliRunner, app_dir_path: str, target_workflow_name: str):
124
+ command = ['workflow', 'down',
125
125
  '--app-dir-path', app_dir_path,
126
126
  '--context-dir-path', app_dir_path,
127
127
  target_workflow_name,
@@ -85,7 +85,7 @@ class TestScaffoldCli():
85
85
  @pytest.fixture(scope="class", autouse=True)
86
86
  def cleanup_after_all(self, runner, app_dir_path, target_workflow_name):
87
87
  yield
88
- ScaffoldCliInvoker.cli_workflow_stop(runner, app_dir_path, target_workflow_name)
88
+ ScaffoldCliInvoker.cli_workflow_down(runner, app_dir_path, target_workflow_name)
89
89
  shutil.rmtree(app_dir_path)
90
90
 
91
91
 
@@ -129,12 +129,12 @@ class TestScaffoldE2e():
129
129
  # Generate certs
130
130
  ScaffoldCliInvoker.cli_app_mkcert(runner, app_dir_path)
131
131
 
132
- ScaffoldCliInvoker.cli_workflow_run(runner, app_dir_path, target_workflow_name)
132
+ ScaffoldCliInvoker.cli_workflow_up(runner, app_dir_path, target_workflow_name)
133
133
 
134
134
  @pytest.fixture(scope="class", autouse=True)
135
135
  def cleanup_after_all(self, runner, app_dir_path, target_workflow_name):
136
136
  yield
137
- ScaffoldCliInvoker.cli_workflow_stop(runner, app_dir_path, target_workflow_name)
137
+ ScaffoldCliInvoker.cli_workflow_down(runner, app_dir_path, target_workflow_name)
138
138
  shutil.rmtree(app_dir_path)
139
139
 
140
140
  def test_core_components(self, app_dir_path, target_workflow_name):
@@ -252,12 +252,12 @@ class TestScaffoldE2e():
252
252
  with open(f"{command.fixtures_dir_path}/shared_file.txt", 'w') as file:
253
253
  file.write('this is a shared file')
254
254
 
255
- ScaffoldCliInvoker.cli_workflow_run(runner, app_dir_path, target_workflow_name=target_workflow_name)
255
+ ScaffoldCliInvoker.cli_workflow_up(runner, app_dir_path, target_workflow_name=target_workflow_name)
256
256
 
257
257
  @pytest.fixture(scope="class", autouse=True)
258
258
  def cleanup_after_all(self, runner, app_dir_path, target_workflow_name):
259
259
  yield
260
- ScaffoldCliInvoker.cli_workflow_stop(runner, app_dir_path, target_workflow_name)
260
+ ScaffoldCliInvoker.cli_workflow_down(runner, app_dir_path, target_workflow_name)
261
261
  shutil.rmtree(app_dir_path)
262
262
 
263
263
  def test_no_core_components(self, app_dir_path, target_workflow_name):
@@ -1 +1 @@
1
- 1.0.14
1
+ 1.1.4
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: stoobly-agent
3
- Version: 1.1.4
3
+ Version: 1.2.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
@@ -1,4 +1,4 @@
1
- stoobly_agent/__init__.py,sha256=Yo6V8wUKHZVrGSNKqSTOAnMe9-EQ8shkE9omphzkopM,44
1
+ stoobly_agent/__init__.py,sha256=Rqvjc6nJa09O_p3-LeYoTIjjvW7PHQVwyhk5o56Z_-A,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=jf4fkqjOiCeI2IM5Ro7ie0v_C6y0-7-5TIE_IKMPOfg,5513
@@ -68,20 +68,20 @@ stoobly_agent/app/cli/report_cli.py,sha256=ZxJw0Xkx7KFZJn9e45BSKRKon8AD0Msrwy1fb
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
70
  stoobly_agent/app/cli/scaffold/app.py,sha256=8YJtx0-PcnnNod31OaSv0K53Xb38pn2eDedj-a7QXCY,3665
71
- stoobly_agent/app/cli/scaffold/app_command.py,sha256=o6WV6tcMGBWJsPFdV2DD-m1Dq0cy3Q3SESokaU5hgp4,2061
71
+ stoobly_agent/app/cli/scaffold/app_command.py,sha256=WwOr8QU61iuNXXdG37gOTZ6D0ZawM3eixCOa10TMP8c,2098
72
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=1qdKvRvJDmDmYERvbhaUapsglOOWPEHpCj0o7U7bQfo,550
73
+ stoobly_agent/app/cli/scaffold/app_create_command.py,sha256=5av5txxNJllELMYliIEPnhLLVq_N5ktoBxf8naJUGG0,586
74
74
  stoobly_agent/app/cli/scaffold/command.py,sha256=klpsgL6V7b2DRHpN33pl-QlmntDkvDO_dsF5JziYnL8,245
75
75
  stoobly_agent/app/cli/scaffold/config.py,sha256=HZU5tkvr3dkPr4JMXZtrJlu2wxxO-134Em6jReFFcq0,688
76
76
  stoobly_agent/app/cli/scaffold/constants.py,sha256=KBZj-eQoDmoUOJgcekyfeyi1UB0_UlxqrcWZyXEmBXA,1950
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=IsXZFUumWEBA8NYDFdAohuKmxocoqHqlVFg0-E92QLI,621
79
79
  stoobly_agent/app/cli/scaffold/docker/builder.py,sha256=lNOvDxoLB1L8KSDrvoG4CUuWLAM2egLxwOWeV9Tf8H8,2832
80
- stoobly_agent/app/cli/scaffold/docker/constants.py,sha256=bYq2i3iib_YhdE-wtL42qnwPbtfgMSwtfGpT4nFT0fk,394
80
+ stoobly_agent/app/cli/scaffold/docker/constants.py,sha256=fGHH_DlGd4mTogggJLHLigUscZmBrigkNmDwKQq6src,461
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
83
  stoobly_agent/app/cli/scaffold/docker/service/builder.py,sha256=vj7Vm7eK8E8DPtD4o5X0IJA4HPdgtA2lV2wm3nGTa1c,3207
84
- stoobly_agent/app/cli/scaffold/docker/service/set_gateway_ports.py,sha256=jvlO5xjATNIp8Gr0yP2O7a68bOK-8cAiKNqRWCFzK1s,1221
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
@@ -102,9 +102,9 @@ stoobly_agent/app/cli/scaffold/service_docker_compose.py,sha256=OMUN1-ujQYIZXxDv
102
102
  stoobly_agent/app/cli/scaffold/service_workflow.py,sha256=sQ_Edy_wGHKMXpD0DmhnOWkGEKz7gSgEGNI8f7aXOdg,444
103
103
  stoobly_agent/app/cli/scaffold/service_workflow_validate_command.py,sha256=z7Z_vS2dTpYuRMRd7esnXWpc_drWSX1hiojJgieHunw,10089
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=qvZFhJxfGAYMKr2VfYye5LX264phfl4cIfkS-TJs2-w,193
106
- stoobly_agent/app/cli/scaffold/templates/app/.Dockerfile.proxy,sha256=HN2tv7dfJL9riJUrrtQRHZTC2QeSTf06tQ8aBhdHAaw,1027
107
- stoobly_agent/app/cli/scaffold/templates/app/.Makefile,sha256=bgTrBzD5S5ulLtwJe2qS4YmFz8ev_uAM4KbPfaEDSBg,5578
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=yHRthD0lXMMQ7NouU9esmrqf9wIyTHrARvdZKeIWXVY,5518
108
108
  stoobly_agent/app/cli/scaffold/templates/app/.docker-compose.base.yml,sha256=LNNuygX6hMtmElxaO6jTIYq3psYmxNv7xax7ra6JzO4,407
109
109
  stoobly_agent/app/cli/scaffold/templates/app/Makefile,sha256=t7xRaCc9q3k7W34S0h9KX02GljSVwGpPnFmiLUvWxsw,80
110
110
  stoobly_agent/app/cli/scaffold/templates/app/build/.config.yml,sha256=8Wt8ZZ5irvBYYS44xGrR_EWlZDuXH9kyWmquzsh7s8g,19
@@ -145,7 +145,7 @@ stoobly_agent/app/cli/scaffold/templates/app/entrypoint/test/bin/configure,sha25
145
145
  stoobly_agent/app/cli/scaffold/templates/app/entrypoint/test/bin/init,sha256=O7czui9GFHbcoEC5I9MwkRyZvDGY42IwlyQwIWcgylY,12
146
146
  stoobly_agent/app/cli/scaffold/templates/app/entrypoint/test/docker-compose.yml,sha256=E4gGJwHfnZoFo9-0vM17-Qg5LPjx7vIPpcz2K7eiZg0,591
147
147
  stoobly_agent/app/cli/scaffold/templates/app/gateway/.config.yml,sha256=XnLQZMzzMMIwVycjyPN5QXsmRztkTFAna1kIHYuDfJQ,19
148
- stoobly_agent/app/cli/scaffold/templates/app/gateway/.docker-compose.base.yml,sha256=llkTquAphT3lyP4gBKK3tNjpOCEsdz_Oneua7792d4M,265
148
+ stoobly_agent/app/cli/scaffold/templates/app/gateway/.docker-compose.base.template.yml,sha256=bgBvyDhyehS75D2ObEi7sl9DLGV6U3c9JhCAncsvjq8,251
149
149
  stoobly_agent/app/cli/scaffold/templates/app/gateway/mock/.docker-compose.mock.yml,sha256=LiMgBvOozkBH34-72kQXLylmrnERwjQfs8aws6BlZHM,232
150
150
  stoobly_agent/app/cli/scaffold/templates/app/gateway/record/.docker-compose.record.yml,sha256=4pwMuBdfaf9hX1RVJ3KU3FY4E5BXYSPFsfUGKmiuXPk,234
151
151
  stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/.config.yml,sha256=XnLQZMzzMMIwVycjyPN5QXsmRztkTFAna1kIHYuDfJQ,19
@@ -154,14 +154,14 @@ stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/exec/.docker-compose.exe
154
154
  stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/exec/bin/.create,sha256=EZe84bLAKB-mrB9PGMx-amyMjp6x-ESUZKC8wxrWdLE,245
155
155
  stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/exec/bin/.delete,sha256=RspRDQ7WT5jpN2o-6qXOlH-A2VpN4981pD4ZJljk9Rw,260
156
156
  stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/exec/bin/.disable,sha256=xVf4Pk1RLvJm7Ff0rbGoWhYHPv0ME5e93fxS2yFqLnE,45
157
+ stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/exec/bin/.down,sha256=3xROM9J45s2C-qWZ5_IW23AU9U8YyNXI2ka_xGYNHeQ,232
157
158
  stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/exec/bin/.enable,sha256=sfUSPG4uHdXX95BLgivXQYLbsLBP2DjJIiSTXRtvXuY,188
158
159
  stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/exec/bin/.list,sha256=BdX3ARC-Piuwk0vFzBrcxEwtHjdFncpORzqP-hP4IwE,84
159
160
  stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/exec/bin/.logs,sha256=2F1_IVU6Whj6bVXz7WcwSQKKQFO0HyBK22BdoSCUjbQ,187
160
161
  stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/exec/bin/.mkcert,sha256=vyHaXmvy-7oL2RD8rIxwT-fdJS5kXmB0yHK5fRMo_cM,46
161
162
  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/.run,sha256=Jkx7q0MO8pYCSnlOEAEkx2Odgb8xbUeylv_RLHDD8NI,268
163
163
  stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/exec/bin/.snapshot,sha256=Kav1QNhKG7f0DBzc4-9dmxZMmmVTxmPqakT_W4kVYKk,241
164
- stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/exec/bin/.stop,sha256=qj5fRkBubAGGAKiFrjHPMVULDiRLMsIkEF5Al3uhQlo,232
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=Ba-jNMZUcq62kK_hLpaN7dkEwz3_ZS91aJOOJ8U3Ark,257
166
166
  stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/record/.docker-compose.record.yml,sha256=cbK8vJUnk8llJ6pIE65AxJxD6SSal2ugm5sKjtz3uRY,260
167
167
  stoobly_agent/app/cli/scaffold/templates/constants.py,sha256=TjuWAZuAbWxS1hZR4jViF1LTBzT8iKLIJE65AvWRKNI,1460
@@ -193,9 +193,9 @@ stoobly_agent/app/cli/scaffold/workflow_copy_command.py,sha256=R9hh5dWVz7vGld7pE
193
193
  stoobly_agent/app/cli/scaffold/workflow_create_command.py,sha256=5xnRYrVb2KlSDARZFjLGGWeURXRu63OHoRLEhO-EAvw,3401
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=ICJZXBa93GwDmMqk_dWU6ACnpPUUa4YJcpFxozRCtDc,8283
196
+ stoobly_agent/app/cli/scaffold/workflow_run_command.py,sha256=9ww-kdQAVEuJ5GoF14qrtYCpqYHOakAk13OoiPqe4tQ,8295
197
197
  stoobly_agent/app/cli/scaffold/workflow_validate_command.py,sha256=fhHciJXg_u32Wmh8us8LhgQj8D1SxkBADtuBBF4K0FM,4377
198
- stoobly_agent/app/cli/scaffold_cli.py,sha256=3u5sj_bHW8AjokFNCeoX52hbLWB8gstXJjL26FiXZIM,19819
198
+ stoobly_agent/app/cli/scaffold_cli.py,sha256=SAE6csE_pwE6vTeu054toGYHvz82bD1n4-dGY-FBxdk,19818
199
199
  stoobly_agent/app/cli/scenario_cli.py,sha256=3J1EiJOvunkfWrEkOsanw-XrKkOk78ij_GjBlE9p7CE,8229
200
200
  stoobly_agent/app/cli/snapshot_cli.py,sha256=XNxpTm5z3bnBGNGI3_XZIif0ypN62WqYfDmShL5fXg4,9965
201
201
  stoobly_agent/app/cli/trace_cli.py,sha256=K7E-vx3JUcqEDSWOdIOi_AieKNQz7dBfmRrVvKDkzFI,4605
@@ -664,9 +664,9 @@ stoobly_agent/test/app/cli/request/request_reset_test.py,sha256=5My6Z452eideAOUu
664
664
  stoobly_agent/test/app/cli/request/request_response_test.py,sha256=Fu-A8tIn016DKme4WIaPzo3YeFY-CPtTOpaSFigUVVM,1263
665
665
  stoobly_agent/test/app/cli/request/request_snapshot_test.py,sha256=0013aoiMZin-2YEtHzEmQspAPA3SUd_6XiItbX0U7Ok,4425
666
666
  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=azCL0Fhgsj2nt0nDI4DndPAdbaw4_Hrr3G8f3H4mVQQ,3704
668
- stoobly_agent/test/app/cli/scaffold/cli_test.py,sha256=dWvkbkUHSJ3Wqe3pdDeCeij6U8loPEkOB9eJWDUSBTw,4557
669
- stoobly_agent/test/app/cli/scaffold/e2e_test.py,sha256=5qwz0hZaaQ1lsh565uSIC6mj6oQa22G68-VS_Uyzmwk,12980
667
+ stoobly_agent/test/app/cli/scaffold/cli_invoker.py,sha256=BXqWjSMRrK6MxX6rM6uHbFj4keqylSGDPvgy4TDdb9I,3702
668
+ stoobly_agent/test/app/cli/scaffold/cli_test.py,sha256=sMNvO845MIu5DVGa1HmwXQDmKDcwrfNTdEb3fK5886w,4557
669
+ stoobly_agent/test/app/cli/scaffold/e2e_test.py,sha256=fd_LWwkkjMbQQ39hxG0SwrwXeR-_cycT0Bmz3QOzpss,12978
670
670
  stoobly_agent/test/app/cli/scaffold/hosts_file_reader_test.py,sha256=zGx-fvYTT3N-WS09guOICcRHl8Ann43NHLGTt33FR1s,2279
671
671
  stoobly_agent/test/app/cli/scenario/scenario_create_test.py,sha256=fGqcjO1_1OvdpUMQfGRVkSyFe61u8WIcp_ndLFrf33A,3962
672
672
  stoobly_agent/test/app/cli/scenario/scenario_replay_integration_test.py,sha256=NbGJzmvPsNLBR0ac65yt_cOTfpnsST1IG7i3F0euwAk,7031
@@ -692,7 +692,7 @@ stoobly_agent/test/app/models/factories/resource/local_db/helpers/log_test.py,sh
692
692
  stoobly_agent/test/app/models/factories/resource/local_db/helpers/tiebreak_scenario_request_test.py,sha256=5IFGVGn3ogvRT0fzZgXzhrYlSfSlr8IR1p_XExaegMQ,3399
693
693
  stoobly_agent/test/app/models/factories/resource/local_db/request_adapter_test.py,sha256=Pzq1cBPnP9oSWG-p0c-VoymoHxgp483QmNwmV1b78RA,8453
694
694
  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=TafAeNpokhr_A1hH48JIPDGBG9QBJMyLwCllTViWDCk,6
695
+ stoobly_agent/test/app/models/schemas/.stoobly/db/VERSION,sha256=s4n9aV0PFyXVJPIoNMaqvv68dMsxTpUy9-iiXCnuR9I,5
696
696
  stoobly_agent/test/app/models/schemas/.stoobly/db/stoobly_agent.sqlite3,sha256=ch8gNx6zIelLKQx65gwFx_LRNqUD3EC5xcHZ0ukIQiU,188416
697
697
  stoobly_agent/test/app/models/schemas/.stoobly/settings.yml,sha256=vLwMjweKOdod6tSLtIlyBefPQuNXq9wio4kBaODKtAU,726
698
698
  stoobly_agent/test/app/models/schemas/.stoobly/tmp/options.json,sha256=OTRzarwus48CTrItedXCrgQttJHSEZonEYc7R_knvYg,2212
@@ -729,8 +729,8 @@ stoobly_agent/test/mock_data/scaffold/docker-compose-local-service.yml,sha256=x7
729
729
  stoobly_agent/test/mock_data/scaffold/index.html,sha256=qJwuYajKZ4ihWZrJQ3BNObV5kf1VGnnm_vqlPJzdqLE,258
730
730
  stoobly_agent/test/mock_data/uspto.yaml,sha256=6U5se7C3o-86J4m9xpOk9Npias399f5CbfWzR87WKwE,7835
731
731
  stoobly_agent/test/test_helper.py,sha256=m_oAI7tmRYCNZdKfNqISWhMv3e44tjeYViQ3nTUfnos,1007
732
- stoobly_agent-1.1.4.dist-info/LICENSE,sha256=8QKGyy45eN76Zk52h8gu1DKX2B_gbWgZ3nzDLofEbaE,548
733
- stoobly_agent-1.1.4.dist-info/METADATA,sha256=9i8olIJjI1kvmd2QFzku6bBYHov7OrXzfSrnpoerF2c,3384
734
- stoobly_agent-1.1.4.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
735
- stoobly_agent-1.1.4.dist-info/entry_points.txt,sha256=aq5wix5oC8MDQtmyPGU0xaFrsjJg7WH28NmXh2sc3Z8,56
736
- stoobly_agent-1.1.4.dist-info/RECORD,,
732
+ stoobly_agent-1.2.1.dist-info/LICENSE,sha256=8QKGyy45eN76Zk52h8gu1DKX2B_gbWgZ3nzDLofEbaE,548
733
+ stoobly_agent-1.2.1.dist-info/METADATA,sha256=JSzzPD1gvNN5RCXrZGS8F1K4PlXVJPZXGl1jJG-Uzew,3384
734
+ stoobly_agent-1.2.1.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
735
+ stoobly_agent-1.2.1.dist-info/entry_points.txt,sha256=aq5wix5oC8MDQtmyPGU0xaFrsjJg7WH28NmXh2sc3Z8,56
736
+ stoobly_agent-1.2.1.dist-info/RECORD,,