Files
openclaw/config
cxbAsDev 8899940d5a fix(cron): support current and session: targets in initial delivery resolution (#99115)
* fix(cron): support current and session: targets in initial delivery resolution

resolveInitialCronDelivery only checked sessionTarget === 'isolated' for
default announce delivery. All other cron paths (delivery-plan.ts:106-114,
normalize.ts:680-684, jobs.ts:288-298) already treat 'isolated', 'current',
and 'session:' as equivalent. This gap meant cron jobs created with
--session-target current or --session-target session:... would not get
default announce delivery at creation time.

Real behavior proof:
  Input:  sessionTarget='current', payload.kind='agentTurn'
  OLD:    undefined  <- missing default announce delivery
  NEW:    {mode:'announce'}  <- consistent with other cron code paths

Co-Authored-By: Claude <noreply@anthropic.com>

* test(cron): add typed initial delivery resolution tests for all session targets

* test(cron): document direct-service delivery contract and cover service callers

* refactor(cron): centralize detached-delivery-target predicate into shared helper

Extract isDetachedDeliveryTarget(sessionTarget, payloadKind) in normalize.ts
and use it from all three callers:

- normalizeCronJobInput (write-time default, normalize.ts)
- resolveCronDeliveryPlan (read-time default, delivery-plan.ts)
- resolveInitialCronDelivery (service-bypass default, initial-delivery.ts)

This removes the third manually synchronized copy that the original PR
added, addressing ClawSweeper P1 finding.

* fix(cron): align initial delivery targets

Co-authored-by: 陈宪彪0668000387 <chen.xianbiao@xydigit.com>

* test(cron): consolidate initial delivery coverage

Co-authored-by: 陈宪彪0668000387 <chen.xianbiao@xydigit.com>

* test(cron): keep delivery matrix type-safe

Co-authored-by: 陈宪彪0668000387 <chen.xianbiao@xydigit.com>

* chore: keep release note in PR metadata

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-19 00:51:05 +01:00
..