feat: 白龙马数字意识框架 v2.2.0 - 3D意识空间、多技能协同、自我进化系统
This commit is contained in:
53
scripts/smoke-tools.mjs
Normal file
53
scripts/smoke-tools.mjs
Normal file
@@ -0,0 +1,53 @@
|
||||
import { executeTool } from '../src/capabilities/executor.js'
|
||||
|
||||
const checks = []
|
||||
|
||||
function assert(condition, label, detail = '') {
|
||||
checks.push({ ok: !!condition, label, detail })
|
||||
if (!condition) {
|
||||
console.error(`[FAIL] ${label}${detail ? `\n ${detail}` : ''}`)
|
||||
} else {
|
||||
console.log(`[PASS] ${label}`)
|
||||
}
|
||||
}
|
||||
|
||||
function parseJsonResult(value) {
|
||||
try {
|
||||
return JSON.parse(String(value || ''))
|
||||
} catch {
|
||||
return null
|
||||
}
|
||||
}
|
||||
|
||||
const testPath = `smoke/verifiable-${Date.now()}.txt`
|
||||
const testContent = 'hello verifiable completion'
|
||||
|
||||
const writeResultText = await executeTool('write_file', {
|
||||
path: testPath,
|
||||
content: testContent,
|
||||
}, { source: 'smoke-test' })
|
||||
const writeResult = parseJsonResult(writeResultText)
|
||||
assert(writeResult?.ok === true && writeResult?.verified === true, 'write_file returns verified evidence', writeResultText)
|
||||
assert(writeResult?.bytes === Buffer.byteLength(testContent, 'utf-8'), 'write_file reports byte count', writeResultText)
|
||||
|
||||
const readResult = await executeTool('read_file', { path: testPath }, { source: 'smoke-test' })
|
||||
assert(readResult === testContent, 'read_file reads back exact content', readResult)
|
||||
|
||||
const outsideRead = await executeTool('read_file', { path: '../package.json' }, { source: 'smoke-test' })
|
||||
assert(/^执行失败:访问被拒绝/.test(String(outsideRead)), 'read_file rejects sandbox escape', outsideRead)
|
||||
|
||||
const deniedCommandText = await executeTool('exec_command', {
|
||||
command: 'type ..\\package.json',
|
||||
}, { source: 'smoke-test' })
|
||||
const deniedCommand = parseJsonResult(deniedCommandText)
|
||||
assert(deniedCommand?.ok === false && deniedCommand?.error === 'permission denied', 'exec_command rejects parent directory access', deniedCommandText)
|
||||
|
||||
const deleteResultText = await executeTool('delete_file', { path: testPath }, { source: 'smoke-test' })
|
||||
const deleteResult = parseJsonResult(deleteResultText)
|
||||
assert(deleteResult?.ok === true && deleteResult?.verified_absent === true, 'delete_file returns absence verification', deleteResultText)
|
||||
|
||||
const failed = checks.filter(item => !item.ok)
|
||||
console.log(`\nSmoke checks: ${checks.length - failed.length}/${checks.length} passed`)
|
||||
if (failed.length) {
|
||||
process.exitCode = 1
|
||||
}
|
||||
Reference in New Issue
Block a user