flock-core 0.4.509__py3-none-any.whl → 0.4.511__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.

Potentially problematic release.


This version of flock-core might be problematic. Click here for more details.

@@ -250,7 +250,7 @@ loguru_logger.add(
250
250
  colorize=True,
251
251
  format=custom_format,
252
252
  )
253
- logging.basicConfig(level=LOG_LEVELS["NO_LOGS"])
253
+ logging.basicConfig(level=LOG_LEVELS["ERROR"]) # Default to ERROR level for fallback
254
254
  # Optionally add a file handler, e.g.:
255
255
  # loguru_logger.add("logs/flock.log", rotation="100 MB", retention="30 days", level="DEBUG")
256
256
 
@@ -515,7 +515,7 @@ def get_logger(name: str = "flock") -> FlockLogger:
515
515
  if name not in _LOGGER_CACHE:
516
516
  # New loggers default to errors-only (min_level_severity = ERROR_SEVERITY)
517
517
  # until explicitly configured by configure_logging()
518
- _LOGGER_CACHE[name] = FlockLogger(name, LOG_LEVELS["NO_LOGS"])
518
+ _LOGGER_CACHE[name] = FlockLogger(name, LOG_LEVELS["ERROR"])
519
519
  # The min_level_severity state of existing or newly created loggers
520
520
  # should be managed by the configure_logging() function.
521
521
  return _LOGGER_CACHE[name]
