feat(500): Settings shows the shipped reply shapes, what adjusts each, and how often each arrives
CI & Build / Python lint (push) Successful in 3s
CI & Build / Plugin hooks (push) Successful in 16s
CI & Build / TypeScript typecheck (push) Successful in 57s
CI & Build / integration (push) Successful in 1m19s
CI & Build / Python tests (push) Successful in 1m58s
CI & Build / Build & push image (push) Successful in 39s
CI & Build / Python lint (push) Successful in 3s
CI & Build / Plugin hooks (push) Successful in 16s
CI & Build / TypeScript typecheck (push) Successful in 57s
CI & Build / integration (push) Successful in 1m19s
CI & Build / Python tests (push) Successful in 1m58s
CI & Build / Build & push image (push) Successful in 39s
Settings > General > Reply shapes. One menu row per shape (core, completion, asks, plan): its title and when it arrives, how many of the operator's preferences adjust it, and its deliveries over 30 days (in full / as a reminder, "—" when the counts cannot be read). A verdict line leads. Opening a row shows the shipped text, read-only because it is product, and the preferences mounted on its moment; each opens in the rule editor, and "Adjust this" opens a new preference already mounted on the shape's moment with a starting trigger. The rule editor takes an optional preset (kind, moments, trigger) and, opened outside the Rules view, asks where a new record lives instead of dropping it. GET /api/retrieval/reply-shapes now returns reply_shapes.overview: the catalog plus mounted preferences (the same lookup that delivers them) and counts from the reply_shape delivery rows. #5497 (step 5 of milestone 500). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -149,10 +149,16 @@ async def moments_route():
|
||||
async def reply_shapes_route():
|
||||
"""The default reply shapes and the moment each rides (milestone 500).
|
||||
|
||||
The same payload `list_reply_shapes` returns, from the same service, so
|
||||
the Settings view and the session cannot show different defaults.
|
||||
`list_reply_shapes`' payload from the same service, so the Settings view
|
||||
and the session cannot show different defaults — plus what only the
|
||||
operator's view needs (step 5): per shape, the preferences mounted on its
|
||||
moment and its deliveries over `days` (default 30, 1–90).
|
||||
"""
|
||||
return jsonify(shapes_svc.catalog())
|
||||
try:
|
||||
days = min(90, max(1, int(request.args.get("days") or shapes_svc.OVERVIEW_DAYS)))
|
||||
except ValueError:
|
||||
days = shapes_svc.OVERVIEW_DAYS
|
||||
return jsonify(await shapes_svc.overview(get_current_user_id(), days=days))
|
||||
|
||||
|
||||
async def _mapping_change(change):
|
||||
|
||||
Reference in New Issue
Block a user