learning_ai_common_plat/services/cowork-service/src/lib/feature-flags.ts
saravanakumardb1 53c3565874 fix(cowork-service): audit flush field name mismatch + server test mock gap
BUG: flush-scheduler.ts flushAudit() read 'events' from IPC response but
Rust handle_flush_audit() returns { count, entries }. Audit events were
silently lost (always empty array). Fixed to read 'entries'.

Also fixed:
- server.test.ts: added missing flush-scheduler.js mock (new import in server.ts)
- feature-flags.ts: doc comment '12 flags' → '13 flags'
- flush-scheduler.test.ts: mock data aligned to Rust response shape

49 tests passing, 8 test files, typecheck clean.
2026-04-02 23:02:38 -07:00

32 lines
999 B
TypeScript

/**
* Feature flag registry for cowork-service.
*
* Defaults match the 13 platform flags seeded in H.1
* (platform-service/src/modules/flags/seed.ts clawcowork entry).
*/
import { createFlagRegistry } from '@bytelyst/backend-flags';
import { config } from './config.js';
const registry = createFlagRegistry({
defaults: {
// ── Product-specific flags (seed.ts clawcowork entry) ──
sandbox_enabled: true,
plugins_enabled: true,
mcp_connectors_enabled: true,
scheduling_enabled: true,
computer_use_enabled: false,
parallel_agents_enabled: true,
marketplace_enabled: true,
wasm_plugins_enabled: false,
llm_multi_model_enabled: false,
audit_logging_enabled: true,
platform_auth_required: false,
dispatch_api_enabled: true,
// ── Common flag (from COMMON_FLAGS in seed.ts) ──
telemetry_enabled: false,
},
enabled: config.FEATURE_FLAGS_ENABLED,
});
export const { isFeatureEnabled, getAllFlags, setFlag } = registry;