flock/tools/__init__.py CHANGED
@@ -1,188 +0,0 @@
1
- from .azure_tools import (
2
- azure_search_create_index,
3
- azure_search_create_vector_index,
4
- azure_search_delete_documents,
5
- azure_search_get_document,
6
- azure_search_get_index_statistics,
7
- azure_search_initialize_clients,
8
- azure_search_list_indexes,
9
- azure_search_query,
10
- azure_search_upload_documents,
11
- azure_storage_create_container,
12
- azure_storage_delete_blob,
13
- azure_storage_delete_container,
14
- azure_storage_download_blob_to_bytes,
15
- azure_storage_download_blob_to_file,
16
- azure_storage_download_blob_to_text,
17
- azure_storage_get_blob_properties,
18
- azure_storage_list_blobs,
19
- azure_storage_list_containers,
20
- azure_storage_upload_blob_bytes,
21
- azure_storage_upload_blob_from_file,
22
- azure_storage_upload_blob_text,
23
- )
24
- from .code_tools import code_code_eval, code_evaluate_math
25
- from .file_tools import (
26
- file_get_anything_as_markdown,
27
- file_json_parse_safe,
28
- file_json_search,
29
- file_read_from_file,
30
- file_save_to_file,
31
- )
32
- from .github_tools import (
33
- github_create_files,
34
- github_create_user_stories_as_github_issue,
35
- github_upload_readme,
36
- )
37
- from .markdown_tools import (
38
- markdown_extract_code_blocks,
39
- markdown_extract_links,
40
- markdown_extract_tables,
41
- markdown_split_by_headers,
42
- markdown_to_plain_text,
43
- )
44
- from .text_tools import (
45
- text_calculate_hash,
46
- text_chunking_for_embedding,
47
- text_clean_text,
48
- text_count_tokens,
49
- text_count_tokens_estimate,
50
- text_count_words,
51
- text_detect_language,
52
- text_extract_json_from_text,
53
- text_extract_keywords,
54
- text_extract_numbers,
55
- text_extract_urls,
56
- text_format_chat_history,
57
- text_format_table_from_dicts,
58
- text_recursive_splitter,
59
- text_split_by_characters,
60
- text_split_by_sentences,
61
- text_split_by_separator,
62
- text_split_by_tokens,
63
- text_split_code_by_functions,
64
- text_tiktoken_split,
65
- text_truncate_to_token_limit,
66
- )
67
- from .web_tools import (
68
- web_content_as_markdown,
69
- web_search_bing,
70
- web_search_duckduckgo,
71
- web_search_tavily,
72
- )
73
- from .zendesk_tools import (
74
- zendesk_get_article_by_id,
75
- zendesk_get_articles,
76
- zendesk_get_comments_by_ticket_id,
77
- zendesk_get_ticket_by_id,
78
- zendesk_get_tickets,
79
- zendesk_search_articles,
80
- )
81
-
82
- storage_tools = [
83
- azure_storage_list_containers,
84
- azure_storage_create_container,
85
- azure_storage_delete_container,
86
- azure_storage_list_blobs,
87
- azure_storage_upload_blob_text,
88
- azure_storage_upload_blob_bytes,
89
- azure_storage_upload_blob_from_file,
90
- azure_storage_download_blob_to_text,
91
- azure_storage_download_blob_to_bytes,
92
- azure_storage_download_blob_to_file,
93
- azure_storage_delete_blob,
94
- azure_storage_get_blob_properties,
95
- ]
96
-
97
- azure_search_tools = [
98
- azure_search_initialize_clients,
99
- azure_search_create_index,
100
- azure_search_upload_documents,
101
- azure_search_query,
102
- azure_search_get_document,
103
- azure_search_delete_documents,
104
- azure_search_list_indexes,
105
- azure_search_get_index_statistics,
106
- azure_search_create_vector_index,
107
- ]
108
-
109
- file_tools_collection = [
110
- file_get_anything_as_markdown,
111
- file_save_to_file,
112
- file_read_from_file,
113
- file_json_parse_safe,
114
- file_json_search,
115
- ]
116
-
117
- code_tools_collection = [code_evaluate_math, code_code_eval]
118
-
119
- web_tools_collection = [
120
- web_content_as_markdown,
121
- web_search_bing,
122
- web_search_duckduckgo,
123
- web_search_tavily,
124
- ]
125
-
126
- github_tools_collection = [
127
- github_create_user_stories_as_github_issue,
128
- github_upload_readme,
129
- github_create_files,
130
- ]
131
-
132
- llm_processing_tools = [
133
- text_split_by_sentences,
134
- text_split_by_characters,
135
- text_split_by_tokens,
136
- text_split_by_separator,
137
- text_recursive_splitter,
138
- text_chunking_for_embedding,
139
- text_split_code_by_functions,
140
- text_count_tokens,
141
- text_count_tokens_estimate,
142
- text_truncate_to_token_limit,
143
- text_extract_keywords,
144
- text_clean_text,
145
- text_format_chat_history,
146
- text_extract_json_from_text,
147
- text_calculate_hash,
148
- text_format_table_from_dicts,
149
- text_detect_language,
150
- text_tiktoken_split,
151
- text_count_words,
152
- text_extract_urls,
153
- text_extract_numbers,
154
- ]
155
-
156
- markdown_processing_tools = [
157
- markdown_split_by_headers,
158
- markdown_extract_code_blocks,
159
- markdown_extract_links,
160
- markdown_extract_tables,
161
- markdown_to_plain_text,
162
- ]
163
-
164
- zendesk_tools_collection = [
165
- zendesk_get_tickets,
166
- zendesk_get_ticket_by_id,
167
- zendesk_get_comments_by_ticket_id,
168
- zendesk_get_article_by_id,
169
- zendesk_get_articles,
170
- zendesk_search_articles,
171
- ]
172
-
173
- __all__ = [
174
- "azure_search_tools",
175
- "code_tools_collection",
176
- "file_tools_collection",
177
- "github_tools_collection",
178
- "llm_processing_tools",
179
- "markdown_processing_tools",
180
- "storage_tools",
181
- "web_tools_collection",
182
- "zendesk_tools_collection",
183
- ]
184
-
185
- # If there was existing content in __init__.py, this approach might overwrite it.
186
- # A safer approach if __init__.py might exist and have other critical initializations
187
- # would be to read it first, then append/modify.
188
- # For now, assuming a fresh creation or simple __init__.py.
@@ -3,6 +3,10 @@
3
3
  import os
