mirror of
https://github.com/deepseek-ai/deepseek-harness
synced 2026-08-15 21:04:50 +00:00
Address review: the gate module docstring now states the actual evaluation contexts (config after injections against the plugin context, disabled at every mount decision against the loader context); metadataExpressionErrors rejects expressions nested below disabled and syntax-checks the disabled expression itself so an unparseable gate fails at the gate instead of the boot. The tutorial's !!js claims follow, and the loader note moves to implemented/architecture with its inbound links retargeted.
40 lines
1.6 KiB
TypeScript
40 lines
1.6 KiB
TypeScript
/**
|
|
* The verify-cordis-config metadata contract: `disabled` is the one entry
|
|
* metadata field whose `!!js` expression the Loader interpolates; every other
|
|
* metadata field must stay static, and a disabled expression must parse.
|
|
*/
|
|
|
|
import { describe, expect, it } from 'vitest'
|
|
import { metadataExpressionErrors } from './verify-cordis-config.ts'
|
|
|
|
describe('verify-cordis-config metadata expressions', () => {
|
|
it('accepts a disabled !!js expression', () => {
|
|
const problems = metadataExpressionErrors(
|
|
{ id: 'tool-bash', name: '@deepseek-ai/dsh-tool-bash', disabled: { __jsExpr: "process.platform === 'win32'" } },
|
|
'[0]',
|
|
)
|
|
expect(problems).toEqual([])
|
|
})
|
|
|
|
it('rejects an expression in a static metadata field', () => {
|
|
const problems = metadataExpressionErrors({ id: { __jsExpr: 'process.platform' }, name: 'pkg' }, '[0]')
|
|
expect(problems).toContain('[0].id: !!js is not interpolated here')
|
|
})
|
|
|
|
it('rejects an expression nested below disabled (only the field itself interpolates)', () => {
|
|
const problems = metadataExpressionErrors(
|
|
{ id: 'tool-bash', name: 'pkg', disabled: { when: { __jsExpr: 'process.platform' } } },
|
|
'[0]',
|
|
)
|
|
expect(problems).toContain('[0].disabled.when: !!js is not interpolated here')
|
|
})
|
|
|
|
it('rejects a disabled expression that does not parse (the loader would fail the boot)', () => {
|
|
const problems = metadataExpressionErrors(
|
|
{ id: 'tool-bash', name: 'pkg', disabled: { __jsExpr: 'process.platform ===' } },
|
|
'[0]',
|
|
)
|
|
expect(problems.some(problem => problem.includes('[0].disabled: disabled expression does not parse'))).toBe(true)
|
|
})
|
|
})
|