orchestrator-core 4.4.0rc2__py3-none-any.whl → 5.0.0a1__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.
- orchestrator/__init__.py +1 -1
- orchestrator/api/api_v1/api.py +7 -0
- orchestrator/api/api_v1/endpoints/agent.py +62 -0
- orchestrator/api/api_v1/endpoints/processes.py +6 -12
- orchestrator/api/api_v1/endpoints/search.py +197 -0
- orchestrator/api/api_v1/endpoints/subscriptions.py +0 -1
- orchestrator/app.py +4 -0
- orchestrator/cli/index_llm.py +73 -0
- orchestrator/cli/main.py +8 -1
- orchestrator/cli/resize_embedding.py +136 -0
- orchestrator/cli/scheduler.py +29 -40
- orchestrator/cli/search_explore.py +203 -0
- orchestrator/db/models.py +37 -1
- orchestrator/graphql/schema.py +0 -5
- orchestrator/graphql/schemas/process.py +2 -2
- orchestrator/graphql/utils/create_resolver_error_handler.py +1 -1
- orchestrator/migrations/versions/schema/2025-08-12_52b37b5b2714_search_index_model_for_llm_integration.py +95 -0
- orchestrator/schedules/__init__.py +2 -1
- orchestrator/schedules/resume_workflows.py +2 -2
- orchestrator/schedules/scheduling.py +24 -64
- orchestrator/schedules/task_vacuum.py +2 -2
- orchestrator/schedules/validate_products.py +2 -8
- orchestrator/schedules/validate_subscriptions.py +2 -2
- orchestrator/schemas/search.py +101 -0
- orchestrator/search/__init__.py +0 -0
- orchestrator/search/agent/__init__.py +1 -0
- orchestrator/search/agent/prompts.py +62 -0
- orchestrator/search/agent/state.py +8 -0
- orchestrator/search/agent/tools.py +122 -0
- orchestrator/search/core/__init__.py +0 -0
- orchestrator/search/core/embedding.py +64 -0
- orchestrator/search/core/exceptions.py +16 -0
- orchestrator/search/core/types.py +162 -0
- orchestrator/search/core/validators.py +27 -0
- orchestrator/search/docs/index.md +37 -0
- orchestrator/search/docs/running_local_text_embedding_inference.md +45 -0
- orchestrator/search/filters/__init__.py +27 -0
- orchestrator/search/filters/base.py +236 -0
- orchestrator/search/filters/date_filters.py +75 -0
- orchestrator/search/filters/definitions.py +76 -0
- orchestrator/search/filters/ltree_filters.py +31 -0
- orchestrator/search/filters/numeric_filter.py +60 -0
- orchestrator/search/indexing/__init__.py +3 -0
- orchestrator/search/indexing/indexer.py +316 -0
- orchestrator/search/indexing/registry.py +88 -0
- orchestrator/search/indexing/tasks.py +53 -0
- orchestrator/search/indexing/traverse.py +209 -0
- orchestrator/search/retrieval/__init__.py +3 -0
- orchestrator/search/retrieval/builder.py +64 -0
- orchestrator/search/retrieval/engine.py +96 -0
- orchestrator/search/retrieval/ranker.py +202 -0
- orchestrator/search/retrieval/utils.py +88 -0
- orchestrator/search/retrieval/validation.py +174 -0
- orchestrator/search/schemas/__init__.py +0 -0
- orchestrator/search/schemas/parameters.py +114 -0
- orchestrator/search/schemas/results.py +47 -0
- orchestrator/services/processes.py +11 -16
- orchestrator/services/subscriptions.py +0 -4
- orchestrator/settings.py +29 -1
- orchestrator/targets.py +0 -1
- orchestrator/workflow.py +1 -8
- orchestrator/workflows/utils.py +1 -48
- {orchestrator_core-4.4.0rc2.dist-info → orchestrator_core-5.0.0a1.dist-info}/METADATA +6 -3
- {orchestrator_core-4.4.0rc2.dist-info → orchestrator_core-5.0.0a1.dist-info}/RECORD +66 -30
- orchestrator/graphql/resolvers/scheduled_tasks.py +0 -36
- orchestrator/graphql/schemas/scheduled_task.py +0 -8
- orchestrator/schedules/scheduler.py +0 -163
- {orchestrator_core-4.4.0rc2.dist-info → orchestrator_core-5.0.0a1.dist-info}/WHEEL +0 -0
- {orchestrator_core-4.4.0rc2.dist-info → orchestrator_core-5.0.0a1.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import uuid
|
|
2
|
+
from typing import Any, Literal
|
|
3
|
+
|
|
4
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
5
|
+
|
|
6
|
+
from orchestrator.search.core.types import ActionType, EntityType
|
|
7
|
+
from orchestrator.search.filters import FilterTree
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class BaseSearchParameters(BaseModel):
|
|
11
|
+
"""Base model with common search parameters."""
|
|
12
|
+
|
|
13
|
+
action: ActionType = Field(default=ActionType.SELECT, description="The action to perform.")
|
|
14
|
+
entity_type: EntityType
|
|
15
|
+
|
|
16
|
+
filters: FilterTree | None = Field(default=None, description="A list of structured filters to apply to the search.")
|
|
17
|
+
|
|
18
|
+
query: str | None = Field(
|
|
19
|
+
default=None, description="Unified search query - will be processed into vector_query and/or fuzzy_term"
|
|
20
|
+
)
|
|
21
|
+
|
|
22
|
+
model_config = ConfigDict(extra="forbid")
|
|
23
|
+
|
|
24
|
+
@classmethod
|
|
25
|
+
def create(cls, entity_type: EntityType, **kwargs: Any) -> "BaseSearchParameters":
|
|
26
|
+
try:
|
|
27
|
+
return PARAMETER_REGISTRY[entity_type](entity_type=entity_type, **kwargs)
|
|
28
|
+
except KeyError:
|
|
29
|
+
raise ValueError(f"No search parameter class found for entity type: {entity_type.value}")
|
|
30
|
+
|
|
31
|
+
@property
|
|
32
|
+
def vector_query(self) -> str | None:
|
|
33
|
+
"""Extract vector query from unified query field."""
|
|
34
|
+
if not self.query:
|
|
35
|
+
return None
|
|
36
|
+
try:
|
|
37
|
+
uuid.UUID(self.query)
|
|
38
|
+
return None # It's a UUID, so disable vector search.
|
|
39
|
+
except ValueError:
|
|
40
|
+
return self.query
|
|
41
|
+
|
|
42
|
+
@property
|
|
43
|
+
def fuzzy_term(self) -> str | None:
|
|
44
|
+
"""Extract fuzzy term from unified query field."""
|
|
45
|
+
if not self.query:
|
|
46
|
+
return None
|
|
47
|
+
|
|
48
|
+
words = self.query.split()
|
|
49
|
+
# Only use fuzzy for single words
|
|
50
|
+
return self.query if len(words) == 1 else None
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
class SubscriptionSearchParameters(BaseSearchParameters):
|
|
54
|
+
entity_type: Literal[EntityType.SUBSCRIPTION] = Field(
|
|
55
|
+
default=EntityType.SUBSCRIPTION, description="The type of entity to search."
|
|
56
|
+
)
|
|
57
|
+
model_config = ConfigDict(
|
|
58
|
+
json_schema_extra={
|
|
59
|
+
"title": "SearchSubscriptions",
|
|
60
|
+
"description": "Search subscriptions based on specific criteria.",
|
|
61
|
+
"examples": [
|
|
62
|
+
{
|
|
63
|
+
"filters": {
|
|
64
|
+
"op": "AND",
|
|
65
|
+
"children": [
|
|
66
|
+
{"path": "subscription.status", "condition": {"op": "eq", "value": "provisioning"}},
|
|
67
|
+
{"path": "subscription.end_date", "condition": {"op": "gte", "value": "2025-01-01"}},
|
|
68
|
+
],
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
],
|
|
72
|
+
}
|
|
73
|
+
)
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
class ProductSearchParameters(BaseSearchParameters):
|
|
77
|
+
entity_type: Literal[EntityType.PRODUCT] = Field(
|
|
78
|
+
default=EntityType.PRODUCT, description="The type of entity to search."
|
|
79
|
+
)
|
|
80
|
+
model_config = ConfigDict(
|
|
81
|
+
json_schema_extra={
|
|
82
|
+
"title": "SearchProducts",
|
|
83
|
+
"description": "Search products based on specific criteria.",
|
|
84
|
+
"examples": [
|
|
85
|
+
{
|
|
86
|
+
"filters": [
|
|
87
|
+
{"path": "product.product_type", "condition": {"op": "eq", "value": "Shop"}},
|
|
88
|
+
]
|
|
89
|
+
}
|
|
90
|
+
],
|
|
91
|
+
}
|
|
92
|
+
)
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
class WorkflowSearchParameters(BaseSearchParameters):
|
|
96
|
+
entity_type: Literal[EntityType.WORKFLOW] = Field(
|
|
97
|
+
default=EntityType.WORKFLOW, description="The type of entity to search."
|
|
98
|
+
)
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
class ProcessSearchParameters(BaseSearchParameters):
|
|
102
|
+
"""Search parameters specifically for PROCESS entities."""
|
|
103
|
+
|
|
104
|
+
entity_type: Literal[EntityType.PROCESS] = Field(
|
|
105
|
+
default=EntityType.PROCESS, description="The type of entity to search."
|
|
106
|
+
)
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
PARAMETER_REGISTRY: dict[EntityType, type[BaseSearchParameters]] = {
|
|
110
|
+
EntityType.SUBSCRIPTION: SubscriptionSearchParameters,
|
|
111
|
+
EntityType.PRODUCT: ProductSearchParameters,
|
|
112
|
+
EntityType.WORKFLOW: WorkflowSearchParameters,
|
|
113
|
+
EntityType.PROCESS: ProcessSearchParameters,
|
|
114
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
from typing import Literal
|
|
2
|
+
|
|
3
|
+
from pydantic import BaseModel, ConfigDict
|
|
4
|
+
|
|
5
|
+
from orchestrator.search.core.types import FilterOp, UIType
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class Highlight(BaseModel):
|
|
9
|
+
"""Contains the text and the indices of the matched term."""
|
|
10
|
+
|
|
11
|
+
text: str
|
|
12
|
+
indices: list[tuple[int, int]]
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class SearchResult(BaseModel):
|
|
16
|
+
"""Represents a single search result item."""
|
|
17
|
+
|
|
18
|
+
entity_id: str
|
|
19
|
+
score: float
|
|
20
|
+
highlight: Highlight | None = None
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
SearchResponse = list[SearchResult]
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
class ValueSchema(BaseModel):
|
|
27
|
+
kind: UIType | Literal["none", "object"] = UIType.STRING
|
|
28
|
+
fields: dict[str, "ValueSchema"] | None = None
|
|
29
|
+
|
|
30
|
+
model_config = ConfigDict(extra="forbid")
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
class PathInfo(BaseModel):
|
|
34
|
+
path: str
|
|
35
|
+
type: UIType
|
|
36
|
+
|
|
37
|
+
model_config = ConfigDict(
|
|
38
|
+
extra="forbid",
|
|
39
|
+
use_enum_values=True,
|
|
40
|
+
)
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
class TypeDefinition(BaseModel):
|
|
44
|
+
operators: list[FilterOp]
|
|
45
|
+
valueSchema: dict[FilterOp, ValueSchema]
|
|
46
|
+
|
|
47
|
+
model_config = ConfigDict(use_enum_values=True)
|
|
@@ -733,17 +733,11 @@ def abort_process(process: ProcessTable, user: str, broadcast_func: Callable | N
|
|
|
733
733
|
|
|
734
734
|
|
|
735
735
|
def _recoverwf(wf: Workflow, log: list[WFProcess]) -> tuple[WFProcess, StepList]:
|
|
736
|
-
|
|
736
|
+
# Remove all extra steps (Failed, Suspended and (A)waiting steps in db). Only keep cleared steps.
|
|
737
737
|
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
"""
|
|
742
|
-
|
|
743
|
-
def is_cleared(p: WFProcess) -> bool:
|
|
744
|
-
return not (p.isfailed() or p.issuspend() or p.iswaiting() or p.isawaitingcallback())
|
|
745
|
-
|
|
746
|
-
persistent = [p for p in log if is_cleared(p)]
|
|
738
|
+
persistent = list(
|
|
739
|
+
filter(lambda p: not (p.isfailed() or p.issuspend() or p.iswaiting() or p.isawaitingcallback()), log)
|
|
740
|
+
)
|
|
747
741
|
stepcount = len(persistent)
|
|
748
742
|
|
|
749
743
|
if log and (log[-1].issuspend() or log[-1].isawaitingcallback()):
|
|
@@ -766,14 +760,15 @@ def _recoverwf(wf: Workflow, log: list[WFProcess]) -> tuple[WFProcess, StepList]
|
|
|
766
760
|
|
|
767
761
|
|
|
768
762
|
def _restore_log(steps: list[ProcessStepTable]) -> list[WFProcess]:
|
|
769
|
-
|
|
763
|
+
result = []
|
|
764
|
+
for step in steps:
|
|
765
|
+
process = WFProcess.from_status(step.status, step.state)
|
|
770
766
|
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
raise ValueError(f"Unable to deserialize step from it's status {step.status}")
|
|
774
|
-
return wf_process
|
|
767
|
+
if not process:
|
|
768
|
+
raise ValueError(step.status)
|
|
775
769
|
|
|
776
|
-
|
|
770
|
+
result.append(process)
|
|
771
|
+
return result
|
|
777
772
|
|
|
778
773
|
|
|
779
774
|
def load_process(process: ProcessTable) -> ProcessStat:
|
|
@@ -12,7 +12,6 @@
|
|
|
12
12
|
# limitations under the License.
|
|
13
13
|
|
|
14
14
|
"""Module that provides service functions on subscriptions."""
|
|
15
|
-
|
|
16
15
|
import pickle # noqa: S403
|
|
17
16
|
from collections import defaultdict
|
|
18
17
|
from collections.abc import Sequence
|
|
@@ -507,7 +506,6 @@ TARGET_DEFAULT_USABLE_MAP: dict[Target, list[str]] = {
|
|
|
507
506
|
Target.TERMINATE: ["active", "provisioning"],
|
|
508
507
|
Target.SYSTEM: ["active"],
|
|
509
508
|
Target.VALIDATE: ["active"],
|
|
510
|
-
Target.RECONCILE: ["active"],
|
|
511
509
|
}
|
|
512
510
|
|
|
513
511
|
WF_USABLE_MAP: dict[str, list[str]] = {}
|
|
@@ -534,7 +532,6 @@ def subscription_workflows(subscription: SubscriptionTable) -> dict[str, Any]:
|
|
|
534
532
|
... "terminate": [],
|
|
535
533
|
... "system": [],
|
|
536
534
|
... "validate": [],
|
|
537
|
-
... "reconcile: [],
|
|
538
535
|
... }
|
|
539
536
|
|
|
540
537
|
"""
|
|
@@ -555,7 +552,6 @@ def subscription_workflows(subscription: SubscriptionTable) -> dict[str, Any]:
|
|
|
555
552
|
"terminate": [],
|
|
556
553
|
"system": [],
|
|
557
554
|
"validate": [],
|
|
558
|
-
"reconcile": [],
|
|
559
555
|
}
|
|
560
556
|
for workflow in subscription.product.workflows:
|
|
561
557
|
if workflow.name in WF_USABLE_WHILE_OUT_OF_SYNC or workflow.is_task:
|
orchestrator/settings.py
CHANGED
|
@@ -16,7 +16,7 @@ import string
|
|
|
16
16
|
from pathlib import Path
|
|
17
17
|
from typing import Literal
|
|
18
18
|
|
|
19
|
-
from pydantic import Field, NonNegativeInt, PostgresDsn, RedisDsn
|
|
19
|
+
from pydantic import Field, NonNegativeInt, PostgresDsn, RedisDsn, field_validator
|
|
20
20
|
from pydantic_settings import BaseSettings
|
|
21
21
|
|
|
22
22
|
from oauth2_lib.settings import oauth2lib_settings
|
|
@@ -92,6 +92,34 @@ class AppSettings(BaseSettings):
|
|
|
92
92
|
EXPOSE_SETTINGS: bool = False
|
|
93
93
|
EXPOSE_OAUTH_SETTINGS: bool = False
|
|
94
94
|
|
|
95
|
+
# Pydantic-ai Agent settings
|
|
96
|
+
AGENT_MODEL: str = "openai:gpt-4o-mini" # See pydantic-ai docs for supported models.
|
|
97
|
+
OPENAI_API_KEY: str = "OPENAI_API_KEY" # Change per provider (Azure, etc).
|
|
98
|
+
|
|
99
|
+
# Embedding settings
|
|
100
|
+
EMBEDDING_DIMENSION: int = 1536
|
|
101
|
+
EMBEDDING_MODEL: str = "openai/text-embedding-3-small" # See litellm docs for supported models.
|
|
102
|
+
EMBEDDING_SAFE_MARGIN_PERCENT: float = Field(
|
|
103
|
+
0.1, description="Safety margin as a percentage (e.g., 0.1 for 10%) for token budgeting.", ge=0, le=1
|
|
104
|
+
)
|
|
105
|
+
|
|
106
|
+
# The following settings are only needed for local models.
|
|
107
|
+
# By default, they are set conservative assuming a small model like All-MiniLM-L6-V2.
|
|
108
|
+
OPENAI_BASE_URL: str | None = None
|
|
109
|
+
EMBEDDING_FALLBACK_MAX_TOKENS: int | None = 512
|
|
110
|
+
EMBEDDING_MAX_BATCH_SIZE: int | None = 32
|
|
111
|
+
|
|
112
|
+
# General LiteLLM settings
|
|
113
|
+
LLM_MAX_RETRIES: int = 3
|
|
114
|
+
LLM_TIMEOUT: int = 30
|
|
115
|
+
|
|
116
|
+
@field_validator("EMBEDDING_MODEL")
|
|
117
|
+
def validate_embedding_model_format(cls, v: str) -> str:
|
|
118
|
+
"""Validate that embedding model is in 'vendor/model' format."""
|
|
119
|
+
if "/" not in v:
|
|
120
|
+
raise ValueError("EMBEDDING_MODEL must be in format 'vendor/model'")
|
|
121
|
+
return v
|
|
122
|
+
|
|
95
123
|
|
|
96
124
|
app_settings = AppSettings()
|
|
97
125
|
|
orchestrator/targets.py
CHANGED
orchestrator/workflow.py
CHANGED
|
@@ -552,7 +552,7 @@ class ProcessStat:
|
|
|
552
552
|
process_id: UUID
|
|
553
553
|
workflow: Workflow
|
|
554
554
|
state: Process
|
|
555
|
-
log: StepList
|
|
555
|
+
log: StepList
|
|
556
556
|
current_user: str
|
|
557
557
|
user_model: OIDCUserModel | None = None
|
|
558
558
|
|
|
@@ -597,13 +597,6 @@ class StepStatus(strEnum):
|
|
|
597
597
|
|
|
598
598
|
|
|
599
599
|
class Process(Generic[S]):
|
|
600
|
-
"""ADT base class.
|
|
601
|
-
|
|
602
|
-
This class defines an Algebraic Data Type - specifically a "sum type" - that defines the possible
|
|
603
|
-
variants of a Process. It encapsulates the state and allows to fold _instances_ of a process into
|
|
604
|
-
a single value. These instances correspond to subsequent steps of the process.
|
|
605
|
-
"""
|
|
606
|
-
|
|
607
600
|
def __init__(self, s: S):
|
|
608
601
|
self.s = s
|
|
609
602
|
|
orchestrator/workflows/utils.py
CHANGED
|
@@ -154,7 +154,7 @@ def _generate_modify_form(workflow_target: str, workflow_name: str) -> InputForm
|
|
|
154
154
|
|
|
155
155
|
|
|
156
156
|
def wrap_modify_initial_input_form(initial_input_form: InputStepFunc | None) -> StateInputStepFunc | None:
|
|
157
|
-
"""Wrap initial input for modify
|
|
157
|
+
"""Wrap initial input for modify and terminate workflows.
|
|
158
158
|
|
|
159
159
|
This is needed because the frontend expects all modify workflows to start with a page that only contains the
|
|
160
160
|
subscription id. It also expects the second page to have some user visible inputs and the subscription id *again*.
|
|
@@ -355,53 +355,6 @@ def validate_workflow(description: str) -> Callable[[Callable[[], StepList]], Wo
|
|
|
355
355
|
return _validate_workflow
|
|
356
356
|
|
|
357
357
|
|
|
358
|
-
def reconcile_workflow(
|
|
359
|
-
description: str,
|
|
360
|
-
additional_steps: StepList | None = None,
|
|
361
|
-
authorize_callback: Authorizer | None = None,
|
|
362
|
-
retry_auth_callback: Authorizer | None = None,
|
|
363
|
-
) -> Callable[[Callable[[], StepList]], Workflow]:
|
|
364
|
-
"""Similar to a modify_workflow but without required input user input to perform a sync with external systems based on the subscriptions existing configuration.
|
|
365
|
-
|
|
366
|
-
Use this for subscription reconcile workflows.
|
|
367
|
-
|
|
368
|
-
Example::
|
|
369
|
-
|
|
370
|
-
@reconcile_workflow("Reconcile l2vpn")
|
|
371
|
-
def reconcile_l2vpn() -> StepList:
|
|
372
|
-
return (
|
|
373
|
-
begin
|
|
374
|
-
>> update_l2vpn_in_external_systems
|
|
375
|
-
)
|
|
376
|
-
"""
|
|
377
|
-
|
|
378
|
-
wrapped_reconcile_initial_input_form_generator = wrap_modify_initial_input_form(None)
|
|
379
|
-
|
|
380
|
-
def _reconcile_workflow(f: Callable[[], StepList]) -> Workflow:
|
|
381
|
-
steplist = (
|
|
382
|
-
init
|
|
383
|
-
>> store_process_subscription()
|
|
384
|
-
>> unsync
|
|
385
|
-
>> f()
|
|
386
|
-
>> (additional_steps or StepList())
|
|
387
|
-
>> resync
|
|
388
|
-
>> refresh_subscription_search_index
|
|
389
|
-
>> done
|
|
390
|
-
)
|
|
391
|
-
|
|
392
|
-
return make_workflow(
|
|
393
|
-
f,
|
|
394
|
-
description,
|
|
395
|
-
wrapped_reconcile_initial_input_form_generator,
|
|
396
|
-
Target.RECONCILE,
|
|
397
|
-
steplist,
|
|
398
|
-
authorize_callback=authorize_callback,
|
|
399
|
-
retry_auth_callback=retry_auth_callback,
|
|
400
|
-
)
|
|
401
|
-
|
|
402
|
-
return _reconcile_workflow
|
|
403
|
-
|
|
404
|
-
|
|
405
358
|
def ensure_provisioning_status(modify_steps: Step | StepList) -> StepList:
|
|
406
359
|
"""Decorator to ensure subscription modifications are executed only during Provisioning status."""
|
|
407
360
|
return (
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: orchestrator-core
|
|
3
|
-
Version:
|
|
3
|
+
Version: 5.0.0a1
|
|
4
4
|
Summary: This is the orchestrator workflow engine.
|
|
5
5
|
Author-email: SURF <automation-beheer@surf.nl>
|
|
6
6
|
Requires-Python: >=3.11,<3.14
|
|
@@ -32,7 +32,6 @@ Classifier: Typing :: Typed
|
|
|
32
32
|
License-File: LICENSE
|
|
33
33
|
Requires-Dist: alembic==1.16.1
|
|
34
34
|
Requires-Dist: anyio>=3.7.0
|
|
35
|
-
Requires-Dist: apscheduler>=3.11.0
|
|
36
35
|
Requires-Dist: click==8.*
|
|
37
36
|
Requires-Dist: deepmerge==2.0
|
|
38
37
|
Requires-Dist: deprecated>=1.2.18
|
|
@@ -40,10 +39,13 @@ Requires-Dist: fastapi~=0.115.2
|
|
|
40
39
|
Requires-Dist: fastapi-etag==0.4.0
|
|
41
40
|
Requires-Dist: itsdangerous>=2.2.0
|
|
42
41
|
Requires-Dist: jinja2==3.1.6
|
|
42
|
+
Requires-Dist: litellm>=1.75.7
|
|
43
43
|
Requires-Dist: more-itertools~=10.7.0
|
|
44
44
|
Requires-Dist: nwa-stdlib~=1.9.0
|
|
45
|
-
Requires-Dist: oauth2-lib
|
|
45
|
+
Requires-Dist: oauth2-lib>=2.4.1
|
|
46
|
+
Requires-Dist: openai>=1.99.9
|
|
46
47
|
Requires-Dist: orjson==3.10.18
|
|
48
|
+
Requires-Dist: pgvector>=0.4.1
|
|
47
49
|
Requires-Dist: prometheus-client==0.22.1
|
|
48
50
|
Requires-Dist: psycopg2-binary==2.9.10
|
|
49
51
|
Requires-Dist: pydantic-forms>=1.4.0,<=2.1.0
|
|
@@ -53,6 +55,7 @@ Requires-Dist: python-dateutil==2.8.2
|
|
|
53
55
|
Requires-Dist: python-rapidjson>=1.18,<1.21
|
|
54
56
|
Requires-Dist: pytz==2025.2
|
|
55
57
|
Requires-Dist: redis==5.1.1
|
|
58
|
+
Requires-Dist: schedule==1.1.0
|
|
56
59
|
Requires-Dist: semver==3.0.4
|
|
57
60
|
Requires-Dist: sentry-sdk[fastapi]~=2.29.1
|
|
58
61
|
Requires-Dist: sqlalchemy==2.0.41
|
|
@@ -1,29 +1,31 @@
|
|
|
1
|
-
orchestrator/__init__.py,sha256=
|
|
2
|
-
orchestrator/app.py,sha256=
|
|
1
|
+
orchestrator/__init__.py,sha256=KbwuYV9k3chNd6QgFkndWPoVs4f7C22-or0hnZdIPcs,1065
|
|
2
|
+
orchestrator/app.py,sha256=X2vAwsOe6_7_vyHfcGMUSZSYl3JVgevbOPUS6uPJCys,12236
|
|
3
3
|
orchestrator/exception_handlers.py,sha256=UsW3dw8q0QQlNLcV359bIotah8DYjMsj2Ts1LfX4ClY,1268
|
|
4
4
|
orchestrator/log_config.py,sha256=1tPRX5q65e57a6a_zEii_PFK8SzWT0mnA5w2sKg4hh8,1853
|
|
5
5
|
orchestrator/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
6
6
|
orchestrator/security.py,sha256=iXFxGxab54aav7oHEKLAVkTgrQMJGHy6IYLojEnD7gI,2422
|
|
7
|
-
orchestrator/settings.py,sha256=
|
|
8
|
-
orchestrator/targets.py,sha256=
|
|
7
|
+
orchestrator/settings.py,sha256=BM0U2D36T9pqZpJpgnqd5Bs6L6P4pQf-4oLYN_nx14I,5591
|
|
8
|
+
orchestrator/targets.py,sha256=WizBgnp8hWX9YLFUIju7ewSubiwQqinCvyiYNcXHbHI,802
|
|
9
9
|
orchestrator/types.py,sha256=qzs7xx5AYRmKbpYRyJJP3wuDb0W0bcAzefCN0RWLAco,15459
|
|
10
10
|
orchestrator/version.py,sha256=b58e08lxs47wUNXv0jXFO_ykpksmytuzEXD4La4W-NQ,1366
|
|
11
|
-
orchestrator/workflow.py,sha256=
|
|
11
|
+
orchestrator/workflow.py,sha256=PVHe6vnnkswzqw2UoY-j6NMSEhL6rLHXRnO7yLOyDC8,45551
|
|
12
12
|
orchestrator/api/__init__.py,sha256=GyHNfEFCGKQwRiN6rQmvSRH2iYX7npjMZn97n8XzmLU,571
|
|
13
13
|
orchestrator/api/error_handling.py,sha256=YrPCxSa-DSa9KwqIMlXI-KGBGnbGIW5ukOPiikUH9E4,1502
|
|
14
14
|
orchestrator/api/helpers.py,sha256=s0QRHYw8AvEmlkmRhuEzz9xixaZKUF3YuPzUVHkcoXk,6933
|
|
15
15
|
orchestrator/api/models.py,sha256=z9BDBx7uI4KBHWbD_LVrLsqNQ0_w-Mg9Qiy7PR_rZhk,5996
|
|
16
16
|
orchestrator/api/api_v1/__init__.py,sha256=GyHNfEFCGKQwRiN6rQmvSRH2iYX7npjMZn97n8XzmLU,571
|
|
17
|
-
orchestrator/api/api_v1/api.py,sha256=
|
|
17
|
+
orchestrator/api/api_v1/api.py,sha256=o6Jhnn92ME8Mw-n_AMZtlB_B6R5k_gZe_jj0yTFUeKg,2978
|
|
18
18
|
orchestrator/api/api_v1/endpoints/__init__.py,sha256=GyHNfEFCGKQwRiN6rQmvSRH2iYX7npjMZn97n8XzmLU,571
|
|
19
|
+
orchestrator/api/api_v1/endpoints/agent.py,sha256=KSBlkd-g4C9bRIfZcmIYQMm9ND-FniUykWBpKifg5l0,2487
|
|
19
20
|
orchestrator/api/api_v1/endpoints/health.py,sha256=iaxs1XX1_250_gKNsspuULCV2GEMBjbtjsmfQTOvMAI,1284
|
|
20
|
-
orchestrator/api/api_v1/endpoints/processes.py,sha256=
|
|
21
|
+
orchestrator/api/api_v1/endpoints/processes.py,sha256=kWz_jL8_sTNwl44tU17VwkwZGjBIw1IIW5pYCCSHwgs,15891
|
|
21
22
|
orchestrator/api/api_v1/endpoints/product_blocks.py,sha256=kZ6ywIOsS_S2qGq7RvZ4KzjvaS1LmwbGWR37AKRvWOw,2146
|
|
22
23
|
orchestrator/api/api_v1/endpoints/products.py,sha256=BfFtwu9dZXEQbtKxYj9icc73GKGvAGMR5ytyf41nQlQ,3081
|
|
23
24
|
orchestrator/api/api_v1/endpoints/resource_types.py,sha256=gGyuaDyOD0TAVoeFGaGmjDGnQ8eQQArOxKrrk4MaDzA,2145
|
|
25
|
+
orchestrator/api/api_v1/endpoints/search.py,sha256=QOx9JReVL_cWUGhU94Zab8Y3mIqJnb_4qbpBOXUiO4k,7035
|
|
24
26
|
orchestrator/api/api_v1/endpoints/settings.py,sha256=5s-k169podZjgGHUbVDmSQwpY_3Cs_Bbf2PPtZIkBcw,6184
|
|
25
27
|
orchestrator/api/api_v1/endpoints/subscription_customer_descriptions.py,sha256=1_6LtgQleoq3M6z_W-Qz__Bj3OFUweoPrUqHMwSH6AM,3288
|
|
26
|
-
orchestrator/api/api_v1/endpoints/subscriptions.py,sha256=
|
|
28
|
+
orchestrator/api/api_v1/endpoints/subscriptions.py,sha256=zn_LeVfmp2uw7CszK4BvQ5n37hZccy3K2htkoDgF1sI,9809
|
|
27
29
|
orchestrator/api/api_v1/endpoints/translations.py,sha256=dIWh_fCnZZUxJoGiNeJ49DK_xpf75IpR_0EIMSvzIvY,963
|
|
28
30
|
orchestrator/api/api_v1/endpoints/user.py,sha256=RyI32EXVu6I-IxWjz0XB5zQWzzLL60zKXLgLqLH02xU,1827
|
|
29
31
|
orchestrator/api/api_v1/endpoints/workflows.py,sha256=_0vhGiQeu3-z16Zi0WmuDWBs8gmed6BzRNwYH_sF6AY,1977
|
|
@@ -31,12 +33,15 @@ orchestrator/api/api_v1/endpoints/ws.py,sha256=1l7E0ag_sZ6UMfQPHlmew7ENwxjm6fflB
|
|
|
31
33
|
orchestrator/cli/__init__.py,sha256=GyHNfEFCGKQwRiN6rQmvSRH2iYX7npjMZn97n8XzmLU,571
|
|
32
34
|
orchestrator/cli/database.py,sha256=YkYAbCY2VPAa6mDW0PpNKG5wL4FuAQYD2CGl1_DQtEk,19595
|
|
33
35
|
orchestrator/cli/generate.py,sha256=SBaYfRijXPF9r3VxarPKTiDzDcB6GBMMQvecQIb_ZLQ,7377
|
|
34
|
-
orchestrator/cli/
|
|
36
|
+
orchestrator/cli/index_llm.py,sha256=RWPkFz5bxiznjpN1vMsSWeqcvYKB90DLL4pXQ92QJNI,2239
|
|
37
|
+
orchestrator/cli/main.py,sha256=IwnUQD4bOBHHNp9v78DPPn50I7dCoxL7kwp2zJAMssk,1347
|
|
35
38
|
orchestrator/cli/migrate_domain_models.py,sha256=WRXy_1OnziQwpsCFZXvjB30nDJtjj0ikVXy8YNLque4,20928
|
|
36
39
|
orchestrator/cli/migrate_tasks.py,sha256=bju8XColjSZD0v3rS4kl-24dLr8En_H4-6enBmqd494,7255
|
|
37
40
|
orchestrator/cli/migrate_workflows.py,sha256=nxUpx0vgEIc_8aJrjAyrw3E9Dt8JmaamTts8oiQ4vHY,8923
|
|
38
41
|
orchestrator/cli/migration_helpers.py,sha256=C5tpkP5WEBr7G9S-1k1hgSI8ili6xd9Z5ygc9notaK0,4110
|
|
39
|
-
orchestrator/cli/
|
|
42
|
+
orchestrator/cli/resize_embedding.py,sha256=dOcd6UUe0ObplrClqdPJqlLSTlKevePRzMpx1CR0MT4,4213
|
|
43
|
+
orchestrator/cli/scheduler.py,sha256=iCKBWYUwQIYTDqKQ9rMVvs2sNiAzE-J2SkV170TPP2g,1896
|
|
44
|
+
orchestrator/cli/search_explore.py,sha256=fo_uVKWsM74K81pZnb-D8b8CUylxix_RsZPsVS1krWs,8096
|
|
40
45
|
orchestrator/cli/domain_gen_helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
41
46
|
orchestrator/cli/domain_gen_helpers/fixed_input_helpers.py,sha256=uzpwsaau81hHSxNMOS9-o7kF-9_78R0f_UE0AvWooZQ,6775
|
|
42
47
|
orchestrator/cli/domain_gen_helpers/helpers.py,sha256=tIPxn8ezED_xYZxH7ZAtQLwkDc6RNmLZVxWAoJ3a9lw,4203
|
|
@@ -106,7 +111,7 @@ orchestrator/db/database.py,sha256=MU_w_e95ho2dVb2JDnt_KFYholx___XDkiQXbc8wCkI,1
|
|
|
106
111
|
orchestrator/db/helpers.py,sha256=L8kEdnSSNGnUpZhdeGx2arCodakWN8vSpKdfjoLuHdY,831
|
|
107
112
|
orchestrator/db/listeners.py,sha256=UBPYcH0FE3a7aZQu_D0O_JMXpXIRYXC0gjSAvlv5GZo,1142
|
|
108
113
|
orchestrator/db/loaders.py,sha256=ez6JzQ3IKVkC_oLAkVlIIiI8Do7hXbdcPKCvUSLxRog,7962
|
|
109
|
-
orchestrator/db/models.py,sha256=
|
|
114
|
+
orchestrator/db/models.py,sha256=ZkmLL_6QJQCEctnGIvzHYa1p5gfMlfYuyVabWcKbaGg,28526
|
|
110
115
|
orchestrator/db/filters/__init__.py,sha256=RUj6P0XxEBhYj0SN5wH5-Vf_Wt_ilZR_n9DSar5m9oM,371
|
|
111
116
|
orchestrator/db/filters/filters.py,sha256=55RtpQwM2rhrk4A6CCSeSXoo-BT9GnQoNTryA8CtLEg,5020
|
|
112
117
|
orchestrator/db/filters/process.py,sha256=xvGhyfo_MZ1xhLvFC6yULjcT4mJk0fKc1glJIYgsWLE,4018
|
|
@@ -158,7 +163,7 @@ orchestrator/forms/validators/product_id.py,sha256=u5mURLT0pOhbFLdwvYcy2_2fXMt35
|
|
|
158
163
|
orchestrator/graphql/__init__.py,sha256=avq8Yg3Jr_9pJqh7ClyIAOX7YSg1eM_AWmt5C3FRYUY,1440
|
|
159
164
|
orchestrator/graphql/autoregistration.py,sha256=pF2jbMKG26MvYoMSa6ZpqpHjVks7_NvSRFymHTgmfjs,6342
|
|
160
165
|
orchestrator/graphql/pagination.py,sha256=iqVDn3GPZpiQhEydfwkBJLURY-X8wwUphS8Lkeg0BOc,2413
|
|
161
|
-
orchestrator/graphql/schema.py,sha256=
|
|
166
|
+
orchestrator/graphql/schema.py,sha256=gwZ3nAgKL0zlpc-aK58hSUAGPVD11Tb3aRSSK9hC39I,9204
|
|
162
167
|
orchestrator/graphql/types.py,sha256=_kHKMusrRPuRtF4wm42NsBzoFZ4egbu3ibMmhd2D6Fs,5432
|
|
163
168
|
orchestrator/graphql/extensions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
164
169
|
orchestrator/graphql/extensions/model_cache.py,sha256=1uhMRjBs9eK7zJ1Y6P6BopX06822w2Yh9jliwYvG6yQ,1085
|
|
@@ -174,7 +179,6 @@ orchestrator/graphql/resolvers/process.py,sha256=Hqs1F7-gw0yO_ioHjh2eLAyxrK2WSuL
|
|
|
174
179
|
orchestrator/graphql/resolvers/product.py,sha256=uPBmYwMdau-zUqNjoDl-LDn927u3aCFW5JQ4A_it8q0,2772
|
|
175
180
|
orchestrator/graphql/resolvers/product_block.py,sha256=Ker1CpxGab5h2BZujOHHwRUj8W4uphRr3WSpQGk2PnI,2939
|
|
176
181
|
orchestrator/graphql/resolvers/resource_type.py,sha256=SREZXjkLYpuo4nCM8DqVeImIrZcP3xDiWr_gq4wWaxQ,2956
|
|
177
|
-
orchestrator/graphql/resolvers/scheduled_tasks.py,sha256=QsnesRrj8ESuS9vPKG9DXYcG2Wfj9m5LWGeZgmc6hu8,1640
|
|
178
182
|
orchestrator/graphql/resolvers/settings.py,sha256=xVYqxo-EWQ24F4hUHm9OZeN9vsqQXJzIJ1_HF4Ci9Cs,3777
|
|
179
183
|
orchestrator/graphql/resolvers/subscription.py,sha256=57niFv-JCro_wm0peJ5Ne04F2WIPuJ-Lx2h8yd9qubA,6541
|
|
180
184
|
orchestrator/graphql/resolvers/version.py,sha256=qgwe1msPOexeg3RHCscJ8s45vNfMhYh9ZKyCZ3MNw30,809
|
|
@@ -185,18 +189,17 @@ orchestrator/graphql/schemas/customer_description.py,sha256=fize71IMpkvk_rTzcqCY
|
|
|
185
189
|
orchestrator/graphql/schemas/errors.py,sha256=VRl-Zd1FHMnscyozhfxzqeEUZ0ERAWum_Y8YwjGxwmA,203
|
|
186
190
|
orchestrator/graphql/schemas/fixed_input.py,sha256=1yqYHADQRgHz8OIP7ObYsPFS-gmzfkCvEO0a-KKf7zI,513
|
|
187
191
|
orchestrator/graphql/schemas/helpers.py,sha256=Kpj4kIbmoKKN35bdgUSwQvGUIbeg7VJAVMEq65YS_ik,346
|
|
188
|
-
orchestrator/graphql/schemas/process.py,sha256=
|
|
192
|
+
orchestrator/graphql/schemas/process.py,sha256=nvD6Rvr0hnrMINdXF_rQuLF8szKJ7E-SywCFMuZsnlg,4940
|
|
189
193
|
orchestrator/graphql/schemas/product.py,sha256=vUCqcjrKBJj-VKSrMYPKzjmmxLMXL7alKTJ8UdUkhTg,4342
|
|
190
194
|
orchestrator/graphql/schemas/product_block.py,sha256=Qk9cbA6vm7ZPrhdgPHatKRuy6TytBmxSr97McEOxAu8,2860
|
|
191
195
|
orchestrator/graphql/schemas/resource_type.py,sha256=s5d_FwQXL2-Sc-IDUxTJun5qFQ4zOP4-XcHF9ql-t1g,898
|
|
192
|
-
orchestrator/graphql/schemas/scheduled_task.py,sha256=22Kb7r2pUoefz9AeiTYQ1t6YBYCmAs_zVp7FqNdN5HQ,194
|
|
193
196
|
orchestrator/graphql/schemas/settings.py,sha256=drhm5VcLmUbiYAk6WUSJcyJqjNM96E6GvpxVdPAobnA,999
|
|
194
197
|
orchestrator/graphql/schemas/strawberry_pydantic_patch.py,sha256=CjNUhTKdYmLiaem-WY_mzw4HASIeaZitxGF8pPocqVw,1602
|
|
195
198
|
orchestrator/graphql/schemas/subscription.py,sha256=hTA34C27kgLguH9V53173CxMKIWiQKh3vFzyJ2yBfE0,9918
|
|
196
199
|
orchestrator/graphql/schemas/version.py,sha256=HSzVg_y4Sjd5_H5rRUtu3FJKOG_8ifhvBNt_qjOtC-E,92
|
|
197
200
|
orchestrator/graphql/schemas/workflow.py,sha256=WLbegRNxOfvXg4kPYrO5KPBwtHmUofAr2pvZT2JsW1c,1761
|
|
198
201
|
orchestrator/graphql/utils/__init__.py,sha256=1JvenzEVW1CBa1sGVI9I8IWnnoXIkb1hneDqph9EEZY,524
|
|
199
|
-
orchestrator/graphql/utils/create_resolver_error_handler.py,sha256=
|
|
202
|
+
orchestrator/graphql/utils/create_resolver_error_handler.py,sha256=PpQMVwGrE9t0nZ12TwoxPxksXxEwQM7lSNPeh7qW3vk,1233
|
|
200
203
|
orchestrator/graphql/utils/get_query_loaders.py,sha256=abS_HJ7K9een78gMiGq3IhwGwxQXHvZygExe0h_t9ns,815
|
|
201
204
|
orchestrator/graphql/utils/get_selected_fields.py,sha256=0hBcQkU-7TNVO_KG-MmLItKm0O3gmbqoxXNkLHO-wHo,1002
|
|
202
205
|
orchestrator/graphql/utils/get_selected_paths.py,sha256=H0btESeOr3_VB7zy5Cx25OS0uzBcg2Y1I-arAmSOnsQ,1382
|
|
@@ -247,13 +250,13 @@ orchestrator/migrations/versions/schema/2025-05-08_161918133bec_add_is_task_to_w
|
|
|
247
250
|
orchestrator/migrations/versions/schema/2025-07-01_93fc5834c7e5_changed_timestamping_fields_in_process_steps.py,sha256=Oezd8b2qaI1Kyq-sZFVFmdzd4d9NjXrf6HtJGk11fy0,1914
|
|
248
251
|
orchestrator/migrations/versions/schema/2025-07-04_4b58e336d1bf_deprecating_workflow_target_in_.py,sha256=xnD6w-97R4ClS7rbmXQEXc36K3fdcXKhCy7ZZNy_FX4,742
|
|
249
252
|
orchestrator/migrations/versions/schema/2025-07-28_850dccac3b02_update_description_of_resume_workflows_.py,sha256=R6Qoga83DJ1IL0WYPu0u5u2ZvAmqGlDmUMv_KtJyOhQ,812
|
|
250
|
-
orchestrator/
|
|
251
|
-
orchestrator/schedules/
|
|
252
|
-
orchestrator/schedules/
|
|
253
|
-
orchestrator/schedules/scheduling.py,sha256=
|
|
254
|
-
orchestrator/schedules/task_vacuum.py,sha256=
|
|
255
|
-
orchestrator/schedules/validate_products.py,sha256=
|
|
256
|
-
orchestrator/schedules/validate_subscriptions.py,sha256=
|
|
253
|
+
orchestrator/migrations/versions/schema/2025-08-12_52b37b5b2714_search_index_model_for_llm_integration.py,sha256=6lRbUd1hJBjG8KM4Ow_J4pk2qwlRVhTKczS7XmoW-q4,3304
|
|
254
|
+
orchestrator/schedules/__init__.py,sha256=JnnaglfK1qYUBKI6Dd9taV-tCZIPlAdAkHtnkJDMXxY,1066
|
|
255
|
+
orchestrator/schedules/resume_workflows.py,sha256=kSotzTAXjX7p9fpSYiGOpuxuTQfv54eRFAe0YSG0DHc,832
|
|
256
|
+
orchestrator/schedules/scheduling.py,sha256=ehtwgpbvMOk1jhn-hHgVzg_9wLJkI6l3mRY3DcO9ZVY,1526
|
|
257
|
+
orchestrator/schedules/task_vacuum.py,sha256=eovnuKimU8SFRw1IF62MsAVFSdgeeV1u57kapUbz8As,821
|
|
258
|
+
orchestrator/schedules/validate_products.py,sha256=YMr7ASSqdXM6pd6oZu0kr8mfmH8If16MzprrsHdN_ZU,1234
|
|
259
|
+
orchestrator/schedules/validate_subscriptions.py,sha256=9SYvsn4BJ5yo_1nu555hWjl5XffTx7QMaRhH5oOjM9E,2042
|
|
257
260
|
orchestrator/schemas/__init__.py,sha256=YDyZ0YBvzB4ML9oDBCBPGnBvf680zFFgUzg7X0tYBRY,2326
|
|
258
261
|
orchestrator/schemas/base.py,sha256=Vc444LetsINLRhG2SxW9Bq01hOzChPOhQWCImQTr-As,930
|
|
259
262
|
orchestrator/schemas/engine_settings.py,sha256=LF8al7tJssiilb5A4emPtUYo0tVDSaT1Lvo_DN_ttrY,1296
|
|
@@ -263,20 +266,53 @@ orchestrator/schemas/process.py,sha256=UACBNt-4g4v9Y528u-gZ-Wk7YxwJHhnI4cEu5CtQm
|
|
|
263
266
|
orchestrator/schemas/product.py,sha256=MhMCh058ZuS2RJq-wSmxIPUNlhQexxXIx3DSz2OmOh4,1570
|
|
264
267
|
orchestrator/schemas/product_block.py,sha256=kCqvm6qadHpegMr9aWI_fYX-T7mS-5S-ldPxnGQZg7M,1519
|
|
265
268
|
orchestrator/schemas/resource_type.py,sha256=VDju4XywcDDLxdpbWU62RTvR9QF8x_GRrpTlN_NE8uI,1064
|
|
269
|
+
orchestrator/schemas/search.py,sha256=wIPEyBo1SQlg0s1Qu-hSsjt1bgryOxdVW4nlVtX8Lp8,3249
|
|
266
270
|
orchestrator/schemas/subscription.py,sha256=-jXyHZIed9Xlia18ksSDyenblNN6Q2yM2FlGELyJ458,3423
|
|
267
271
|
orchestrator/schemas/subscription_descriptions.py,sha256=Ft_jw1U0bf9Z0U8O4OWfLlcl0mXCVT_qYVagBP3GbIQ,1262
|
|
268
272
|
orchestrator/schemas/workflow.py,sha256=VqQ9XfV4fVd6MjY0LRRQzWBJHmlPsAamWfTwDx1cZkg,2102
|
|
273
|
+
orchestrator/search/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
274
|
+
orchestrator/search/agent/__init__.py,sha256=oUXG24eWRXisBZTodxf-FmNTjAphNIC6JbVlpkPzsEU,66
|
|
275
|
+
orchestrator/search/agent/prompts.py,sha256=LiiPExn4pFaj0jpsYmuSPmrGF3Iui41ShMqHPKX5T0c,2069
|
|
276
|
+
orchestrator/search/agent/state.py,sha256=DPCbvp6_WCxXwuJq1IU9glfKNZ1mRODoFcLjb9AOke0,203
|
|
277
|
+
orchestrator/search/agent/tools.py,sha256=HnLwqKDxH-t173UwMTWAfVJNfs4n-JYiY0XAbBDklbE,4733
|
|
278
|
+
orchestrator/search/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
279
|
+
orchestrator/search/core/embedding.py,sha256=YZqbOiPxaYg0qSEQ9avc1RQ0A19JTlTRDnyLuobnpAM,2308
|
|
280
|
+
orchestrator/search/core/exceptions.py,sha256=wBAWEIkpU8tjmqIO7d8H9s1QFwMBcA9ikHaeJ-GfBfw,344
|
|
281
|
+
orchestrator/search/core/types.py,sha256=MyxeJSnhpMaRQwytb54ouOAgizFznHqwirLSnbw72Tc,4379
|
|
282
|
+
orchestrator/search/core/validators.py,sha256=Ny80tH3SHuM64yZCi-9kfX-66NKGjsp_0oG7uJ21JVk,624
|
|
283
|
+
orchestrator/search/docs/index.md,sha256=zKzE2fbtHDfYTKaHg628wAsqCTOJ5yFUWV0ucFH3pAg,863
|
|
284
|
+
orchestrator/search/docs/running_local_text_embedding_inference.md,sha256=KlFxyAjHfLyCeV9fXAFVUqZOFWYwGPH-_oBjWx2Vgng,1255
|
|
285
|
+
orchestrator/search/filters/__init__.py,sha256=h9wjnKLcIfG1TwiuwtnlDvv9XMWLxkjCBD9D8qCOoQU,642
|
|
286
|
+
orchestrator/search/filters/base.py,sha256=h2EUck53pI6M0yZmkgdpY9_5Dpzfv-CogeiFHWCu45E,8887
|
|
287
|
+
orchestrator/search/filters/date_filters.py,sha256=dDbTPI-badVnaKM404waQ3yzTOHJNn59kYoqHvW3XFE,2460
|
|
288
|
+
orchestrator/search/filters/definitions.py,sha256=GmKXOLerYuOqLeShfyZAGp2qdQQcIVO3hoL7pBTJL8A,2764
|
|
289
|
+
orchestrator/search/filters/ltree_filters.py,sha256=BPA-vn3SYRiwL2MVldST0ey6qpvcDbfXXrdNjV26eL4,1292
|
|
290
|
+
orchestrator/search/filters/numeric_filter.py,sha256=GPBcZgrip2ruxsBx2AHZqxS16zkQG3C6zLJAGC2s2VU,2194
|
|
291
|
+
orchestrator/search/indexing/__init__.py,sha256=7IVylH0S5FPUh6jb9H9vNLb61gQQIk_sNrSHc8WoSD0,82
|
|
292
|
+
orchestrator/search/indexing/indexer.py,sha256=Wnwp-lB4ut3L7zZIez2dII7QyhdT23ooyQ4vuu6DSTs,13710
|
|
293
|
+
orchestrator/search/indexing/registry.py,sha256=cSeZe6aq3XME-RRz4AMD8BHXzx7dvU6tBa05ecjTzfk,2468
|
|
294
|
+
orchestrator/search/indexing/tasks.py,sha256=AQJDCb3kH5k1glIFvTquSrUinPwyG3ekTmlNQqPARc8,1783
|
|
295
|
+
orchestrator/search/indexing/traverse.py,sha256=7nc7N1TPfhFAw9sHNb5XulOo5YHZzk9g3uVdwojNGMw,8094
|
|
296
|
+
orchestrator/search/retrieval/__init__.py,sha256=EixZVzUzP3FOC-hWwf3pqvz0XHZe1HyHBsmJlTEU0Cw,65
|
|
297
|
+
orchestrator/search/retrieval/builder.py,sha256=HdR89BCoh8m02dh-B1CZ64ZaG_zpleoOLy1Yd1ALaBE,2394
|
|
298
|
+
orchestrator/search/retrieval/engine.py,sha256=Ws5hNWfLVOwnDNTOgZxywxHSPJV4gzPLI70-Cttgt-4,3409
|
|
299
|
+
orchestrator/search/retrieval/ranker.py,sha256=EPpy5znq-YcO2vz7QPgp__DkB0s1hioqVWR6h2srMnA,7170
|
|
300
|
+
orchestrator/search/retrieval/utils.py,sha256=KzUwpUe8axcJanyGsz7tRs2RAeu6avJAsHRIaoE6aSg,3042
|
|
301
|
+
orchestrator/search/retrieval/validation.py,sha256=KvPjvnl67mq2iMbjBc3YLMZ_XMiK3AygRDxrWKAPP_Y,5829
|
|
302
|
+
orchestrator/search/schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
303
|
+
orchestrator/search/schemas/parameters.py,sha256=aV1BM9JXpYbZKrPIlIcOqhyM-gHfF-lDffSZwM3dtUg,3943
|
|
304
|
+
orchestrator/search/schemas/results.py,sha256=Mr0_02-B9QK_JaUe6s5QG94S6A587MMLiQno5f_Lr6g,980
|
|
269
305
|
orchestrator/services/__init__.py,sha256=GyHNfEFCGKQwRiN6rQmvSRH2iYX7npjMZn97n8XzmLU,571
|
|
270
306
|
orchestrator/services/fixed_inputs.py,sha256=kyz7s2HLzyDulvcq-ZqefTw1om86COvyvTjz0_5CmgI,876
|
|
271
307
|
orchestrator/services/input_state.py,sha256=6BZOpb3cHpO18K-XG-3QUIV9pIM25_ufdODrp5CmXG4,2390
|
|
272
308
|
orchestrator/services/process_broadcast_thread.py,sha256=D44YbjF8mRqGuznkRUV4SoRn1J0lfy_x1H508GnSVlU,4649
|
|
273
|
-
orchestrator/services/processes.py,sha256=
|
|
309
|
+
orchestrator/services/processes.py,sha256=JGM9vWbUjvEpy-IpTIgaYaqcTBKMI-CWTY8SJKBf3eI,30153
|
|
274
310
|
orchestrator/services/products.py,sha256=BP4KyE8zO-8z7Trrs5T6zKBOw53S9BfBJnHWI3p6u5Y,1943
|
|
275
311
|
orchestrator/services/resource_types.py,sha256=_QBy_JOW_X3aSTqH0CuLrq4zBJL0p7Q-UDJUcuK2_qc,884
|
|
276
312
|
orchestrator/services/settings.py,sha256=HEWfFulgoEDwgfxGEO__QTr5fDiwNBEj1UhAeTAdbLQ,3159
|
|
277
313
|
orchestrator/services/settings_env_variables.py,sha256=iPErQjqPQCxKs0sPhefB16d8SBBVUi6eiRnFBK5bgqA,2196
|
|
278
314
|
orchestrator/services/subscription_relations.py,sha256=aIdyzwyyy58OFhwjRPCPgnQTUTmChu6SeSQRIleQoDE,13138
|
|
279
|
-
orchestrator/services/subscriptions.py,sha256=
|
|
315
|
+
orchestrator/services/subscriptions.py,sha256=nr2HI89nC0lYjzTh2j-lEQ5cPQK43LNZv3gvP6jbepw,27189
|
|
280
316
|
orchestrator/services/tasks.py,sha256=mR3Fj1VsudltpanJKI2PvrxersyhVQ1skp8H7r3XnYI,5288
|
|
281
317
|
orchestrator/services/translations.py,sha256=GyP8soUFGej8AS8uulBsk10CCK6Kwfjv9AHMFm3ElQY,1713
|
|
282
318
|
orchestrator/services/workflows.py,sha256=iEkt2OBuTwkDru4V6ZSKatnw0b96ZdPV-VQqeZ9EOgU,4015
|
|
@@ -312,14 +348,14 @@ orchestrator/workflows/__init__.py,sha256=NzIGGI-8SNAwCk2YqH6sHhEWbgAY457ntDwjO1
|
|
|
312
348
|
orchestrator/workflows/modify_note.py,sha256=eXt5KQvrkOXf-3YEXCn2XbBLP9N-n1pUYRW2t8Odupo,2150
|
|
313
349
|
orchestrator/workflows/removed_workflow.py,sha256=V0Da5TEdfLdZZKD38ig-MTp3_IuE7VGqzHHzvPYQmLI,909
|
|
314
350
|
orchestrator/workflows/steps.py,sha256=CZxfzkG5ANJYwuYTkQ4da2RpQqIjXCtey_Uy1ezRAZ4,6479
|
|
315
|
-
orchestrator/workflows/utils.py,sha256=
|
|
351
|
+
orchestrator/workflows/utils.py,sha256=bhX9vm3oc9k6RSaESl34v4Nrh40G4Ys91INoTjZ0XVM,13966
|
|
316
352
|
orchestrator/workflows/tasks/__init__.py,sha256=GyHNfEFCGKQwRiN6rQmvSRH2iYX7npjMZn97n8XzmLU,571
|
|
317
353
|
orchestrator/workflows/tasks/cleanup_tasks_log.py,sha256=BfWYbPXhnLAHUJ0mlODDnjZnQQAvKCZJDVTwbwOWI04,1624
|
|
318
354
|
orchestrator/workflows/tasks/resume_workflows.py,sha256=T3iobSJjVgiupe0rClD34kUZ7KF4pL5yK2AVeRLZog8,4313
|
|
319
355
|
orchestrator/workflows/tasks/validate_product_type.py,sha256=paG-NAY1bdde3Adt8zItkcBKf5Pxw6f5ngGW6an6dYU,3192
|
|
320
356
|
orchestrator/workflows/tasks/validate_products.py,sha256=GZJBoFF-WMphS7ghMs2-gqvV2iL1F0POhk0uSNt93n0,8510
|
|
321
357
|
orchestrator/workflows/translations/en-GB.json,sha256=ST53HxkphFLTMjFHonykDBOZ7-P_KxksktZU3GbxLt0,846
|
|
322
|
-
orchestrator_core-
|
|
323
|
-
orchestrator_core-
|
|
324
|
-
orchestrator_core-
|
|
325
|
-
orchestrator_core-
|
|
358
|
+
orchestrator_core-5.0.0a1.dist-info/licenses/LICENSE,sha256=b-aA5OZQuuBATmLKo_mln8CQrDPPhg3ghLzjPjLn4Tg,11409
|
|
359
|
+
orchestrator_core-5.0.0a1.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
|
|
360
|
+
orchestrator_core-5.0.0a1.dist-info/METADATA,sha256=O08JzKILxDGjxchb-FX1p1DnZQSVbCfxLCwGqTb2OO0,6054
|
|
361
|
+
orchestrator_core-5.0.0a1.dist-info/RECORD,,
|