mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-27 12:56:01 -06:00
fb81d03d8e
* fix(qa): scale Telegram compact command timeout * fix(qa): surface Telegram compact reply failures Punchcard-Session: amber-workshop-river-yr * fix(commands): prepare tool inventory model context Punchcard-Session: amber-workshop-river-yr * test(commands): type runtime context mock Punchcard-Session: amber-workshop-river-yr * docs(changelog): note tool inventory repair Punchcard-Session: amber-workshop-river-yr * chore(release): defer tool inventory note Punchcard-Session: amber-workshop-river-yr * fix(ci): lower environment variable budget Punchcard-Session: amber-workshop-river-yr
53 lines
2.0 KiB
YAML
53 lines
2.0 KiB
YAML
title: Telegram compact tools command reply
|
|
|
|
scenario:
|
|
id: telegram-tools-compact-command
|
|
surface: channels
|
|
category: channels.channel-actions-commands-and-approvals
|
|
coverage:
|
|
primary:
|
|
- telegram.built-in-commands
|
|
objective: Verify Telegram renders the compact model-tool inventory.
|
|
successCriteria:
|
|
- The compact tools command reaches native command dispatch.
|
|
- The joined reply includes exec and the verbose-mode hint.
|
|
codeRefs:
|
|
- src/auto-reply/reply/commands-info.ts
|
|
- extensions/qa-lab/src/live-transports/telegram/adapter.runtime.ts
|
|
execution:
|
|
kind: flow
|
|
channel: telegram
|
|
summary: Request compact tools through Telegram and verify inventory text.
|
|
config:
|
|
expectedAny: [exec, Use /tools verbose for descriptions.]
|
|
|
|
flow:
|
|
steps:
|
|
- name: compact tools renders inventory
|
|
actions:
|
|
- resetTransport: true
|
|
- set: startIndex
|
|
value:
|
|
expr: "state.getSnapshot().messages.filter((message) => message.direction === 'outbound').length"
|
|
- sendInbound:
|
|
conversation: { id: telegram-command-room, kind: channel }
|
|
senderId: qa-command-operator
|
|
senderName: QA Command Operator
|
|
text: /tools compact
|
|
nativeCommand: { name: tools }
|
|
- waitForOutbound:
|
|
conversation: { id: telegram-command-room, kind: channel }
|
|
sinceIndex: { ref: startIndex }
|
|
timeoutMs:
|
|
expr: liveTurnTimeoutMs(env, 60000)
|
|
- call: sleep
|
|
args: [1000]
|
|
- set: joinedReply
|
|
value:
|
|
expr: "state.getSnapshot().messages.filter((message) => message.direction === 'outbound').slice(startIndex).map((message) => message.text).join('\\n')"
|
|
- assert:
|
|
expr: "config.expectedAny.every((needle) => joinedReply.includes(needle))"
|
|
message:
|
|
expr: "`tools reply missing expected text: ${joinedReply}`"
|
|
detailsExpr: joinedReply
|