ContractSpec docs

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.

integration-hub

Connect and sync data with external systems through configurable integrations

  • Type: feature
  • Version: 1.0.0
  • Stability: experimental
  • Owners: @integration-team
  • Tags: integration, sync, etl, connectors
  • field.key.label
    integration-hub
    field.version.label
    1.0.0
    field.type.label
    feature
    field.title.label
    integration-hub
    field.description.label

    Connect and sync data with external systems through configurable integrations

  • Type: feature
  • Version: 1.0.0
  • Stability: experimental
  • Owners: @integration-team
  • Tags: integration, sync, etl, connectors
  • field.tags.label
    integration,sync,etl,connectors
    field.owners.label
    @integration-team
    field.stability.label
    experimental

    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',
    	],
    });