OSS-first docs
These docs teach the open system first: contracts, generated surfaces, runtimes, governance, and incremental adoption. Studio shows up as the operating layer on top, not as the source of truth.
Connect and sync data with external systems through configurable integrations
Operations (6)
•
`integration.create` (v1.0.0)
•
`integration.connection.create` (v1.0.0)
•
`integration.syncConfig.create` (v1.0.0)
•
`integration.fieldMapping.add` (v1.0.0)
•
`integration.sync.trigger` (v1.0.0)
•
`integration.syncRun.list` (v1.0.0)
Events (9)
•
`integration.created` (v1.0.0)
•
`integration.connection.created` (v1.0.0)
•
`integration.connection.statusChanged` (v1.0.0)
•
`integration.syncConfig.created` (v1.0.0)
•
`integration.sync.started` (v1.0.0)
•
`integration.sync.completed` (v1.0.0)
•
`integration.sync.failed` (v1.0.0)
•
`integration.record.synced` (v1.0.0)
•
`integration.fieldMapping.added` (v1.0.0)
Presentations (11)
•
`integration.list` (v1.0.0)
•
`integration.detail` (v1.0.0)
•
`integration.connection.list` (v1.0.0)
•
`integration.connection.setup` (v1.0.0)
•
`integration.syncConfig.list` (v1.0.0)
•
`integration.syncConfig.editor` (v1.0.0)
•
`integration.fieldMapping.editor` (v1.0.0)
•
`integration.syncRun.viewList` (v1.0.0)
•
`integration.syncRun.detail` (v1.0.0)
•
`integration.health` (v1.0.0)
•
`integration.sync.activity` (v1.0.0)
Source Definition
/**
* Integration Hub Feature Module Specification
*/
import { defineFeature } from '@lssm-tech/lib.contracts-spec';
import { IntegrationVisualizationRefs } from './visualizations';
export const IntegrationHubFeature = defineFeature({
meta: {
key: 'integration-hub',
version: '1.0.0',
title: 'Integration Hub',
description:
'Connect and sync data with external systems through configurable integrations',
domain: 'integration',
owners: ['@integration-team'],
tags: ['integration', 'sync', 'etl', 'connectors'],
stability: 'experimental',
},
operations: [
{ key: 'integration.create', version: '1.0.0' },
{ key: 'integration.connection.create', version: '1.0.0' },
{ key: 'integration.syncConfig.create', version: '1.0.0' },
{ key: 'integration.fieldMapping.add', version: '1.0.0' },
{ key: 'integration.sync.trigger', version: '1.0.0' },
{ key: 'integration.syncRun.list', version: '1.0.0' },
],
events: [
{ key: 'integration.created', version: '1.0.0' },
{ key: 'integration.connection.created', version: '1.0.0' },
{ key: 'integration.connection.statusChanged', version: '1.0.0' },
{ key: 'integration.syncConfig.created', version: '1.0.0' },
{ key: 'integration.sync.started', version: '1.0.0' },
{ key: 'integration.sync.completed', version: '1.0.0' },
{ key: 'integration.sync.failed', version: '1.0.0' },
{ key: 'integration.record.synced', version: '1.0.0' },
{ key: 'integration.fieldMapping.added', version: '1.0.0' },
],
presentations: [
{ key: 'integration.list', version: '1.0.0' },
{ key: 'integration.detail', version: '1.0.0' },
{ key: 'integration.connection.list', version: '1.0.0' },
{ key: 'integration.connection.setup', version: '1.0.0' },
{ key: 'integration.syncConfig.list', version: '1.0.0' },
{ key: 'integration.syncConfig.editor', version: '1.0.0' },
{ key: 'integration.fieldMapping.editor', version: '1.0.0' },
{ key: 'integration.syncRun.viewList', version: '1.0.0' },
{ key: 'integration.syncRun.detail', version: '1.0.0' },
{ key: 'integration.health', version: '1.0.0' },
{ key: 'integration.sync.activity', version: '1.0.0' },
],
opToPresentation: [
{
op: { key: 'integration.syncConfig.create', version: '1.0.0' },
pres: { key: 'integration.syncConfig.editor', version: '1.0.0' },
},
{
op: { key: 'integration.fieldMapping.add', version: '1.0.0' },
pres: { key: 'integration.fieldMapping.editor', version: '1.0.0' },
},
{
op: { key: 'integration.syncRun.list', version: '1.0.0' },
pres: { key: 'integration.syncRun.viewList', version: '1.0.0' },
},
],
presentationsTargets: [
{
key: 'integration.list',
version: '1.0.0',
targets: ['react', 'markdown'],
},
{
key: 'integration.detail',
version: '1.0.0',
targets: ['react', 'markdown'],
},
{
key: 'integration.syncConfig.list',
version: '1.0.0',
targets: ['react', 'markdown'],
},
{
key: 'integration.syncConfig.editor',
version: '1.0.0',
targets: ['react'],
},
{
key: 'integration.fieldMapping.editor',
version: '1.0.0',
targets: ['react'],
},
{
key: 'integration.syncRun.viewList',
version: '1.0.0',
targets: ['react', 'markdown'],
},
{
key: 'integration.syncRun.detail',
version: '1.0.0',
targets: ['react', 'markdown'],
},
],
visualizations: IntegrationVisualizationRefs,
capabilities: {
requires: [
{ key: 'identity', version: '1.0.0' },
{ key: 'audit-trail', version: '1.0.0' },
{ key: 'feature-flags', version: '1.0.0' },
{ key: 'jobs', version: '1.0.0' },
{ key: 'files', version: '1.0.0' },
],
provides: [
{ key: 'integration', version: '1.0.0' },
{ key: 'sync', version: '1.0.0' },
{ key: 'etl', version: '1.0.0' },
],
},
integrations: [
{ key: 'integration-hub.integration.default-connector', version: '1.0.0' },
],
telemetry: [{ key: 'integration-hub.telemetry', version: '1.0.0' }],
jobs: [
{ key: 'integration-hub.job.sync-run', version: '1.0.0' },
{ key: 'integration-hub.job.health-check', version: '1.0.0' },
],
docs: [
'docs.examples.integration-hub',
'docs.examples.integration-hub.goal',
'docs.examples.integration-hub.usage',
'docs.examples.integration-hub.constraints',
],
});