by-framework 0.2.2.dev12__py3-none-any.whl → 0.2.2.dev13__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.
- by_framework/core/wait_sweeper.py +1 -1
- by_framework/worker/context.py +5 -0
- by_framework/worker/worker.py +9 -0
- {by_framework-0.2.2.dev12.dist-info → by_framework-0.2.2.dev13.dist-info}/METADATA +1 -1
- {by_framework-0.2.2.dev12.dist-info → by_framework-0.2.2.dev13.dist-info}/RECORD +8 -8
- {by_framework-0.2.2.dev12.dist-info → by_framework-0.2.2.dev13.dist-info}/WHEEL +0 -0
- {by_framework-0.2.2.dev12.dist-info → by_framework-0.2.2.dev13.dist-info}/entry_points.txt +0 -0
- {by_framework-0.2.2.dev12.dist-info → by_framework-0.2.2.dev13.dist-info}/licenses/LICENSE +0 -0
by_framework/worker/context.py
CHANGED
|
@@ -875,6 +875,11 @@ class AgentContext:
|
|
|
875
875
|
# the reply belongs to — the resume message itself
|
|
876
876
|
# describes the hop that woke it, not this dispatch.
|
|
877
877
|
"task_group_id": task_group_id,
|
|
878
|
+
# A's original dispatch metadata, so a resumed reply
|
|
879
|
+
# can restore it as the base layer instead of
|
|
880
|
+
# inheriting whatever message last woke this
|
|
881
|
+
# execution up (see _resolve_reply_command).
|
|
882
|
+
"metadata": dict(command.header.metadata),
|
|
878
883
|
"stream_name": delivery_stream,
|
|
879
884
|
"status": "QUEUED",
|
|
880
885
|
"route_policy": route_policy,
|
by_framework/worker/worker.py
CHANGED
|
@@ -343,6 +343,14 @@ class GatewayWorker(ABC):
|
|
|
343
343
|
Treating "is a resume" as "has no caller" is what used to make an
|
|
344
344
|
A -> B -> C chain silently drop B's result on the floor.
|
|
345
345
|
|
|
346
|
+
``header.metadata`` is restored the same way, as a full replacement
|
|
347
|
+
rather than a merge with the waking message's own metadata: the
|
|
348
|
+
waking message (an ``ask_user`` answer, or a sub-call's reply) is
|
|
349
|
+
transient plumbing for that hop, not something A ever sent or asked
|
|
350
|
+
for. If A's original metadata is missing from the snapshot (an
|
|
351
|
+
execution recorded before this field existed), this degrades to an
|
|
352
|
+
empty dict rather than leaking the waking message's metadata to A.
|
|
353
|
+
|
|
346
354
|
A root execution's record names ``CLIENT_SOURCE_AGENT_TYPE`` as its
|
|
347
355
|
source, which is a marker rather than an agent type — it has to be
|
|
348
356
|
excluded explicitly, or every client-dispatched execution that ever
|
|
@@ -365,6 +373,7 @@ class GatewayWorker(ABC):
|
|
|
365
373
|
source_agent_type=caller_agent_type,
|
|
366
374
|
parent_message_id=str(snapshot.get("parent_message_id", "") or ""),
|
|
367
375
|
task_group_id=str(snapshot.get("task_group_id", "") or ""),
|
|
376
|
+
metadata=dict(snapshot.get("metadata") or {}),
|
|
368
377
|
),
|
|
369
378
|
)
|
|
370
379
|
|
|
@@ -21,7 +21,7 @@ by_framework/core/registry.py,sha256=gE99tz0z8xTA6mEm4ZMT-3-iylYcVEm9Dat0suIVfq0
|
|
|
21
21
|
by_framework/core/wait_gate.py,sha256=uiVObxVY9yaXha_YCiuG4Pj0JbbcOoCLToZoICLL3H8,8656
|
|
22
22
|
by_framework/core/wait_index.py,sha256=YR_7X_OgGdiitVl2gsXDZOPFN0XwZdtu0o8fz46C27w,6001
|
|
23
23
|
by_framework/core/wait_reply.py,sha256=b_KgcrdsEcNQ4OdyVzfe5IauAYgPRTLh2-f2GCKr0Ag,6668
|
|
24
|
-
by_framework/core/wait_sweeper.py,sha256=
|
|
24
|
+
by_framework/core/wait_sweeper.py,sha256=cWj5s0jfndVpM7_Fr1qqJr25HAmx2oDf6llDJJRI59s,50711
|
|
25
25
|
by_framework/core/wakeup_controller.py,sha256=0v3Fr69XzIKO0fesYUPvQvsGLYt0f648Xq7XEM_jk6c,5545
|
|
26
26
|
by_framework/core/workspace.py,sha256=R9mxghDh_INtPOIXHilBamAIue8jZMrlQoQRI02KSxw,3980
|
|
27
27
|
by_framework/core/extensions/__init__.py,sha256=MvPh029FXvkR1Lk4bZxiq9SfzUQ57paUfoD17-whvn4,1032
|
|
@@ -89,16 +89,16 @@ by_framework/worker/_message_processing.py,sha256=rgKzJTgPVDFp_HUfMcqJBwNdTCEfsp
|
|
|
89
89
|
by_framework/worker/app.py,sha256=UHaQZzalqfPmHvfq-XL7vlPOJ8mTm5ULIU4JpeXA85g,16319
|
|
90
90
|
by_framework/worker/byai_context.py,sha256=DvKw-X8ePZr5c5osdapvzTvH4G23u0J80U-fgMLtge4,2388
|
|
91
91
|
by_framework/worker/byai_worker.py,sha256=0NoRqzuTG_MPMxVbZ1ueeOrqI0H8-Adxh7dM3vckjJo,1757
|
|
92
|
-
by_framework/worker/context.py,sha256=
|
|
92
|
+
by_framework/worker/context.py,sha256=5As3GcnVrwIE1nCJDDYLt_Ke8-8nzh44CzQBvyncQsU,59833
|
|
93
93
|
by_framework/worker/health_server.py,sha256=4Jw3ltAD7Ow4dPHhwTUU_4JjKz-iDCNG7RJzD2VzPlM,6090
|
|
94
94
|
by_framework/worker/heartbeat.py,sha256=trHDS8FUALsA6jyzDPa087hpr8_2vY8ZUFn0ld1kI2o,15465
|
|
95
95
|
by_framework/worker/processor.py,sha256=3UjK6bqAWhmLXwQTroO5vxZlV6_j4iGQNzg_nAkDd2w,13173
|
|
96
96
|
by_framework/worker/runner.py,sha256=y7qr6n-DdJyqX6RMzEknuiKsTA6wa2zjhXnLn8VuCk4,50016
|
|
97
|
-
by_framework/worker/worker.py,sha256=
|
|
97
|
+
by_framework/worker/worker.py,sha256=tJfnPkRH_c-C1NGyP3tS_kpl3tfDubu0KWGH-cbQk0s,47525
|
|
98
98
|
by_framework/worker/sandbox/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
99
99
|
by_framework/worker/sandbox/hook_sandbox.py,sha256=XXSdH5YGX814LvV03vkq-zn5DVIBPYYt2NhRv1lT1Bk,2329
|
|
100
|
-
by_framework-0.2.2.
|
|
101
|
-
by_framework-0.2.2.
|
|
102
|
-
by_framework-0.2.2.
|
|
103
|
-
by_framework-0.2.2.
|
|
104
|
-
by_framework-0.2.2.
|
|
100
|
+
by_framework-0.2.2.dev13.dist-info/METADATA,sha256=C1KKoZ2p5Kq4scXP0AoQ2UpLvnWFLcw6_s4Xr8PFCjY,28018
|
|
101
|
+
by_framework-0.2.2.dev13.dist-info/WHEEL,sha256=zOwg4jB6zX2kU910N-cMawjivD6tO8NEWvE12je1bVk,87
|
|
102
|
+
by_framework-0.2.2.dev13.dist-info/entry_points.txt,sha256=5t6kgMjkR0UgJTpOsbuQDo0fOf7zeXjQW9DhkxfAGFc,56
|
|
103
|
+
by_framework-0.2.2.dev13.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
104
|
+
by_framework-0.2.2.dev13.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|