feat: add fail-closed Aider development skill
This commit is contained in:
@@ -5,11 +5,43 @@ import os from 'node:os';
|
||||
import path from 'node:path';
|
||||
import test from 'node:test';
|
||||
import {
|
||||
assertRequiredCodeExecutorAvailable,
|
||||
assertRequiredImageGenerationCompleted,
|
||||
createAgentRunGateway,
|
||||
normalizeAgentRunWorkerIdentity,
|
||||
resolveRequiredCodeExecutor,
|
||||
} from './agent-run-gateway.mjs';
|
||||
|
||||
test('required code executor is read from run metadata', () => {
|
||||
assert.equal(resolveRequiredCodeExecutor({
|
||||
metadata: { memindRun: { executor: 'AIDER' } },
|
||||
}), 'aider');
|
||||
assert.equal(resolveRequiredCodeExecutor({
|
||||
metadata: { memindRun: { executor: 'unknown' } },
|
||||
}), null);
|
||||
});
|
||||
|
||||
test('required Aider executor fails closed when Tool Gateway is unavailable', () => {
|
||||
assert.doesNotThrow(() => assertRequiredCodeExecutorAvailable('aider', {
|
||||
enabled: true,
|
||||
executors: ['aider', 'openhands'],
|
||||
}));
|
||||
assert.throws(
|
||||
() => assertRequiredCodeExecutorAvailable('aider', {
|
||||
enabled: false,
|
||||
executors: ['aider', 'openhands'],
|
||||
}),
|
||||
(error) => error?.code === 'REQUIRED_EXECUTOR_UNAVAILABLE' && error?.retryable === false,
|
||||
);
|
||||
assert.throws(
|
||||
() => assertRequiredCodeExecutorAvailable('aider', {
|
||||
enabled: true,
|
||||
executors: ['openhands'],
|
||||
}),
|
||||
(error) => error?.code === 'REQUIRED_EXECUTOR_UNAVAILABLE',
|
||||
);
|
||||
});
|
||||
|
||||
test('required image generation cannot succeed without a verified raster image_make result', () => {
|
||||
const row = {
|
||||
user_message_json: JSON.stringify({
|
||||
|
||||
Reference in New Issue
Block a user