33 lines
1.1 KiB
TypeScript
33 lines
1.1 KiB
TypeScript
import assert from 'node:assert/strict';
|
|
import test from 'node:test';
|
|
import type { Database } from '@pig/db';
|
|
import { createPigTools, PIG_TOOL_NAMES, recordFactInput } from '../src/tools';
|
|
|
|
test('the Piggy registry has no ambient coding tools', () => {
|
|
const tools = createPigTools({} as Database, {
|
|
task: {} as Parameters<typeof createPigTools>[1]['task'],
|
|
agentRunId: '10000000-0000-4000-8000-000000000001',
|
|
});
|
|
assert.deepEqual(tools.map((tool) => tool.name), [...PIG_TOOL_NAMES]);
|
|
assert.equal(tools.some((tool) => /bash|shell|file/i.test(tool.name)), false);
|
|
});
|
|
|
|
test('agent claims require both a source URL and an evidence excerpt', () => {
|
|
const claim = {
|
|
targetType: 'account',
|
|
targetId: '10000000-0000-4000-8000-000000000001',
|
|
field: 'description',
|
|
value: 'GPU cloud',
|
|
score: 0.8,
|
|
};
|
|
assert.equal(recordFactInput.safeParse(claim).success, false);
|
|
assert.equal(
|
|
recordFactInput.safeParse({
|
|
...claim,
|
|
sourceUrl: 'https://example.com/source',
|
|
evidenceExcerpt: 'Example operates a GPU cloud.',
|
|
}).success,
|
|
true,
|
|
);
|
|
});
|