4
4
 
5
5
  import httpx
6
+ from mcp.server.fastmcp import FastMCP
7
+
8
+ mcp = FastMCP("ZendeskTools")
9
+
6
10
 
7
11
  ZENDESK_BEARER_TOKEN = os.getenv("ZENDESK_BEARER_TOKEN")
8
12
 
@@ -12,6 +16,7 @@ HEADERS = {
12
16
  }
13
17
 
14
18
 
19
+ @mcp.tool()
15
20
  def zendesk_get_tickets(number_of_tickets: int = 10) -> list[dict]:
16
21
  """Get all tickets."""
17
22
  ZENDESK_SUBDOMAIN = os.getenv("ZENDESK_SUBDOMAIN_TICKET")
@@ -30,7 +35,7 @@ def zendesk_get_tickets(number_of_tickets: int = 10) -> list[dict]:
30
35
  url = data.get("next_page")
31
36
  return all_tickets
32
37
 
33
-
38
+ @mcp.tool()
34
39
  def zendesk_get_ticket_by_id(ticket_id: str) -> dict:
35
40
  """Get a ticket by ID."""
36
41
  ZENDESK_SUBDOMAIN = os.getenv("ZENDESK_SUBDOMAIN_TICKET")
@@ -41,7 +46,7 @@ def zendesk_get_ticket_by_id(ticket_id: str) -> dict:
41
46
  response.raise_for_status()
42
47
  return response.json()["ticket"]
43
48
 
44
-
49
+ @mcp.tool()
45
50
  def zendesk_get_comments_by_ticket_id(ticket_id: str) -> list[dict]:
46
51
  """Get all comments for a ticket."""
47
52
  ZENDESK_SUBDOMAIN = os.getenv("ZENDESK_SUBDOMAIN_TICKET")
@@ -52,7 +57,7 @@ def zendesk_get_comments_by_ticket_id(ticket_id: str) -> list[dict]:
52
57
  response.raise_for_status()
53
58
  return response.json()["comments"]
54
59
 
55
-
60
+ @mcp.tool()
56
61
  def zendesk_get_article_by_id(article_id: str) -> dict:
57
62
  """Get an article by ID."""
58
63
  ZENDESK_LOCALE = os.getenv("ZENDESK_ARTICLE_LOCALE")
@@ -66,7 +71,7 @@ def zendesk_get_article_by_id(article_id: str) -> dict:
66
71
  response.raise_for_status()
67
72
  return response.json()["article"]
68
73
 
69
-
74
+ @mcp.tool()
70
75
  def zendesk_get_articles() -> list[dict]:
71
76
  """Get all articles."""
72
77
  ZENDESK_LOCALE = os.getenv("ZENDESK_ARTICLE_LOCALE")
@@ -78,7 +83,45 @@ def zendesk_get_articles() -> list[dict]:
78
83
  response.raise_for_status()
79
84
  return response.json()["articles"]
80
85
 
86
+ @mcp.tool()
87
+ def zendesk_get_articles_count() -> int:
88
+ """
89
+ Count every Help-Center article in the configured locale.
90
+
91
+ Uses cursor pagination (page[size]=100) because it’s faster and
92
+ has no 10 000-record ceiling. Falls back to offset pagination
93
+ if the account hasn’t been migrated yet.
94
+ """
95
+ ZENDESK_LOCALE = os.getenv("ZENDESK_ARTICLE_LOCALE") # e.g. "en-us"
96
+ ZENDESK_SUBDOMAIN = os.getenv("ZENDESK_SUBDOMAIN_ARTICLE")
97
+ BASE_URL = f"https://{ZENDESK_SUBDOMAIN}.zendesk.com"
98
+ url = (
99
+ f"{BASE_URL}/api/v2/help_center/{ZENDESK_LOCALE}/articles.json"
100
+ "?page[size]=100" # max page size for HC APIs
101
+ )
102
+
103
+ total = 0
104
+ with httpx.Client(headers=HEADERS, timeout=30.0) as client:
105
+ while url:
106
+ resp = client.get(url)
107
+ resp.raise_for_status()
108
+ data = resp.json()
109
+
110
+ total += len(data.get("articles", []))
111
+ print(f"Locale: {ZENDESK_LOCALE}")
112
+ print(f"Number of articles: {total}")
113
+
114
+ # Cursor pagination (preferred)
115
+ if data.get("meta", {}).get("has_more"):
116
+ url = data.get("links", {}).get("next")
117
+ continue
118
+
119
+ # Offset pagination fallback
120
+ url = data.get("next_page")
121
+
122
+ return total
81
123
 
