Add TypeScript integrations package

This commit is contained in:
2026-05-05 12:01:30 +00:00
commit e91176fb9b
5889 changed files with 53433 additions and 0 deletions
@@ -0,0 +1,11 @@
import { expect, tap } from '@git.zone/tstest/tapbundle';
import { DiscoveryDescriptor } from '../../ts/core/index.js';
tap.test('keeps probes, matchers, and validators inspectable', async () => {
const descriptor = new DiscoveryDescriptor({ integrationDomain: 'test', displayName: 'Test' });
expect(descriptor.getProbes()).toEqual([]);
expect(descriptor.getMatchers()).toEqual([]);
expect(descriptor.getValidators()).toEqual([]);
});
export default tap.start();
+10
View File
@@ -0,0 +1,10 @@
import { expect, tap } from '@git.zone/tstest/tapbundle';
import { createDefaultIntegrationRegistry, DiscoveryEngine } from '../../ts/index.js';
tap.test('runs active discovery across default integrations', async () => {
const engine = new DiscoveryEngine(createDefaultIntegrationRegistry());
const candidates = await engine.runActiveDiscovery();
expect(candidates.some((candidateArg) => candidateArg.integrationDomain === 'hue')).toBeTrue();
});
export default tap.start();
+13
View File
@@ -0,0 +1,13 @@
import { expect, tap } from '@git.zone/tstest/tapbundle';
import { generatedHomeAssistantPortCount, handwrittenHomeAssistantPortDomains } from '../../ts/integrations/generated/index.js';
import { createDefaultIntegrationRegistry } from '../../ts/index.js';
tap.test('registers generated native Home Assistant port skeletons', async () => {
expect(generatedHomeAssistantPortCount).toBeGreaterThan(1000);
expect(handwrittenHomeAssistantPortDomains).toContain('hue');
const registry = createDefaultIntegrationRegistry();
expect(registry.get('3_day_blinds')).toBeTruthy();
expect(registry.get('hue')?.status).toEqual('control-runtime');
});
export default tap.start();