fastworkflow 2.8.18__py3-none-any.whl → 2.8.20__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.
- fastworkflow/command_directory.py +4 -1
- fastworkflow/command_routing.py +2 -1
- fastworkflow/run/__main__.py +6 -0
- fastworkflow/train/__main__.py +8 -1
- {fastworkflow-2.8.18.dist-info → fastworkflow-2.8.20.dist-info}/METADATA +1 -1
- {fastworkflow-2.8.18.dist-info → fastworkflow-2.8.20.dist-info}/RECORD +9 -9
- {fastworkflow-2.8.18.dist-info → fastworkflow-2.8.20.dist-info}/LICENSE +0 -0
- {fastworkflow-2.8.18.dist-info → fastworkflow-2.8.20.dist-info}/WHEEL +0 -0
- {fastworkflow-2.8.18.dist-info → fastworkflow-2.8.20.dist-info}/entry_points.txt +0 -0
@@ -416,7 +416,10 @@ class CommandDirectory(BaseModel):
|
|
416
416
|
parts = os.path.splitext(rel_path)[0].split(os.sep)
|
417
417
|
qualified_name = "/".join(parts) if len(parts) > 1 else parts[0]
|
418
418
|
discovered_commands.add(qualified_name)
|
419
|
-
|
419
|
+
|
420
|
+
if not discovered_commands:
|
421
|
+
raise RuntimeError("No core commands discovered in internal workflow: {internal_wf_path}")
|
422
|
+
|
420
423
|
return discovered_commands
|
421
424
|
|
422
425
|
@classmethod
|
fastworkflow/command_routing.py
CHANGED
@@ -244,6 +244,7 @@ class RoutingDefinition(BaseModel):
|
|
244
244
|
|
245
245
|
# Use dynamically discovered core commands
|
246
246
|
core_commands = command_directory.core_command_names
|
247
|
+
logger.debug(f"Core commands: {str(core_commands)}, Workflow folderpath {workflow_folderpath}")
|
247
248
|
|
248
249
|
resolved_contexts = {}
|
249
250
|
for context_name in context_model._command_contexts:
|
@@ -279,7 +280,7 @@ class RoutingDefinition(BaseModel):
|
|
279
280
|
if resolved_contexts != {"*": []}:
|
280
281
|
routing_definition.save()
|
281
282
|
else:
|
282
|
-
logger.error(f"Could not build
|
283
|
+
logger.error(f"Could not build command_routing_definition.json for workflow folderpath {workflow_folderpath}")
|
283
284
|
|
284
285
|
return routing_definition
|
285
286
|
|
fastworkflow/run/__main__.py
CHANGED
@@ -15,6 +15,7 @@ from rich.text import Text
|
|
15
15
|
from rich.console import Group
|
16
16
|
|
17
17
|
import fastworkflow
|
18
|
+
from fastworkflow.utils.logging import logger
|
18
19
|
from fastworkflow.command_executor import CommandExecutor
|
19
20
|
|
20
21
|
|
@@ -79,6 +80,11 @@ def run_main(args):
|
|
79
80
|
console.print(f"[bold red]Error:[/bold red] The specified workflow path '{args.workflow_path}' is not a valid directory.")
|
80
81
|
exit(1)
|
81
82
|
|
83
|
+
commands_dir = os.path.join(args.workflow_path, "_commands")
|
84
|
+
if not os.path.isdir(commands_dir):
|
85
|
+
logger.info(f"No _commands directory found at {args.workflow_path}, existing...")
|
86
|
+
return
|
87
|
+
|
82
88
|
env_vars = {
|
83
89
|
**dotenv_values(args.env_file_path),
|
84
90
|
**dotenv_values(args.passwords_file_path)
|
fastworkflow/train/__main__.py
CHANGED
@@ -5,8 +5,10 @@ import shutil
|
|
5
5
|
from dotenv import dotenv_values
|
6
6
|
|
7
7
|
from colorama import Fore, Style
|
8
|
-
|
8
|
+
|
9
9
|
import fastworkflow
|
10
|
+
from fastworkflow.utils.logging import logger
|
11
|
+
from fastworkflow.utils import python_utils
|
10
12
|
from fastworkflow import ModuleType
|
11
13
|
from fastworkflow.model_pipeline_training import train, get_route_layer_filepath_model
|
12
14
|
from fastworkflow.utils.generate_param_examples import generate_dspy_examples
|
@@ -16,6 +18,11 @@ from fastworkflow.command_context_model import CommandContextModel
|
|
16
18
|
|
17
19
|
|
18
20
|
def train_workflow(workflow_path: str):
|
21
|
+
commands_dir = os.path.join(workflow_path, "_commands")
|
22
|
+
if not os.path.isdir(commands_dir):
|
23
|
+
logger.info(f"No _commands directory found at {workflow_path}, skipping training")
|
24
|
+
return
|
25
|
+
|
19
26
|
# Ensure context model is parsed so downstream helpers have contexts
|
20
27
|
CommandContextModel.load(workflow_path)
|
21
28
|
RoutingDefinition.build(workflow_path)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: fastworkflow
|
3
|
-
Version: 2.8.
|
3
|
+
Version: 2.8.20
|
4
4
|
Summary: A framework for rapidly building large-scale, deterministic, interactive workflows with a fault-tolerant, conversational UX
|
5
5
|
License: Apache-2.0
|
6
6
|
Keywords: fastworkflow,ai,workflow,llm,openai
|
@@ -33,10 +33,10 @@ fastworkflow/cache_matching.py,sha256=WoSQ7QuVGqOnecsIIdwb3A6gBpt0OJdSzx_a51nHoF
|
|
33
33
|
fastworkflow/chat_session.py,sha256=lEpJmU_2a-4pB4QR7wACl8jHWZls1ROtQGgdVObY3BA,12308
|
34
34
|
fastworkflow/cli.py,sha256=SVIvd-GEfwAdWQT7om5DC9MC5wLivP_bXlgMF0T5Cjw,21736
|
35
35
|
fastworkflow/command_context_model.py,sha256=nWxLP3TR7WJr3yWCedqcdFOxo_kwae_mS3VRN2cOmK8,13437
|
36
|
-
fastworkflow/command_directory.py,sha256=
|
36
|
+
fastworkflow/command_directory.py,sha256=S-QRHW66VHH10YIpm3-dQs8fvtXM5VKFyBLocGkduF8,27134
|
37
37
|
fastworkflow/command_executor.py,sha256=bKqOHBEVhCunE3B-zh6DNLERUiSmEiVJdfEoVVUq-zM,6412
|
38
38
|
fastworkflow/command_interfaces.py,sha256=PWIKlcp0G8nmYl0vkrg1o6QzJL0pxXkfrn1joqTa0eU,460
|
39
|
-
fastworkflow/command_routing.py,sha256=
|
39
|
+
fastworkflow/command_routing.py,sha256=K4WSV_GZVIJCOIuB3nPsGclgxmyjaCuI1_9gWsSQPOo,15737
|
40
40
|
fastworkflow/docs/context_modules_prd.txt,sha256=9wvs3LgNoIVXAczo1sXBIV4YmFqVhzC2ja1T3K7FG04,2199
|
41
41
|
fastworkflow/examples/fastworkflow.env,sha256=5yQTfQpK99TR5dLwKVOwFatuC1G73Rkng2hv2IjX6cg,645
|
42
42
|
fastworkflow/examples/fastworkflow.passwords.env,sha256=zucqjXFPsp-SRtDBNn_v7h_N1l8uNBcMEHqQoIcQa6M,355
|
@@ -124,12 +124,12 @@ fastworkflow/examples/todo_list/startup_action.json,sha256=gj0-B4CqTYCs8OwHKhTu9
|
|
124
124
|
fastworkflow/mcp_server.py,sha256=Q1_KBwXg5EaJMz232OHNjH1fRg7BuZcJ7T7872qfDco,7783
|
125
125
|
fastworkflow/model_pipeline_training.py,sha256=St4Qgcf6Yq-xfX2txJ9S2mL1jRTO9g3OMvJ06vnzLQ4,44226
|
126
126
|
fastworkflow/run/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
127
|
-
fastworkflow/run/__main__.py,sha256=
|
127
|
+
fastworkflow/run/__main__.py,sha256=ZgdzyGm482xPubNpwa82KoiejPovBGbksDz1o1thoyY,6046
|
128
128
|
fastworkflow/run_agent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
129
129
|
fastworkflow/run_agent/__main__.py,sha256=vpCGO3Ido69kSKzT5Yw-c0oFC2zl482TCKzZEsu9cNw,8068
|
130
130
|
fastworkflow/run_agent/agent_module.py,sha256=Hjej9x3a8IhqAWlST6-EjhsgZb-_BeowG3TRJBffJiM,18899
|
131
131
|
fastworkflow/train/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
132
|
-
fastworkflow/train/__main__.py,sha256=
|
132
|
+
fastworkflow/train/__main__.py,sha256=AEbuBhFST-hCgdqwNFTak5tGur1plBjA4gIhtr3GSqc,8536
|
133
133
|
fastworkflow/train/generate_synthetic.py,sha256=Uiv9urpdZ05-apJ88kuOhnCskxBio3fggQZSWZwFklg,5340
|
134
134
|
fastworkflow/user_message_queues.py,sha256=svbuFxQ16q6Tz6urPWfD4IEsOTMxtS1Kc1PP8EE8AWg,1422
|
135
135
|
fastworkflow/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -146,8 +146,8 @@ fastworkflow/utils/pydantic_model_2_dspy_signature_class.py,sha256=w1pvl8rJq48ul
|
|
146
146
|
fastworkflow/utils/python_utils.py,sha256=Lt6P8lBMbLuLZaP9gd_7Kl7UvSPLm-NKPN6cPUdn53w,8194
|
147
147
|
fastworkflow/utils/signatures.py,sha256=4ksF-65Q-22ZR_SW8O_cv5RhKKk0ecmWgykoAGKxr-k,19957
|
148
148
|
fastworkflow/workflow.py,sha256=URYIgoBObL4Ota1BMdW4kqmepi6E_tCoZBXCFS33qOw,16453
|
149
|
-
fastworkflow-2.8.
|
150
|
-
fastworkflow-2.8.
|
151
|
-
fastworkflow-2.8.
|
152
|
-
fastworkflow-2.8.
|
153
|
-
fastworkflow-2.8.
|
149
|
+
fastworkflow-2.8.20.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
150
|
+
fastworkflow-2.8.20.dist-info/METADATA,sha256=NXjjZOU_Qbq3cPgO8hciPgjEZrBIMOBm_u2jk_X5MJo,15387
|
151
|
+
fastworkflow-2.8.20.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
152
|
+
fastworkflow-2.8.20.dist-info/entry_points.txt,sha256=m8HqoPzCyaZLAx-V5X8MJgw3Lx3GiPDlxNEZ7K-Gb-U,54
|
153
|
+
fastworkflow-2.8.20.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|