124
+ @mcp.tool()
82
125
  def zendesk_search_articles(query: str) -> list[dict]:
83
126
  """Search Zendesk Help Center articles using a query string."""
84
127
  ZENDESK_LOCALE = os.getenv("ZENDESK_ARTICLE_LOCALE") # e.g., "en-us"
@@ -97,3 +140,8 @@ def zendesk_search_articles(query: str) -> list[dict]:
97
140
  response = client.get(url, params=params)
98
141
  response.raise_for_status()
99
142
  return response.json().get("results", [])
143
+
144
+
145
+ if __name__ == "__main__":
146
+ transport = os.getenv("ZENDESK_MCP_TRANSPORT", "stdio")
147
+ mcp.run(transport=transport)
@@ -0,0 +1,48 @@
1
+ /* ========================================================================
2
+ two-pane.css — Styles for the two-pane layout used in execution view
3
+ ======================================================================== */
4
+
5
+ /* Two pane container */
6
+ .two-pane-flex-container {
7
+ display: flex;
8
+ width: 100%;
9
+ }
10
+
11
+ /* Collapsed left pane */
12
+ .left-pane-collapsed {
13
+ width: 40px;
14
+ display: flex;
15
+ align-items: center;
16
+ justify-content: center;
17
+ background-color: var(--pico-muted-border-color);
18
+ border-radius: 0 4px 4px 0;
19
+ writing-mode: vertical-lr;
20
+ transform: rotate(180deg);
21
+ margin-right: 10px;
22
+ transition: background-color 0.2s;
23
+ }
24
+
25
+ .left-pane-collapsed:hover {
26
+ background-color: var(--pico-primary-hover);
27
+ }
28
+
29
+ /* Toggle links styling */
30
+ .pane-toggle {
31
+ text-decoration: none;
32
+ color: var(--pico-primary);
33
+ font-size: 0.875rem;
34
+ font-weight: 500;
35
+ padding: 5px 10px;
36
+ border-radius: 4px;
37
+ transition: all 0.2s;
38
+ }
39
+
40
+ .pane-toggle:hover {
41
+ background-color: var(--pico-primary-hover);
42
+ color: var(--pico-primary-inverse);
43
+ }
44
+
45
+ /* Ensure right pane takes full width when left is collapsed */
46
+ #execution-right-pane {
47
+ transition: flex 0.3s, padding-left 0.3s;
48
+ }
@@ -12,6 +12,7 @@
12
12
  <link rel="stylesheet" href="/static/css/sidebar.css">
13
13
  <link rel="stylesheet" href="/static/css/components.css">
14
14
  <link rel="stylesheet" href="/static/css/chat.css">
15
+ <link rel="stylesheet" href="/static/css/two-pane.css">
15
16
  <!-- Font Awesome for icons -->
16
17
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css">
17
18
  <!-- Prism.js CSS for syntax highlighting (okaidia theme) -->
