@orgloop/sdk
v0.5.0
Published
OrgLoop plugin development kit — interfaces, base classes, and test harnesses
Readme
@orgloop/sdk
OrgLoop plugin development kit — interfaces, base classes, and test harnesses for building connectors, transforms, and loggers.
Install
npm install @orgloop/sdkUsage
Define a source connector
import type { SourceConnector, PollResult, ConnectorRegistration } from '@orgloop/sdk';
const mySource: SourceConnector = {
async init(config) { /* set up API clients */ },
async poll(checkpoint): PollResult { /* fetch events since checkpoint */ },
async shutdown() { /* cleanup */ },
};
export function register(): ConnectorRegistration {
return { id: 'my-source', source: mySource };
}Write tests with the test harness
import { MockSource, MockActor, createTestEvent, createTestContext } from '@orgloop/sdk';
const source = new MockSource([createTestEvent({ type: 'resource.changed' })]);
const actor = new MockActor();
const ctx = createTestContext();API
Types
Core event types, config interfaces, and plugin contracts:
OrgLoopEvent,OrgLoopEventType-- event envelope and type unionSourceConnector,ActorConnector-- connector interfacesConnectorRegistration,ConnectorSetup-- plugin registrationTransform,TransformContext,TransformRegistration-- transform pluginLogger,LoggerRegistration-- logger pluginProjectConfig,OrgLoopConfig-- configuration typesModuleManifest,ModuleParameter-- module system types
Helpers
generateEventId()/generateTraceId()-- ID generationbuildEvent(options)-- construct well-formed eventsvalidateEvent(event)-- runtime validationparseDuration(str)-- parse duration strings like"30s","5m"expandTemplate(template, context)-- module template expansion
Test harness
MockSource-- configurable source with canned eventsMockActor-- records delivered eventsMockTransform-- pass-through or custom transformMockLogger-- captures log entriescreateTestEvent(overrides?)-- factory for test eventscreateTestContext()-- factory for test contexts
Documentation
Full documentation at orgloop.ai
License
MIT
