Files
reporting-governance-plugin/plugins/reporting-governance/test/package-structure.test.mjs
2026-05-08 15:47:18 +08:00

48 lines
1.7 KiB
JavaScript

import test from 'node:test';
import assert from 'node:assert/strict';
import fs from 'node:fs';
import path from 'node:path';
import { fileURLToPath } from 'node:url';
const __dirname = path.dirname(fileURLToPath(import.meta.url));
const packageRoot = path.resolve(__dirname, '..');
const requiredPaths = [
'README.md',
'package.json',
'src/index.mjs',
'src/core',
'src/adapters',
'src/adapters/watchdog.mjs',
'src/adapters/dispatcher.mjs',
'src/adapters/bridge-supervisor.mjs',
'src/adapters/sender-binding.mjs',
'src/adapters/orchestrator.mjs',
'src/storage',
'src/storage/profile-artifact.mjs',
'src/storage/decision-artifact.mjs',
'src/storage/decision-store.mjs',
'src/reference/openclaw-watchdog-chain.md',
'capabilities/openclaw-watchdog-reference.json',
'examples/openclaw-watchdog-reference.descriptor.example.json',
'profiles/strict-manager-mode.profile.json',
'profiles-src/strict-manager-mode.yaml',
'schemas/reporting-governance/deployment-profile.schema.json',
'schemas/reporting-governance/capability-descriptor.schema.json',
'schemas/reporting-governance/decision.schema.json',
'schemas/reporting-governance/decision-record-artifact.schema.json',
'scripts/package-smoke.mjs',
'scripts/watchdog_auto_notify_orchestrator.mjs',
'scripts/long_task_watchdog.mjs',
'scripts/operator_notify_dispatcher.mjs',
'scripts/operator_notify_bridge_supervisor.mjs',
'scripts/operator_notify_sender_binding.mjs'
];
test('reporting-governance package skeleton paths exist', () => {
for (const relativePath of requiredPaths) {
const fullPath = path.join(packageRoot, relativePath);
assert.equal(fs.existsSync(fullPath), true, `expected path to exist: ${relativePath}`);
}
});