@@ -1,5 +1,14 @@
1
- <article class="two-pane-flex-container">
2
- <section id="execution-left-pane" style="flex: 1; min-width: 300px;">
1
+ <article class="two-pane-flex-container" x-data="{ showLeftPane: true }">
2
+ <!-- Left pane - collapsed state -->
3
+ <div class="left-pane-collapsed" x-show="!showLeftPane" style="display: none;">
4
+ <a href="#" class="pane-toggle" @click.prevent="showLeftPane = true" aria-label="Expand left pane">Show</a>
5
+ </div>
6
+
7
+ <!-- Left pane - expanded state -->
8
+ <section id="execution-left-pane" x-show="showLeftPane" style="flex: 1; min-width: 200px; max-width: 500px;">
9
+ <div class="pane-header" style="display: flex; justify-content: flex-end; margin-bottom: 10px;">
10
+ <a href="#" class="pane-toggle" @click.prevent="showLeftPane = false" aria-label="Hide left pane">Hide</a>
11
+ </div>
3
12
  {# The Execution Form will be loaded here #}
4
13
  <div id="execution-form-wrapper" hx-get="/ui/api/flock/htmx/execution-form-content" {# New endpoint for just the
5
14
  form #} hx-trigger="load" hx-swap="innerHTML">
@@ -8,7 +17,7 @@
8
17
  </section>
9
18
 
10
19
  <section id="execution-right-pane" class="right-pane-framed"
11
- style="flex: 2; border-left: 1px solid var(--pico-muted-border-color); padding-left: 1.5rem;">
20
+ :style="showLeftPane ? 'flex: 2; border-left: 1px solid var(--pico-muted-border-color); padding-left: 1.5rem;' : 'flex: 1; border-left: none; padding-left: 0;'">
12
21
  {# The Results Display area, always present when this container is loaded #}
13
22
  <header style=" border-bottom: 1px solid var(--pico-muted-border-color); margin-bottom: 1rem;">
14
23
  <h5>Execution Results</h5>
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: flock-core
3
- Version: 0.4.509
3
+ Version: 0.4.511
4
4
  Summary: Declarative LLM Orchestration at Scale
5
5
  Author-email: Andre Ratzenberger <andre.ratzenberger@whiteduck.de>
6
6
  License-File: LICENSE
@@ -52,7 +52,7 @@ flock/core/execution/local_executor.py,sha256=rnIQvaJOs6zZORUcR3vvyS6LPREDJTjayg
52
52
  flock/core/execution/temporal_executor.py,sha256=dHcb0xuzPFWU_wbwTgI7glLNyyppei93Txs2sapjhaw,6283
53
53
  flock/core/interpreter/python_interpreter.py,sha256=RaUMZuufsKBNQ4FAeSaOgUuxzs8VYu5TgUUs-xwaxxM,26376
54
54
  flock/core/logging/__init__.py,sha256=xn5fC-8IgsdIv0ywe_cICK1KVhTrVD8t-jYORg0ETUA,155
55
- flock/core/logging/logging.py,sha256=Tgbyu_Ah2g9keD_uQZXNeGsEQuCapGBBKvLiF7L2UrE,19506
55
+ flock/core/logging/logging.py,sha256=-fYk4rv41LUbSLCzaSApg3cFTAk04bDR64-4ve-2mHk,19541
56
56
  flock/core/logging/telemetry.py,sha256=Trssqx02SBovTL843YwY3L-ZGj3KvcfMHLMU7Syk8L0,6561
57
57
  flock/core/logging/trace_and_logged.py,sha256=5vNrK1kxuPMoPJ0-QjQg-EDJL1oiEzvU6UNi6X8FiMs,2117
58
58
  flock/core/logging/formatters/enum_builder.py,sha256=LgEYXUv84wK5vwHflZ5h8HBGgvLH3sByvUQe8tZiyY0,981
@@ -473,7 +473,7 @@ flock/themes/zenburn.toml,sha256=NxOAR3cx-Z9PVErEKHFZ6jsjfKBtPmfyN_vGSri5_qo,171
473
473
  flock/themes/zenburned.toml,sha256=UEmquBbcAO3Zj652XKUwCsNoC2iQSlIh-q5c6DH-7Kc,1664
474
474
  flock/themes/zenwritten-dark.toml,sha256=To5l6520_3UqAGiEumpzGWsHhXxqu9ThrMildXKgIO0,1669
475
475
  flock/themes/zenwritten-light.toml,sha256=G1iEheCPfBNsMTGaVpEVpDzYBHA_T-MV27rolUYolmE,1666
476
- flock/tools/__init__.py,sha256=rVCbfZvX_prgSwSbX9i5oCN0nt3jASusXsksVPU70A8,5098
476
+ flock/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
477
477
  flock/tools/azure_tools.py,sha256=OTJsb0B4l70GcD1W3ZMDHWd3X8nEnszhhz2sllD2z9E,30187
478
478
  flock/tools/code_tools.py,sha256=CRDi3iIN4NQcgz4TJ4b-thFq7uXW_gIXPk-iEoWhF4E,1356
479
479
  flock/tools/file_tools.py,sha256=zbXo5SxyKYLvrE7k3vLF5tGxCeuaeJtCCdWQ1fXJMAA,4626
@@ -482,7 +482,7 @@ flock/tools/markdown_tools.py,sha256=94fjGAJ5DEutoioD0ke-YRbxF6IWJQKuPVBLkNqdBo4
482
482
  flock/tools/system_tools.py,sha256=IUB8MiSxtQH5ZfTGOck3vl4TKva8m1lfU4-W5D5b-4w,202
483
483
  flock/tools/text_tools.py,sha256=mMQ8tkyYDxIorqqzl9ccGyWYjrSynYiYFIeP9qypfdg,22491
484
484
  flock/tools/web_tools.py,sha256=Wl3qO5lKq4PYtmYahgeFGBQ8tDC0uKY4k9A1Zn-MqFw,2588
485
- flock/tools/zendesk_tools.py,sha256=HQ7qBVSrRfemwolz0IOXl8Z02vJCLE6mTd-cARVdX88,3576
485
+ flock/tools/zendesk_tools.py,sha256=e7KMfHVl7wGbstwdz9CvoChyuoZfpS9n4TEtvrxawgI,5162
486
486
  flock/webapp/__init__.py,sha256=YtRbbyciN3Z2oMB9fdXZuvM3e49R8m2mY5qHLDoapRA,37
487
487
  flock/webapp/run.py,sha256=Ekg-mQSl7RUDJAEDTBJMIlLyvhWqWPMjg8hPqmgFREE,8945
488
488
  flock/webapp/app/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -508,7 +508,8 @@ flock/webapp/static/css/components.css,sha256=WnicEHy3ptPzggKmyG9_oZp3X30EMJBUW3
508
508
  flock/webapp/static/css/header.css,sha256=E9MgItZCk34S65NfMJ001ZsRz4oyFSJex8KvINMtCn0,1043
509
509
  flock/webapp/static/css/layout.css,sha256=ocDd7dmezdQzNAQDuQSv1xZ8-pcbNgYLUYJB1SKcfvw,1526
510
510
  flock/webapp/static/css/sidebar.css,sha256=gCwLTAiIvmHGksm0rHDpMsOGCDKBMxqx_aEc8ZQcQF8,3066
511
- flock/webapp/templates/base.html,sha256=Eqp-WYI8ZaYr8CiKzfquYLaoWtKJ7vtHHCJBS4b53Tw,9757
511
+ flock/webapp/static/css/two-pane.css,sha256=dTrCm5y3odO105Pt_yHtAl3uzUSy2fqDSCEC_jxeEDM,1181
512
+ flock/webapp/templates/base.html,sha256=4aGkj-tL-tOcPtpNvrsiOhGUn6EfaCpAOsto_MB4IKs,9817
512
513
  flock/webapp/templates/chat.html,sha256=9JMupaOFvVLxJ2DnLRmjaPWBN96nIOgQRYkHe3h_OzQ,7397
513
514
  flock/webapp/templates/chat_settings.html,sha256=nYz6ihYAUA9zN-Jru565QNl8_eJdoLMWC2LdZJtZ-20,862
514
515
  flock/webapp/templates/flock_editor.html,sha256=ysDExf9zMj4SMsSXZUpCtG9EjIv8VJ5xL4IJQOMlb7o,542
@@ -530,7 +531,7 @@ flock/webapp/templates/partials/_dashboard_upload_flock_form.html,sha256=lQxR75y
530
531
  flock/webapp/templates/partials/_dynamic_input_form_content.html,sha256=WYr2M7Mb5vKITFhIVXXEHppRx9IjGew91yLo1_I9kkI,1230
531
532
  flock/webapp/templates/partials/_env_vars_table.html,sha256=6TFUWvkYwzwodqXZ0yJhH_NU6L4tz7V09mDamSfDI8c,1082
532
533
  flock/webapp/templates/partials/_execution_form.html,sha256=296AFx0WSbCzX8t-L1pRl8s0AUzeOb2fmTiRlcwYoIg,3274
533
- flock/webapp/templates/partials/_execution_view_container.html,sha256=XuphmZKYf2IYSeA9XHqtnwAntBylrFASDXVlLBJUeDk,1031
534
+ flock/webapp/templates/partials/_execution_view_container.html,sha256=8_kvsXBfROHcpqFfKl8MNhDWLusUOA2-7ygwtdJax7o,1702
534
535
  flock/webapp/templates/partials/_flock_file_list.html,sha256=FjIxAqB0OxA0mQ8f2jBX1_M_AM5ea7gCA8PEjPpiZVc,1209
535
536
  flock/webapp/templates/partials/_flock_properties_form.html,sha256=alOsGYzktVX6aYtfxRHganBfipkzx5Kk4RxF6C0IHhk,2891
536
537
  flock/webapp/templates/partials/_flock_upload_form.html,sha256=h2dIPwPeTg5dv_ubrZiwBXReF0NjzJ6eKSwwz7mbQQs,960
@@ -554,8 +555,8 @@ flock/workflow/agent_execution_activity.py,sha256=Gy6FtuVAjf0NiUXmC3syS2eJpNQF4R
554
555
  flock/workflow/flock_workflow.py,sha256=iSUF_soFvWar0ffpkzE4irkDZRx0p4HnwmEBi_Ne2sY,9666
555
556
  flock/workflow/temporal_config.py,sha256=3_8O7SDEjMsSMXsWJBfnb6XTp0TFaz39uyzSlMTSF_I,3988
556
557
  flock/workflow/temporal_setup.py,sha256=YIHnSBntzOchHfMSh8hoLeNXrz3B1UbR14YrR6soM7A,1606
557
- flock_core-0.4.509.dist-info/METADATA,sha256=NI5RWK5HlQZIAxaid8PmUmx-liIfeP64Zg1ptSbEyC4,22584
558
- flock_core-0.4.509.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
559
- flock_core-0.4.509.dist-info/entry_points.txt,sha256=rWaS5KSpkTmWySURGFZk6PhbJ87TmvcFQDi2uzjlagQ,37
560
- flock_core-0.4.509.dist-info/licenses/LICENSE,sha256=iYEqWy0wjULzM9GAERaybP4LBiPeu7Z1NEliLUdJKSc,1072
561
- flock_core-0.4.509.dist-info/RECORD,,
558
+ flock_core-0.4.511.dist-info/METADATA,sha256=z5Ej34edD5OxdhIiXbXIkSxvMfr97CG0SHh_d_NfTmY,22584
559
+ flock_core-0.4.511.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
560
+ flock_core-0.4.511.dist-info/entry_points.txt,sha256=rWaS5KSpkTmWySURGFZk6PhbJ87TmvcFQDi2uzjlagQ,37
561
+ flock_core-0.4.511.dist-info/licenses/LICENSE,sha256=iYEqWy0wjULzM9GAERaybP4LBiPeu7Z1NEliLUdJKSc,1072
562
+ flock_core-0.4.511.dist-info/RECORD,,