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

@@ -4,6 +4,7 @@ import logging
4
4
  import sqlite3
5
5
  from abc import ABC, abstractmethod
6
6
  from pathlib import Path
7
+ from typing import Any
7
8
 
8
9
  import aiosqlite
9
10
 
@@ -227,7 +228,6 @@ class SQLiteSharedLinkStore(SharedLinkStoreInterface):
227
228
  except sqlite3.Error as e:
228
229
  logger.error(f"SQLite error saving feedback {record.feedback_id}: {e}", exc_info=True)
229
230
  raise
230
- # flock/webapp/app/services/sharing_store.py ← replace only this class
231
231
 
232
232
  # ---------------------------------------------------------------------------
233
233
  # Azure Table + Blob implementation
@@ -366,14 +366,42 @@ class AzureTableSharedLinkStore(SharedLinkStoreInterface):
366
366
 
367
367
  # -------------------------------------------------------- save_feedback --
368
368
  async def save_feedback(self, record: FeedbackRecord) -> FeedbackRecord:
369
+ """Persist a feedback record. If a flock_definition is present, upload it as a blob and
370
+ store only a reference in the table row to avoid oversized entities (64 KiB limit).
371
+ """
369
372
  tbl_client = self.table_svc.get_table_client(self._FEEDBACK_TBL_NAME)
370
- entity = {
373
+
374
+ # Core entity fields (avoid dumping the full Pydantic model – too many columns / large value)
375
+ entity: dict[str, Any] = {
371
376
  "PartitionKey": "feedback",
372
377
  "RowKey": record.feedback_id,
373
- **record.model_dump(exclude={"feedback_id"}) # all other fields
378
+ "share_id": record.share_id,
379
+ "context_type": record.context_type,
380
+ "reason": record.reason,
381
+ "expected_response": record.expected_response,
382
+ "actual_response": record.actual_response,
383
+ "created_at": record.created_at.isoformat(),
374
384
  }
385
+ if record.flock_name is not None:
386
+ entity["flock_name"] = record.flock_name
387
+ if record.agent_name is not None:
388
+ entity["agent_name"] = record.agent_name
389
+
390
+ # ------------------------------------------------------------------ YAML → Blob
391
+ if record.flock_definition:
392
+ blob_name = f"{record.feedback_id}.yaml"
393
+ blob_client = self.blob_svc.get_blob_client(self._CONTAINER_NAME, blob_name)
394
+ # Overwrite=true so repeated feedback_id uploads (shouldn't happen) won't error
395
+ await blob_client.upload_blob(record.flock_definition,
396
+ overwrite=True,
397
+ content_type="text/yaml")
398
+ entity["flock_blob_name"] = blob_name # lightweight reference only
399
+
400
+ # ------------------------------------------------------------------ Table upsert
375
401
  await tbl_client.upsert_entity(entity)
376
- logger.info("Saved feedback %s", record.feedback_id)
402
+ logger.info("Saved feedback %s%s",
403
+ record.feedback_id,
404
+ f" → blob '{entity['flock_blob_name']}'" if "flock_blob_name" in entity else "")
377
405
  return record
378
406
 
379
407
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: flock-core
3
- Version: 0.4.524
3
+ Version: 0.4.525
4
4
  Summary: Declarative LLM Orchestration at Scale
5
5
  Author-email: Andre Ratzenberger <andre.ratzenberger@whiteduck.de>
6
6
  License-File: LICENSE
@@ -508,7 +508,7 @@ flock/webapp/app/api/registry_viewer.py,sha256=IoInxJiRR0yFlecG_l2_eRc6l35RQQyED
508
508
  flock/webapp/app/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
509
509
  flock/webapp/app/services/flock_service.py,sha256=olU1My3YYkrTCVIOYPgRted-8YgAop-Yi7G4gbRHTrg,14941
510
510
  flock/webapp/app/services/sharing_models.py,sha256=XeJk1akILV_1l-cIUaG8k_eYhjV3EWBCWZ2kpwbdImA,3609
511
- flock/webapp/app/services/sharing_store.py,sha256=Ogc2MWFS1FDu8GQ89txMP32DvWZ5NcJjQAv4mwEroYs,18121
511
+ flock/webapp/app/services/sharing_store.py,sha256=muYPI5KQUI3hg1rckCZ3UQ_nTxEJh6OiM15McyuG1tI,19669
512
512
  flock/webapp/app/templates/theme_mapper.html,sha256=z8ZY7nmk6PiUGzD_-px7wSXcEnuBM121rMq6u-2oaCo,14249
513
513
  flock/webapp/static/css/chat.css,sha256=Njc9gXfQzbXMrqtFJH2Yda-IQlwNPd2z4apXxzfA0sY,8169
514
514
  flock/webapp/static/css/components.css,sha256=WnicEHy3ptPzggKmyG9_oZp3X30EMJBUW3KEXaiUCUE,6018
@@ -562,8 +562,8 @@ flock/workflow/agent_execution_activity.py,sha256=Gy6FtuVAjf0NiUXmC3syS2eJpNQF4R
562
562
  flock/workflow/flock_workflow.py,sha256=iSUF_soFvWar0ffpkzE4irkDZRx0p4HnwmEBi_Ne2sY,9666
563
563
  flock/workflow/temporal_config.py,sha256=3_8O7SDEjMsSMXsWJBfnb6XTp0TFaz39uyzSlMTSF_I,3988
564
564
  flock/workflow/temporal_setup.py,sha256=YIHnSBntzOchHfMSh8hoLeNXrz3B1UbR14YrR6soM7A,1606
565
- flock_core-0.4.524.dist-info/METADATA,sha256=hD_opwGCMB2Y8gDQGmnS9w_XRNKQwzCF65_EeXmjUMU,22786
566
- flock_core-0.4.524.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
567
- flock_core-0.4.524.dist-info/entry_points.txt,sha256=rWaS5KSpkTmWySURGFZk6PhbJ87TmvcFQDi2uzjlagQ,37
568
- flock_core-0.4.524.dist-info/licenses/LICENSE,sha256=iYEqWy0wjULzM9GAERaybP4LBiPeu7Z1NEliLUdJKSc,1072
569
- flock_core-0.4.524.dist-info/RECORD,,
565
+ flock_core-0.4.525.dist-info/METADATA,sha256=P2fdPY28U8ZuUIE0J9CAy4pPvuapFQLn1v8_Odg7Vgs,22786
566
+ flock_core-0.4.525.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
567
+ flock_core-0.4.525.dist-info/entry_points.txt,sha256=rWaS5KSpkTmWySURGFZk6PhbJ87TmvcFQDi2uzjlagQ,37
568
+ flock_core-0.4.525.dist-info/licenses/LICENSE,sha256=iYEqWy0wjULzM9GAERaybP4LBiPeu7Z1NEliLUdJKSc,1072
569
+ flock_core-0.4.525.dist-info/RECORD,,