Import AITURK IDE 1.0.0-beta.1 from Hermes 63279301; preserve MIT license
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
import { describe, expect, it } from 'vitest'
|
||||
|
||||
import { deliveryTargetFromCommand, replyTextFromResult } from './agent-delivery'
|
||||
|
||||
// Sender-side inter-agent deliveries render as "Messaged X" / "Message from
|
||||
// X" notices instead of terminal transcript rows. This pins the detection
|
||||
// (the canonical Bot Mode command shape) and the reply extraction.
|
||||
describe('delivery command detection', () => {
|
||||
it('matches the canonical delivery command', () => {
|
||||
const cmd = 'hermes -p turqoise chat --in ~ -c "Bot Chat" -Q -q "Message from 🤖 Hermes (@hermes): hi there"'
|
||||
|
||||
expect(deliveryTargetFromCommand(cmd)).toBe('turqoise')
|
||||
})
|
||||
|
||||
it('matches with a cd prefix and timeout wrapper', () => {
|
||||
const cmd = 'cd ~ && timeout 240 hermes -p mr-tester chat --in "~" -Q -q "Message from 🤖 Hermes: hello"'
|
||||
|
||||
expect(deliveryTargetFromCommand(cmd)).toBe('mr-tester')
|
||||
})
|
||||
|
||||
it('ignores ordinary terminal commands', () => {
|
||||
expect(deliveryTargetFromCommand('ls -la')).toBeNull()
|
||||
expect(deliveryTargetFromCommand('hermes -p turqoise chat -q "plain question"')).toBeNull()
|
||||
expect(deliveryTargetFromCommand('hermes sessions list')).toBeNull()
|
||||
})
|
||||
})
|
||||
|
||||
describe('reply extraction', () => {
|
||||
it('strips session_id bookkeeping and keeps the reply', () => {
|
||||
const output = 'session_id: 20260813_220347_f69ac6\nHi Hermes! Good to hear from you.'
|
||||
|
||||
expect(replyTextFromResult({ output })).toBe('Hi Hermes! Good to hear from you.')
|
||||
})
|
||||
|
||||
it('unwraps JSON-shaped terminal results', () => {
|
||||
const result = JSON.stringify({ exit_code: 0, output: 'session_id: abc\nack' })
|
||||
|
||||
expect(replyTextFromResult(result)).toBe('ack')
|
||||
})
|
||||
|
||||
it('returns empty for empty results', () => {
|
||||
expect(replyTextFromResult(undefined)).toBe('')
|
||||
expect(replyTextFromResult({ output: '' })).toBe('')
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user