@lssm/example.integration-hub 0.0.0-canary-20251217080011 → 1.41.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/connection/connection.contracts.js +1 -41
- package/dist/connection/connection.enum.js +1 -17
- package/dist/connection/connection.presentation.js +1 -50
- package/dist/connection/connection.schema.js +1 -77
- package/dist/connection/index.js +1 -5
- package/dist/docs/index.js +1 -1
- package/dist/docs/integration-hub.docblock.js +5 -61
- package/dist/events.js +1 -246
- package/dist/example.js +1 -50
- package/dist/index.js +1 -15
- package/dist/integration/index.js +1 -5
- package/dist/integration/integration.contracts.js +1 -37
- package/dist/integration/integration.enum.js +1 -17
- package/dist/integration/integration.presentation.js +1 -63
- package/dist/integration/integration.schema.js +1 -77
- package/dist/integration-hub.feature.js +1 -237
- package/dist/sync/index.js +1 -5
- package/dist/sync/sync.contracts.js +1 -130
- package/dist/sync/sync.enum.js +1 -35
- package/dist/sync/sync.presentation.js +1 -142
- package/dist/sync/sync.schema.js +1 -305
- package/dist/sync-engine/index.js +1 -146
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +34 -35
- package/dist/connection/connection.contracts.d.ts +0 -106
- package/dist/connection/connection.enum.d.ts +0 -9
- package/dist/connection/connection.presentation.d.ts +0 -7
- package/dist/connection/connection.schema.d.ts +0 -67
- package/dist/connection/index.d.ts +0 -4
- package/dist/docs/index.d.ts +0 -1
- package/dist/docs/integration-hub.docblock.d.ts +0 -1
- package/dist/events.d.ts +0 -152
- package/dist/example.d.ts +0 -39
- package/dist/index.d.ts +0 -11
- package/dist/integration/index.d.ts +0 -4
- package/dist/integration/integration.contracts.d.ts +0 -98
- package/dist/integration/integration.enum.d.ts +0 -9
- package/dist/integration/integration.presentation.d.ts +0 -8
- package/dist/integration/integration.schema.d.ts +0 -67
- package/dist/integration-hub.feature.d.ts +0 -7
- package/dist/libs/contracts/dist/capabilities/openbanking.js +0 -88
- package/dist/libs/contracts/dist/client/index.js +0 -5
- package/dist/libs/contracts/dist/client/react/feature-render.js +0 -2
- package/dist/libs/contracts/dist/client/react/form-render.js +0 -4
- package/dist/libs/contracts/dist/client/react/index.js +0 -4
- package/dist/libs/contracts/dist/contract-registry/index.js +0 -1
- package/dist/libs/contracts/dist/contract-registry/schemas.js +0 -60
- package/dist/libs/contracts/dist/docs/PUBLISHING.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/accessibility_wcag_compliance_specs.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/index.js +0 -29
- package/dist/libs/contracts/dist/docs/presentations.js +0 -71
- package/dist/libs/contracts/dist/docs/registry.js +0 -44
- package/dist/libs/contracts/dist/docs/tech/PHASE_1_QUICKSTART.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/tech/PHASE_2_AI_NATIVE_OPERATIONS.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/tech/PHASE_3_AUTO_EVOLUTION.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/tech/PHASE_4_PERSONALIZATION_ENGINE.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/tech/PHASE_5_ZERO_TOUCH_OPERATIONS.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/tech/auth/better-auth-nextjs.docblock.js +0 -80
- package/dist/libs/contracts/dist/docs/tech/contracts/openapi-export.docblock.js +0 -57
- package/dist/libs/contracts/dist/docs/tech/lifecycle-stage-system.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/tech/llm/llm-integration.docblock.js +0 -357
- package/dist/libs/contracts/dist/docs/tech/mcp-endpoints.docblock.js +0 -37
- package/dist/libs/contracts/dist/docs/tech/presentation-runtime.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/tech/schema/README.docblock.js +0 -20
- package/dist/libs/contracts/dist/docs/tech/studio/learning-events.docblock.js +0 -48
- package/dist/libs/contracts/dist/docs/tech/studio/learning-journeys.docblock.js +0 -79
- package/dist/libs/contracts/dist/docs/tech/studio/platform-admin-panel.docblock.js +0 -84
- package/dist/libs/contracts/dist/docs/tech/studio/project-access-teams.docblock.js +0 -45
- package/dist/libs/contracts/dist/docs/tech/studio/project-routing.docblock.js +0 -67
- package/dist/libs/contracts/dist/docs/tech/studio/sandbox-unlogged.docblock.js +0 -40
- package/dist/libs/contracts/dist/docs/tech/studio/team-invitations.docblock.js +0 -69
- package/dist/libs/contracts/dist/docs/tech/studio/workspace-ops.docblock.js +0 -47
- package/dist/libs/contracts/dist/docs/tech/studio/workspaces.docblock.js +0 -62
- package/dist/libs/contracts/dist/docs/tech/telemetry-ingest.docblock.js +0 -155
- package/dist/libs/contracts/dist/docs/tech/templates/runtime.docblock.js +0 -20
- package/dist/libs/contracts/dist/docs/tech/vscode-extension.docblock.js +0 -101
- package/dist/libs/contracts/dist/docs/tech/workflows/overview.docblock.js +0 -20
- package/dist/libs/contracts/dist/events.js +0 -10
- package/dist/libs/contracts/dist/experiments/evaluator.js +0 -1
- package/dist/libs/contracts/dist/index.js +0 -71
- package/dist/libs/contracts/dist/install.js +0 -2
- package/dist/libs/contracts/dist/integrations/contracts.js +0 -377
- package/dist/libs/contracts/dist/integrations/index.js +0 -18
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/accounts.js +0 -228
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/balances.js +0 -159
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/index.js +0 -3
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/transactions.js +0 -210
- package/dist/libs/contracts/dist/integrations/openbanking/models.js +0 -242
- package/dist/libs/contracts/dist/integrations/openbanking/telemetry.js +0 -13
- package/dist/libs/contracts/dist/integrations/providers/elevenlabs.js +0 -52
- package/dist/libs/contracts/dist/integrations/providers/gcs-storage.js +0 -75
- package/dist/libs/contracts/dist/integrations/providers/gmail.js +0 -87
- package/dist/libs/contracts/dist/integrations/providers/google-calendar.js +0 -66
- package/dist/libs/contracts/dist/integrations/providers/index.js +0 -11
- package/dist/libs/contracts/dist/integrations/providers/mistral.js +0 -68
- package/dist/libs/contracts/dist/integrations/providers/postmark.js +0 -68
- package/dist/libs/contracts/dist/integrations/providers/powens.js +0 -116
- package/dist/libs/contracts/dist/integrations/providers/qdrant.js +0 -73
- package/dist/libs/contracts/dist/integrations/providers/registry.js +0 -10
- package/dist/libs/contracts/dist/integrations/providers/stripe.js +0 -83
- package/dist/libs/contracts/dist/integrations/providers/twilio-sms.js +0 -61
- package/dist/libs/contracts/dist/jsonschema.js +0 -1
- package/dist/libs/contracts/dist/knowledge/contracts.js +0 -306
- package/dist/libs/contracts/dist/knowledge/index.js +0 -7
- package/dist/libs/contracts/dist/knowledge/spaces/email-threads.js +0 -34
- package/dist/libs/contracts/dist/knowledge/spaces/financial-docs.js +0 -34
- package/dist/libs/contracts/dist/knowledge/spaces/financial-overview.js +0 -38
- package/dist/libs/contracts/dist/knowledge/spaces/index.js +0 -6
- package/dist/libs/contracts/dist/knowledge/spaces/product-canon.js +0 -34
- package/dist/libs/contracts/dist/knowledge/spaces/support-faq.js +0 -37
- package/dist/libs/contracts/dist/knowledge/spaces/uploaded-docs.js +0 -34
- package/dist/libs/contracts/dist/llm/exporters.js +0 -19
- package/dist/libs/contracts/dist/llm/index.js +0 -2
- package/dist/libs/contracts/dist/llm/prompts.js +0 -1
- package/dist/libs/contracts/dist/onboarding-base.js +0 -196
- package/dist/libs/contracts/dist/openapi.js +0 -1
- package/dist/libs/contracts/dist/ownership.js +0 -21
- package/dist/libs/contracts/dist/presentations.js +0 -1
- package/dist/libs/contracts/dist/presentations.v2.js +0 -11
- package/dist/libs/contracts/dist/prompt.js +0 -1
- package/dist/libs/contracts/dist/promptRegistry.js +0 -1
- package/dist/libs/contracts/dist/regenerator/index.js +0 -1
- package/dist/libs/contracts/dist/regenerator/service.js +0 -6
- package/dist/libs/contracts/dist/registry.js +0 -2
- package/dist/libs/contracts/dist/resources.js +0 -1
- package/dist/libs/contracts/dist/schema/dist/EnumType.js +0 -2
- package/dist/libs/contracts/dist/schema/dist/FieldType.js +0 -49
- package/dist/libs/contracts/dist/schema/dist/ScalarTypeEnum.js +0 -236
- package/dist/libs/contracts/dist/schema/dist/SchemaModel.js +0 -34
- package/dist/libs/contracts/dist/schema/dist/entity/defineEntity.js +0 -1
- package/dist/libs/contracts/dist/schema/dist/entity/index.js +0 -2
- package/dist/libs/contracts/dist/schema/dist/entity/types.js +0 -1
- package/dist/libs/contracts/dist/schema/dist/index.js +0 -6
- package/dist/libs/contracts/dist/server/graphql-pothos.js +0 -6
- package/dist/libs/contracts/dist/server/index.js +0 -8
- package/dist/libs/contracts/dist/server/mcp/createMcpServer.js +0 -4
- package/dist/libs/contracts/dist/server/mcp/registerPresentations.js +0 -2
- package/dist/libs/contracts/dist/server/mcp/registerPrompts.js +0 -1
- package/dist/libs/contracts/dist/server/mcp/registerResources.js +0 -2
- package/dist/libs/contracts/dist/server/mcp/registerTools.js +0 -1
- package/dist/libs/contracts/dist/server/provider-mcp.js +0 -1
- package/dist/libs/contracts/dist/server/rest-elysia.js +0 -1
- package/dist/libs/contracts/dist/server/rest-express.js +0 -1
- package/dist/libs/contracts/dist/server/rest-generic.js +0 -1
- package/dist/libs/contracts/dist/server/rest-next-app.js +0 -1
- package/dist/libs/contracts/dist/server/rest-next-pages.js +0 -1
- package/dist/libs/contracts/dist/spec.js +0 -34
- package/dist/libs/contracts/dist/telemetry/index.js +0 -1
- package/dist/libs/contracts/dist/telemetry/tracker.js +0 -1
- package/dist/libs/contracts/dist/tests/index.js +0 -1
- package/dist/libs/contracts/dist/tests/runner.js +0 -2
- package/dist/libs/contracts/dist/workflow/index.js +0 -1
- package/dist/libs/contracts/dist/workflow/runner.js +0 -1
- package/dist/libs/schema/dist/EnumType.js +0 -56
- package/dist/libs/schema/dist/FieldType.js +0 -49
- package/dist/libs/schema/dist/ScalarTypeEnum.js +0 -236
- package/dist/libs/schema/dist/SchemaModel.js +0 -39
- package/dist/libs/schema/dist/entity/defineEntity.js +0 -1
- package/dist/libs/schema/dist/entity/index.js +0 -2
- package/dist/libs/schema/dist/entity/types.js +0 -1
- package/dist/libs/schema/dist/index.js +0 -6
- package/dist/sync/index.d.ts +0 -4
- package/dist/sync/sync.contracts.d.ts +0 -508
- package/dist/sync/sync.enum.d.ts +0 -17
- package/dist/sync/sync.presentation.d.ts +0 -11
- package/dist/sync/sync.schema.d.ts +0 -355
- package/dist/sync-engine/index.d.ts +0 -108
|
@@ -1,41 +1 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ConnectionModel, CreateConnectionInputModel } from "./connection.schema.js";
|
|
3
|
-
|
|
4
|
-
//#region src/connection/connection.contracts.ts
|
|
5
|
-
const OWNERS = ["@example.integration-hub"];
|
|
6
|
-
/**
|
|
7
|
-
* Create a connection to an external system.
|
|
8
|
-
*/
|
|
9
|
-
const CreateConnectionContract = defineCommand({
|
|
10
|
-
meta: {
|
|
11
|
-
name: "integration.connection.create",
|
|
12
|
-
version: 1,
|
|
13
|
-
stability: "stable",
|
|
14
|
-
owners: [...OWNERS],
|
|
15
|
-
tags: [
|
|
16
|
-
"integration",
|
|
17
|
-
"connection",
|
|
18
|
-
"create"
|
|
19
|
-
],
|
|
20
|
-
description: "Create a connection to an external system.",
|
|
21
|
-
goal: "Authenticate with external systems.",
|
|
22
|
-
context: "Connection setup."
|
|
23
|
-
},
|
|
24
|
-
io: {
|
|
25
|
-
input: CreateConnectionInputModel,
|
|
26
|
-
output: ConnectionModel
|
|
27
|
-
},
|
|
28
|
-
policy: { auth: "user" },
|
|
29
|
-
sideEffects: {
|
|
30
|
-
emits: [{
|
|
31
|
-
name: "integration.connection.created",
|
|
32
|
-
version: 1,
|
|
33
|
-
when: "Connection created",
|
|
34
|
-
payload: ConnectionModel
|
|
35
|
-
}],
|
|
36
|
-
audit: ["integration.connection.created"]
|
|
37
|
-
}
|
|
38
|
-
});
|
|
39
|
-
|
|
40
|
-
//#endregion
|
|
41
|
-
export { CreateConnectionContract };
|
|
1
|
+
import{ConnectionModel as e,CreateConnectionInputModel as t}from"./connection.schema.js";import{defineCommand as n}from"@lssm/lib.contracts/spec";const r=n({meta:{name:`integration.connection.create`,version:1,stability:`stable`,owners:[...[`@example.integration-hub`]],tags:[`integration`,`connection`,`create`],description:`Create a connection to an external system.`,goal:`Authenticate with external systems.`,context:`Connection setup.`},io:{input:t,output:e},policy:{auth:`user`},sideEffects:{emits:[{name:`integration.connection.created`,version:1,when:`Connection created`,payload:e}],audit:[`integration.connection.created`]}});export{r as CreateConnectionContract};
|
|
@@ -1,17 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
import "../libs/schema/dist/index.js";
|
|
3
|
-
|
|
4
|
-
//#region src/connection/connection.enum.ts
|
|
5
|
-
/**
|
|
6
|
-
* Connection status enum.
|
|
7
|
-
*/
|
|
8
|
-
const ConnectionStatusEnum = defineEnum("ConnectionStatus", [
|
|
9
|
-
"PENDING",
|
|
10
|
-
"CONNECTED",
|
|
11
|
-
"DISCONNECTED",
|
|
12
|
-
"ERROR",
|
|
13
|
-
"EXPIRED"
|
|
14
|
-
]);
|
|
15
|
-
|
|
16
|
-
//#endregion
|
|
17
|
-
export { ConnectionStatusEnum };
|
|
1
|
+
import{defineEnum as e}from"@lssm/lib.schema";const t=e(`ConnectionStatus`,[`PENDING`,`CONNECTED`,`DISCONNECTED`,`ERROR`,`EXPIRED`]);export{t as ConnectionStatusEnum};
|
|
@@ -1,50 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
//#region src/connection/connection.presentation.ts
|
|
4
|
-
const ConnectionListPresentation = {
|
|
5
|
-
meta: {
|
|
6
|
-
name: "integration.connection.list",
|
|
7
|
-
version: 1,
|
|
8
|
-
description: "List of integration connections",
|
|
9
|
-
domain: "integration",
|
|
10
|
-
owners: ["@integration-team"],
|
|
11
|
-
tags: [
|
|
12
|
-
"integration",
|
|
13
|
-
"connection",
|
|
14
|
-
"list"
|
|
15
|
-
]
|
|
16
|
-
},
|
|
17
|
-
source: {
|
|
18
|
-
type: "component",
|
|
19
|
-
framework: "react",
|
|
20
|
-
componentKey: "ConnectionList",
|
|
21
|
-
props: ConnectionModel
|
|
22
|
-
},
|
|
23
|
-
targets: ["react", "markdown"],
|
|
24
|
-
policy: { flags: ["integration.enabled"] }
|
|
25
|
-
};
|
|
26
|
-
const ConnectionSetupPresentation = {
|
|
27
|
-
meta: {
|
|
28
|
-
name: "integration.connection.setup",
|
|
29
|
-
version: 1,
|
|
30
|
-
description: "Setup wizard for creating integration connections",
|
|
31
|
-
domain: "integration",
|
|
32
|
-
owners: ["@integration-team"],
|
|
33
|
-
tags: [
|
|
34
|
-
"integration",
|
|
35
|
-
"connection",
|
|
36
|
-
"setup"
|
|
37
|
-
]
|
|
38
|
-
},
|
|
39
|
-
source: {
|
|
40
|
-
type: "component",
|
|
41
|
-
framework: "react",
|
|
42
|
-
componentKey: "ConnectionSetup",
|
|
43
|
-
props: ConnectionModel
|
|
44
|
-
},
|
|
45
|
-
targets: ["react"],
|
|
46
|
-
policy: { flags: ["integration.enabled"] }
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
//#endregion
|
|
50
|
-
export { ConnectionListPresentation, ConnectionSetupPresentation };
|
|
1
|
+
import{ConnectionModel as e}from"./connection.schema.js";const t={meta:{name:`integration.connection.list`,version:1,description:`List of integration connections`,domain:`integration`,owners:[`@integration-team`],tags:[`integration`,`connection`,`list`]},source:{type:`component`,framework:`react`,componentKey:`ConnectionList`,props:e},targets:[`react`,`markdown`],policy:{flags:[`integration.enabled`]}},n={meta:{name:`integration.connection.setup`,version:1,description:`Setup wizard for creating integration connections`,domain:`integration`,owners:[`@integration-team`],tags:[`integration`,`connection`,`setup`]},source:{type:`component`,framework:`react`,componentKey:`ConnectionSetup`,props:e},targets:[`react`],policy:{flags:[`integration.enabled`]}};export{t as ConnectionListPresentation,n as ConnectionSetupPresentation};
|
|
@@ -1,77 +1 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { defineSchemaModel } from "../libs/schema/dist/SchemaModel.js";
|
|
3
|
-
import "../libs/schema/dist/index.js";
|
|
4
|
-
import { ConnectionStatusEnum } from "./connection.enum.js";
|
|
5
|
-
|
|
6
|
-
//#region src/connection/connection.schema.ts
|
|
7
|
-
/**
|
|
8
|
-
* A connection to an external system.
|
|
9
|
-
*/
|
|
10
|
-
const ConnectionModel = defineSchemaModel({
|
|
11
|
-
name: "ConnectionModel",
|
|
12
|
-
fields: {
|
|
13
|
-
id: {
|
|
14
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
15
|
-
isOptional: false
|
|
16
|
-
},
|
|
17
|
-
integrationId: {
|
|
18
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
19
|
-
isOptional: false
|
|
20
|
-
},
|
|
21
|
-
name: {
|
|
22
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
23
|
-
isOptional: false
|
|
24
|
-
},
|
|
25
|
-
status: {
|
|
26
|
-
type: ConnectionStatusEnum,
|
|
27
|
-
isOptional: false
|
|
28
|
-
},
|
|
29
|
-
authType: {
|
|
30
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
31
|
-
isOptional: false
|
|
32
|
-
},
|
|
33
|
-
externalAccountName: {
|
|
34
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
35
|
-
isOptional: true
|
|
36
|
-
},
|
|
37
|
-
connectedAt: {
|
|
38
|
-
type: ScalarTypeEnum.DateTime(),
|
|
39
|
-
isOptional: true
|
|
40
|
-
},
|
|
41
|
-
lastHealthCheck: {
|
|
42
|
-
type: ScalarTypeEnum.DateTime(),
|
|
43
|
-
isOptional: true
|
|
44
|
-
},
|
|
45
|
-
healthStatus: {
|
|
46
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
47
|
-
isOptional: true
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
});
|
|
51
|
-
/**
|
|
52
|
-
* Input for creating a connection.
|
|
53
|
-
*/
|
|
54
|
-
const CreateConnectionInputModel = defineSchemaModel({
|
|
55
|
-
name: "CreateConnectionInput",
|
|
56
|
-
fields: {
|
|
57
|
-
integrationId: {
|
|
58
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
59
|
-
isOptional: false
|
|
60
|
-
},
|
|
61
|
-
name: {
|
|
62
|
-
type: ScalarTypeEnum.NonEmptyString(),
|
|
63
|
-
isOptional: false
|
|
64
|
-
},
|
|
65
|
-
authType: {
|
|
66
|
-
type: ScalarTypeEnum.NonEmptyString(),
|
|
67
|
-
isOptional: false
|
|
68
|
-
},
|
|
69
|
-
credentials: {
|
|
70
|
-
type: ScalarTypeEnum.JSON(),
|
|
71
|
-
isOptional: true
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
});
|
|
75
|
-
|
|
76
|
-
//#endregion
|
|
77
|
-
export { ConnectionModel, CreateConnectionInputModel };
|
|
1
|
+
import{ConnectionStatusEnum as e}from"./connection.enum.js";import{ScalarTypeEnum as t,defineSchemaModel as n}from"@lssm/lib.schema";const r=n({name:`ConnectionModel`,fields:{id:{type:t.String_unsecure(),isOptional:!1},integrationId:{type:t.String_unsecure(),isOptional:!1},name:{type:t.String_unsecure(),isOptional:!1},status:{type:e,isOptional:!1},authType:{type:t.String_unsecure(),isOptional:!1},externalAccountName:{type:t.String_unsecure(),isOptional:!0},connectedAt:{type:t.DateTime(),isOptional:!0},lastHealthCheck:{type:t.DateTime(),isOptional:!0},healthStatus:{type:t.String_unsecure(),isOptional:!0}}}),i=n({name:`CreateConnectionInput`,fields:{integrationId:{type:t.String_unsecure(),isOptional:!1},name:{type:t.NonEmptyString(),isOptional:!1},authType:{type:t.NonEmptyString(),isOptional:!1},credentials:{type:t.JSON(),isOptional:!0}}});export{r as ConnectionModel,i as CreateConnectionInputModel};
|
package/dist/connection/index.js
CHANGED
|
@@ -1,5 +1 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ConnectionModel, CreateConnectionInputModel } from "./connection.schema.js";
|
|
3
|
-
import { CreateConnectionContract } from "./connection.contracts.js";
|
|
4
|
-
|
|
5
|
-
export { ConnectionModel, ConnectionStatusEnum, CreateConnectionContract, CreateConnectionInputModel };
|
|
1
|
+
import{ConnectionStatusEnum as e}from"./connection.enum.js";import{ConnectionModel as t,CreateConnectionInputModel as n}from"./connection.schema.js";import{CreateConnectionContract as r}from"./connection.contracts.js";export{t as ConnectionModel,e as ConnectionStatusEnum,r as CreateConnectionContract,n as CreateConnectionInputModel};
|
package/dist/docs/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import
|
|
1
|
+
import"./integration-hub.docblock.js";
|
|
@@ -1,22 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
import "../libs/contracts/dist/docs/index.js";
|
|
3
|
-
|
|
4
|
-
//#region src/docs/integration-hub.docblock.ts
|
|
5
|
-
registerDocBlocks([
|
|
6
|
-
{
|
|
7
|
-
id: "docs.examples.integration-hub",
|
|
8
|
-
title: "Integration Hub",
|
|
9
|
-
summary: "Generic integration center with connectors, connections, sync configs, field mappings, and sync logs.",
|
|
10
|
-
kind: "reference",
|
|
11
|
-
visibility: "public",
|
|
12
|
-
route: "/docs/examples/integration-hub",
|
|
13
|
-
tags: [
|
|
14
|
-
"integrations",
|
|
15
|
-
"sync",
|
|
16
|
-
"etl",
|
|
17
|
-
"connectors"
|
|
18
|
-
],
|
|
19
|
-
body: `## Entities
|
|
1
|
+
import{registerDocBlocks as e}from"@lssm/lib.contracts/docs";e([{id:`docs.examples.integration-hub`,title:`Integration Hub`,summary:`Generic integration center with connectors, connections, sync configs, field mappings, and sync logs.`,kind:`reference`,visibility:`public`,route:`/docs/examples/integration-hub`,tags:[`integrations`,`sync`,`etl`,`connectors`],body:`## Entities
|
|
20
2
|
|
|
21
3
|
- Integration, Connection, SyncConfig, FieldMapping, SyncLog.
|
|
22
4
|
- Sync engine config lives in \`src/sync-engine\` to map remote <-> local entities.
|
|
@@ -40,17 +22,7 @@ registerDocBlocks([
|
|
|
40
22
|
|
|
41
23
|
- Providers remain agnostic; keep mappings declarative for safe regeneration.
|
|
42
24
|
- Feature flags can gate specific providers; metering can track sync volume.
|
|
43
|
-
`
|
|
44
|
-
},
|
|
45
|
-
{
|
|
46
|
-
id: "docs.examples.integration-hub.goal",
|
|
47
|
-
title: "Integration Hub — Goal",
|
|
48
|
-
summary: "Why this integration hub exists and what success looks like.",
|
|
49
|
-
kind: "goal",
|
|
50
|
-
visibility: "public",
|
|
51
|
-
route: "/docs/examples/integration-hub/goal",
|
|
52
|
-
tags: ["integrations", "goal"],
|
|
53
|
-
body: `## Why it matters
|
|
25
|
+
`},{id:`docs.examples.integration-hub.goal`,title:`Integration Hub — Goal`,summary:`Why this integration hub exists and what success looks like.`,kind:`goal`,visibility:`public`,route:`/docs/examples/integration-hub/goal`,tags:[`integrations`,`goal`],body:`## Why it matters
|
|
54
26
|
- Gives a regenerable, provider-agnostic integration hub with explicit mappings.
|
|
55
27
|
- Prevents drift between sync configs, mappings, and event/log outputs.
|
|
56
28
|
|
|
@@ -60,17 +32,7 @@ registerDocBlocks([
|
|
|
60
32
|
|
|
61
33
|
## Success criteria
|
|
62
34
|
- Connections and mappings regenerate safely after spec edits.
|
|
63
|
-
- Sync events and logs provide auditability; payloads are stored and PII-scoped.`
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
id: "docs.examples.integration-hub.usage",
|
|
67
|
-
title: "Integration Hub — Usage",
|
|
68
|
-
summary: "How to configure connectors, mappings, and scheduled syncs.",
|
|
69
|
-
kind: "usage",
|
|
70
|
-
visibility: "public",
|
|
71
|
-
route: "/docs/examples/integration-hub/usage",
|
|
72
|
-
tags: ["integrations", "usage"],
|
|
73
|
-
body: `## Setup
|
|
35
|
+
- Sync events and logs provide auditability; payloads are stored and PII-scoped.`},{id:`docs.examples.integration-hub.usage`,title:`Integration Hub — Usage`,summary:`How to configure connectors, mappings, and scheduled syncs.`,kind:`usage`,visibility:`public`,route:`/docs/examples/integration-hub/usage`,tags:[`integrations`,`usage`],body:`## Setup
|
|
74
36
|
1) Seed integrations/connections (if available) or create connector definitions.
|
|
75
37
|
2) Configure sync jobs with Jobs module; store payload archives via Files.
|
|
76
38
|
|
|
@@ -82,21 +44,7 @@ registerDocBlocks([
|
|
|
82
44
|
## Guardrails
|
|
83
45
|
- Keep mappings declarative; avoid hardcoded transforms.
|
|
84
46
|
- Emit events for sync lifecycle; persist logs for audit.
|
|
85
|
-
- Redact sensitive payload paths in presentations.`
|
|
86
|
-
},
|
|
87
|
-
{
|
|
88
|
-
id: "docs.examples.integration-hub.constraints",
|
|
89
|
-
title: "Integration Hub — Constraints & Safety",
|
|
90
|
-
summary: "Internal guidance for sync lifecycle, mappings, and regeneration safety.",
|
|
91
|
-
kind: "reference",
|
|
92
|
-
visibility: "internal",
|
|
93
|
-
route: "/docs/examples/integration-hub/constraints",
|
|
94
|
-
tags: [
|
|
95
|
-
"integrations",
|
|
96
|
-
"constraints",
|
|
97
|
-
"internal"
|
|
98
|
-
],
|
|
99
|
-
body: `## Constraints
|
|
47
|
+
- Redact sensitive payload paths in presentations.`},{id:`docs.examples.integration-hub.constraints`,title:`Integration Hub — Constraints & Safety`,summary:`Internal guidance for sync lifecycle, mappings, and regeneration safety.`,kind:`reference`,visibility:`internal`,route:`/docs/examples/integration-hub/constraints`,tags:[`integrations`,`constraints`,`internal`],body:`## Constraints
|
|
100
48
|
- Mappings and sync states must remain declarative in spec; no hidden code transforms.
|
|
101
49
|
- Events to emit at minimum: sync.started, sync.completed, sync.failed; connection.connected/disconnected.
|
|
102
50
|
- Regeneration should not alter retry/backoff semantics without explicit spec change.
|
|
@@ -108,8 +56,4 @@ registerDocBlocks([
|
|
|
108
56
|
## Verification
|
|
109
57
|
- Include fixtures for mapping changes and sync retries.
|
|
110
58
|
- Validate that scheduled jobs (cron) are spec-driven; Jobs module wiring intact.
|
|
111
|
-
- Ensure Audit/Notifications receive sync lifecycle events.`
|
|
112
|
-
}
|
|
113
|
-
]);
|
|
114
|
-
|
|
115
|
-
//#endregion
|
|
59
|
+
- Ensure Audit/Notifications receive sync lifecycle events.`}]);
|
package/dist/events.js
CHANGED
|
@@ -1,246 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
import "./libs/contracts/dist/index.js";
|
|
3
|
-
import { ScalarTypeEnum } from "./libs/schema/dist/ScalarTypeEnum.js";
|
|
4
|
-
import { defineSchemaModel } from "./libs/schema/dist/SchemaModel.js";
|
|
5
|
-
import "./libs/schema/dist/index.js";
|
|
6
|
-
|
|
7
|
-
//#region src/events.ts
|
|
8
|
-
const IntegrationCreatedPayload = defineSchemaModel({
|
|
9
|
-
name: "IntegrationCreatedPayload",
|
|
10
|
-
description: "Payload when an integration is created",
|
|
11
|
-
fields: {
|
|
12
|
-
integrationId: {
|
|
13
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
14
|
-
isOptional: false
|
|
15
|
-
},
|
|
16
|
-
type: {
|
|
17
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
18
|
-
isOptional: false
|
|
19
|
-
},
|
|
20
|
-
createdAt: {
|
|
21
|
-
type: ScalarTypeEnum.DateTime(),
|
|
22
|
-
isOptional: false
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
});
|
|
26
|
-
const IntegrationCreatedEvent = defineEvent({
|
|
27
|
-
name: "integration.created",
|
|
28
|
-
version: 1,
|
|
29
|
-
description: "Fired when a new integration is created",
|
|
30
|
-
payload: IntegrationCreatedPayload
|
|
31
|
-
});
|
|
32
|
-
const ConnectionCreatedPayload = defineSchemaModel({
|
|
33
|
-
name: "ConnectionCreatedPayload",
|
|
34
|
-
description: "Payload when a connection is established",
|
|
35
|
-
fields: {
|
|
36
|
-
connectionId: {
|
|
37
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
38
|
-
isOptional: false
|
|
39
|
-
},
|
|
40
|
-
integrationId: {
|
|
41
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
42
|
-
isOptional: false
|
|
43
|
-
},
|
|
44
|
-
status: {
|
|
45
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
46
|
-
isOptional: false
|
|
47
|
-
},
|
|
48
|
-
createdAt: {
|
|
49
|
-
type: ScalarTypeEnum.DateTime(),
|
|
50
|
-
isOptional: false
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
|
-
const ConnectionCreatedEvent = defineEvent({
|
|
55
|
-
name: "integration.connection.created",
|
|
56
|
-
version: 1,
|
|
57
|
-
description: "Fired when a new connection is established",
|
|
58
|
-
payload: ConnectionCreatedPayload
|
|
59
|
-
});
|
|
60
|
-
const ConnectionStatusChangedPayload = defineSchemaModel({
|
|
61
|
-
name: "ConnectionStatusChangedPayload",
|
|
62
|
-
description: "Payload when a connection status changes",
|
|
63
|
-
fields: {
|
|
64
|
-
connectionId: {
|
|
65
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
66
|
-
isOptional: false
|
|
67
|
-
},
|
|
68
|
-
previousStatus: {
|
|
69
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
70
|
-
isOptional: false
|
|
71
|
-
},
|
|
72
|
-
newStatus: {
|
|
73
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
74
|
-
isOptional: false
|
|
75
|
-
},
|
|
76
|
-
changedAt: {
|
|
77
|
-
type: ScalarTypeEnum.DateTime(),
|
|
78
|
-
isOptional: false
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
});
|
|
82
|
-
const ConnectionStatusChangedEvent = defineEvent({
|
|
83
|
-
name: "integration.connection.statusChanged",
|
|
84
|
-
version: 1,
|
|
85
|
-
description: "Fired when a connection status changes",
|
|
86
|
-
payload: ConnectionStatusChangedPayload
|
|
87
|
-
});
|
|
88
|
-
const SyncConfigCreatedPayload = defineSchemaModel({
|
|
89
|
-
name: "SyncConfigCreatedPayload",
|
|
90
|
-
description: "Payload when a sync configuration is created",
|
|
91
|
-
fields: {
|
|
92
|
-
syncConfigId: {
|
|
93
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
94
|
-
isOptional: false
|
|
95
|
-
},
|
|
96
|
-
connectionId: {
|
|
97
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
98
|
-
isOptional: false
|
|
99
|
-
},
|
|
100
|
-
createdAt: {
|
|
101
|
-
type: ScalarTypeEnum.DateTime(),
|
|
102
|
-
isOptional: false
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
});
|
|
106
|
-
const SyncConfigCreatedEvent = defineEvent({
|
|
107
|
-
name: "integration.syncConfig.created",
|
|
108
|
-
version: 1,
|
|
109
|
-
description: "Fired when a sync configuration is created",
|
|
110
|
-
payload: SyncConfigCreatedPayload
|
|
111
|
-
});
|
|
112
|
-
const SyncStartedPayload = defineSchemaModel({
|
|
113
|
-
name: "SyncStartedPayload",
|
|
114
|
-
description: "Payload when a sync run starts",
|
|
115
|
-
fields: {
|
|
116
|
-
syncRunId: {
|
|
117
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
118
|
-
isOptional: false
|
|
119
|
-
},
|
|
120
|
-
syncConfigId: {
|
|
121
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
122
|
-
isOptional: false
|
|
123
|
-
},
|
|
124
|
-
startedAt: {
|
|
125
|
-
type: ScalarTypeEnum.DateTime(),
|
|
126
|
-
isOptional: false
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
});
|
|
130
|
-
const SyncStartedEvent = defineEvent({
|
|
131
|
-
name: "integration.sync.started",
|
|
132
|
-
version: 1,
|
|
133
|
-
description: "Fired when a sync run starts",
|
|
134
|
-
payload: SyncStartedPayload
|
|
135
|
-
});
|
|
136
|
-
const SyncCompletedPayload = defineSchemaModel({
|
|
137
|
-
name: "SyncCompletedPayload",
|
|
138
|
-
description: "Payload when a sync run completes successfully",
|
|
139
|
-
fields: {
|
|
140
|
-
syncRunId: {
|
|
141
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
142
|
-
isOptional: false
|
|
143
|
-
},
|
|
144
|
-
syncConfigId: {
|
|
145
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
146
|
-
isOptional: false
|
|
147
|
-
},
|
|
148
|
-
recordsProcessed: {
|
|
149
|
-
type: ScalarTypeEnum.Int_unsecure(),
|
|
150
|
-
isOptional: false
|
|
151
|
-
},
|
|
152
|
-
completedAt: {
|
|
153
|
-
type: ScalarTypeEnum.DateTime(),
|
|
154
|
-
isOptional: false
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
});
|
|
158
|
-
const SyncCompletedEvent = defineEvent({
|
|
159
|
-
name: "integration.sync.completed",
|
|
160
|
-
version: 1,
|
|
161
|
-
description: "Fired when a sync run completes successfully",
|
|
162
|
-
payload: SyncCompletedPayload
|
|
163
|
-
});
|
|
164
|
-
const SyncFailedPayload = defineSchemaModel({
|
|
165
|
-
name: "SyncFailedPayload",
|
|
166
|
-
description: "Payload when a sync run fails",
|
|
167
|
-
fields: {
|
|
168
|
-
syncRunId: {
|
|
169
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
170
|
-
isOptional: false
|
|
171
|
-
},
|
|
172
|
-
syncConfigId: {
|
|
173
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
174
|
-
isOptional: false
|
|
175
|
-
},
|
|
176
|
-
error: {
|
|
177
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
178
|
-
isOptional: false
|
|
179
|
-
},
|
|
180
|
-
failedAt: {
|
|
181
|
-
type: ScalarTypeEnum.DateTime(),
|
|
182
|
-
isOptional: false
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
});
|
|
186
|
-
const SyncFailedEvent = defineEvent({
|
|
187
|
-
name: "integration.sync.failed",
|
|
188
|
-
version: 1,
|
|
189
|
-
description: "Fired when a sync run fails",
|
|
190
|
-
payload: SyncFailedPayload
|
|
191
|
-
});
|
|
192
|
-
const RecordSyncedPayload = defineSchemaModel({
|
|
193
|
-
name: "RecordSyncedPayload",
|
|
194
|
-
description: "Payload when a single record is synced",
|
|
195
|
-
fields: {
|
|
196
|
-
syncRunId: {
|
|
197
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
198
|
-
isOptional: false
|
|
199
|
-
},
|
|
200
|
-
recordId: {
|
|
201
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
202
|
-
isOptional: false
|
|
203
|
-
},
|
|
204
|
-
sourceId: {
|
|
205
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
206
|
-
isOptional: false
|
|
207
|
-
},
|
|
208
|
-
targetId: {
|
|
209
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
210
|
-
isOptional: false
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
});
|
|
214
|
-
const RecordSyncedEvent = defineEvent({
|
|
215
|
-
name: "integration.record.synced",
|
|
216
|
-
version: 1,
|
|
217
|
-
description: "Fired when a single record is synced",
|
|
218
|
-
payload: RecordSyncedPayload
|
|
219
|
-
});
|
|
220
|
-
const FieldMappingAddedPayload = defineSchemaModel({
|
|
221
|
-
name: "FieldMappingAddedPayload",
|
|
222
|
-
description: "Payload when a field mapping is added to a sync config",
|
|
223
|
-
fields: {
|
|
224
|
-
syncConfigId: {
|
|
225
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
226
|
-
isOptional: false
|
|
227
|
-
},
|
|
228
|
-
sourceField: {
|
|
229
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
230
|
-
isOptional: false
|
|
231
|
-
},
|
|
232
|
-
targetField: {
|
|
233
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
234
|
-
isOptional: false
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
});
|
|
238
|
-
const FieldMappingAddedEvent = defineEvent({
|
|
239
|
-
name: "integration.fieldMapping.added",
|
|
240
|
-
version: 1,
|
|
241
|
-
description: "Fired when a field mapping is added to a sync config",
|
|
242
|
-
payload: FieldMappingAddedPayload
|
|
243
|
-
});
|
|
244
|
-
|
|
245
|
-
//#endregion
|
|
246
|
-
export { ConnectionCreatedEvent, ConnectionStatusChangedEvent, FieldMappingAddedEvent, IntegrationCreatedEvent, RecordSyncedEvent, SyncCompletedEvent, SyncConfigCreatedEvent, SyncFailedEvent, SyncStartedEvent };
|
|
1
|
+
import{defineEvent as e}from"@lssm/lib.contracts";import{ScalarTypeEnum as t,defineSchemaModel as n}from"@lssm/lib.schema";const r=e({name:`integration.created`,version:1,description:`Fired when a new integration is created`,payload:n({name:`IntegrationCreatedPayload`,description:`Payload when an integration is created`,fields:{integrationId:{type:t.String_unsecure(),isOptional:!1},type:{type:t.String_unsecure(),isOptional:!1},createdAt:{type:t.DateTime(),isOptional:!1}}})}),i=e({name:`integration.connection.created`,version:1,description:`Fired when a new connection is established`,payload:n({name:`ConnectionCreatedPayload`,description:`Payload when a connection is established`,fields:{connectionId:{type:t.String_unsecure(),isOptional:!1},integrationId:{type:t.String_unsecure(),isOptional:!1},status:{type:t.String_unsecure(),isOptional:!1},createdAt:{type:t.DateTime(),isOptional:!1}}})}),a=e({name:`integration.connection.statusChanged`,version:1,description:`Fired when a connection status changes`,payload:n({name:`ConnectionStatusChangedPayload`,description:`Payload when a connection status changes`,fields:{connectionId:{type:t.String_unsecure(),isOptional:!1},previousStatus:{type:t.String_unsecure(),isOptional:!1},newStatus:{type:t.String_unsecure(),isOptional:!1},changedAt:{type:t.DateTime(),isOptional:!1}}})}),o=e({name:`integration.syncConfig.created`,version:1,description:`Fired when a sync configuration is created`,payload:n({name:`SyncConfigCreatedPayload`,description:`Payload when a sync configuration is created`,fields:{syncConfigId:{type:t.String_unsecure(),isOptional:!1},connectionId:{type:t.String_unsecure(),isOptional:!1},createdAt:{type:t.DateTime(),isOptional:!1}}})}),s=e({name:`integration.sync.started`,version:1,description:`Fired when a sync run starts`,payload:n({name:`SyncStartedPayload`,description:`Payload when a sync run starts`,fields:{syncRunId:{type:t.String_unsecure(),isOptional:!1},syncConfigId:{type:t.String_unsecure(),isOptional:!1},startedAt:{type:t.DateTime(),isOptional:!1}}})}),c=e({name:`integration.sync.completed`,version:1,description:`Fired when a sync run completes successfully`,payload:n({name:`SyncCompletedPayload`,description:`Payload when a sync run completes successfully`,fields:{syncRunId:{type:t.String_unsecure(),isOptional:!1},syncConfigId:{type:t.String_unsecure(),isOptional:!1},recordsProcessed:{type:t.Int_unsecure(),isOptional:!1},completedAt:{type:t.DateTime(),isOptional:!1}}})}),l=e({name:`integration.sync.failed`,version:1,description:`Fired when a sync run fails`,payload:n({name:`SyncFailedPayload`,description:`Payload when a sync run fails`,fields:{syncRunId:{type:t.String_unsecure(),isOptional:!1},syncConfigId:{type:t.String_unsecure(),isOptional:!1},error:{type:t.String_unsecure(),isOptional:!1},failedAt:{type:t.DateTime(),isOptional:!1}}})}),u=e({name:`integration.record.synced`,version:1,description:`Fired when a single record is synced`,payload:n({name:`RecordSyncedPayload`,description:`Payload when a single record is synced`,fields:{syncRunId:{type:t.String_unsecure(),isOptional:!1},recordId:{type:t.String_unsecure(),isOptional:!1},sourceId:{type:t.String_unsecure(),isOptional:!1},targetId:{type:t.String_unsecure(),isOptional:!1}}})}),d=e({name:`integration.fieldMapping.added`,version:1,description:`Fired when a field mapping is added to a sync config`,payload:n({name:`FieldMappingAddedPayload`,description:`Payload when a field mapping is added to a sync config`,fields:{syncConfigId:{type:t.String_unsecure(),isOptional:!1},sourceField:{type:t.String_unsecure(),isOptional:!1},targetField:{type:t.String_unsecure(),isOptional:!1}}})});export{i as ConnectionCreatedEvent,a as ConnectionStatusChangedEvent,d as FieldMappingAddedEvent,r as IntegrationCreatedEvent,u as RecordSyncedEvent,c as SyncCompletedEvent,o as SyncConfigCreatedEvent,l as SyncFailedEvent,s as SyncStartedEvent};
|
package/dist/example.js
CHANGED
|
@@ -1,50 +1 @@
|
|
|
1
|
-
|
|
2
|
-
const example = {
|
|
3
|
-
id: "integration-hub",
|
|
4
|
-
title: "Integration Hub",
|
|
5
|
-
summary: "Provider-agnostic integration center with connectors, connections, field mappings, and sync logs.",
|
|
6
|
-
tags: [
|
|
7
|
-
"integrations",
|
|
8
|
-
"sync",
|
|
9
|
-
"etl",
|
|
10
|
-
"connectors"
|
|
11
|
-
],
|
|
12
|
-
kind: "template",
|
|
13
|
-
visibility: "public",
|
|
14
|
-
docs: {
|
|
15
|
-
rootDocId: "docs.examples.integration-hub",
|
|
16
|
-
goalDocId: "docs.examples.integration-hub.goal",
|
|
17
|
-
usageDocId: "docs.examples.integration-hub.usage",
|
|
18
|
-
constraintsDocId: "docs.examples.integration-hub.constraints"
|
|
19
|
-
},
|
|
20
|
-
entrypoints: {
|
|
21
|
-
packageName: "@lssm/example.integration-hub",
|
|
22
|
-
feature: "./feature",
|
|
23
|
-
contracts: "./contracts",
|
|
24
|
-
presentations: "./presentations",
|
|
25
|
-
handlers: "./handlers",
|
|
26
|
-
docs: "./docs"
|
|
27
|
-
},
|
|
28
|
-
surfaces: {
|
|
29
|
-
templates: true,
|
|
30
|
-
sandbox: {
|
|
31
|
-
enabled: true,
|
|
32
|
-
modes: [
|
|
33
|
-
"playground",
|
|
34
|
-
"specs",
|
|
35
|
-
"builder",
|
|
36
|
-
"markdown",
|
|
37
|
-
"evolution"
|
|
38
|
-
]
|
|
39
|
-
},
|
|
40
|
-
studio: {
|
|
41
|
-
enabled: true,
|
|
42
|
-
installable: true
|
|
43
|
-
},
|
|
44
|
-
mcp: { enabled: true }
|
|
45
|
-
}
|
|
46
|
-
};
|
|
47
|
-
var example_default = example;
|
|
48
|
-
|
|
49
|
-
//#endregion
|
|
50
|
-
export { example_default as default };
|
|
1
|
+
var e={id:`integration-hub`,title:`Integration Hub`,summary:`Provider-agnostic integration center with connectors, connections, field mappings, and sync logs.`,tags:[`integrations`,`sync`,`etl`,`connectors`],kind:`template`,visibility:`public`,docs:{rootDocId:`docs.examples.integration-hub`,goalDocId:`docs.examples.integration-hub.goal`,usageDocId:`docs.examples.integration-hub.usage`,constraintsDocId:`docs.examples.integration-hub.constraints`},entrypoints:{packageName:`@lssm/example.integration-hub`,feature:`./feature`,contracts:`./contracts`,presentations:`./presentations`,handlers:`./handlers`,docs:`./docs`},surfaces:{templates:!0,sandbox:{enabled:!0,modes:[`playground`,`specs`,`builder`,`markdown`,`evolution`]},studio:{enabled:!0,installable:!0},mcp:{enabled:!0}}};export{e as default};
|
package/dist/index.js
CHANGED
|
@@ -1,15 +1 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { CreateIntegrationInputModel, IntegrationModel } from "./integration/integration.schema.js";
|
|
3
|
-
import { CreateIntegrationContract } from "./integration/integration.contracts.js";
|
|
4
|
-
import "./integration/index.js";
|
|
5
|
-
import { ConnectionStatusEnum } from "./connection/connection.enum.js";
|
|
6
|
-
import { ConnectionModel, CreateConnectionInputModel } from "./connection/connection.schema.js";
|
|
7
|
-
import { CreateConnectionContract } from "./connection/connection.contracts.js";
|
|
8
|
-
import "./connection/index.js";
|
|
9
|
-
import { MappingTypeEnum, SyncDirectionEnum, SyncStatusEnum } from "./sync/sync.enum.js";
|
|
10
|
-
import { AddFieldMappingInputModel, CreateSyncConfigInputModel, FieldMappingModel, ListSyncRunsInputModel, ListSyncRunsOutputModel, SyncConfigModel, SyncRunModel, TriggerSyncInputModel } from "./sync/sync.schema.js";
|
|
11
|
-
import { AddFieldMappingContract, CreateSyncConfigContract, ListSyncRunsContract, TriggerSyncContract } from "./sync/sync.contracts.js";
|
|
12
|
-
import "./sync/index.js";
|
|
13
|
-
import { BasicFieldTransformer, BasicSyncEngine, computeChecksum, createSyncEngine, hasChanges } from "./sync-engine/index.js";
|
|
14
|
-
|
|
15
|
-
export { AddFieldMappingContract, AddFieldMappingInputModel, BasicFieldTransformer, BasicSyncEngine, ConnectionModel, ConnectionStatusEnum, CreateConnectionContract, CreateConnectionInputModel, CreateIntegrationContract, CreateIntegrationInputModel, CreateSyncConfigContract, CreateSyncConfigInputModel, FieldMappingModel, IntegrationModel, IntegrationStatusEnum, ListSyncRunsContract, ListSyncRunsInputModel, ListSyncRunsOutputModel, MappingTypeEnum, SyncConfigModel, SyncDirectionEnum, SyncRunModel, SyncStatusEnum, TriggerSyncContract, TriggerSyncInputModel, computeChecksum, createSyncEngine, hasChanges };
|
|
1
|
+
import{IntegrationStatusEnum as e}from"./integration/integration.enum.js";import{CreateIntegrationInputModel as t,IntegrationModel as n}from"./integration/integration.schema.js";import{CreateIntegrationContract as r}from"./integration/integration.contracts.js";import"./integration/index.js";import{ConnectionStatusEnum as i}from"./connection/connection.enum.js";import{ConnectionModel as a,CreateConnectionInputModel as o}from"./connection/connection.schema.js";import{CreateConnectionContract as s}from"./connection/connection.contracts.js";import"./connection/index.js";import{MappingTypeEnum as c,SyncDirectionEnum as l,SyncStatusEnum as u}from"./sync/sync.enum.js";import{AddFieldMappingInputModel as d,CreateSyncConfigInputModel as f,FieldMappingModel as p,ListSyncRunsInputModel as m,ListSyncRunsOutputModel as h,SyncConfigModel as g,SyncRunModel as _,TriggerSyncInputModel as v}from"./sync/sync.schema.js";import{AddFieldMappingContract as y,CreateSyncConfigContract as b,ListSyncRunsContract as x,TriggerSyncContract as S}from"./sync/sync.contracts.js";import"./sync/index.js";import{BasicFieldTransformer as C,BasicSyncEngine as w,computeChecksum as T,createSyncEngine as E,hasChanges as D}from"./sync-engine/index.js";export{y as AddFieldMappingContract,d as AddFieldMappingInputModel,C as BasicFieldTransformer,w as BasicSyncEngine,a as ConnectionModel,i as ConnectionStatusEnum,s as CreateConnectionContract,o as CreateConnectionInputModel,r as CreateIntegrationContract,t as CreateIntegrationInputModel,b as CreateSyncConfigContract,f as CreateSyncConfigInputModel,p as FieldMappingModel,n as IntegrationModel,e as IntegrationStatusEnum,x as ListSyncRunsContract,m as ListSyncRunsInputModel,h as ListSyncRunsOutputModel,c as MappingTypeEnum,g as SyncConfigModel,l as SyncDirectionEnum,_ as SyncRunModel,u as SyncStatusEnum,S as TriggerSyncContract,v as TriggerSyncInputModel,T as computeChecksum,E as createSyncEngine,D as hasChanges};
|
|
@@ -1,5 +1 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { CreateIntegrationInputModel, IntegrationModel } from "./integration.schema.js";
|
|
3
|
-
import { CreateIntegrationContract } from "./integration.contracts.js";
|
|
4
|
-
|
|
5
|
-
export { CreateIntegrationContract, CreateIntegrationInputModel, IntegrationModel, IntegrationStatusEnum };
|
|
1
|
+
import{IntegrationStatusEnum as e}from"./integration.enum.js";import{CreateIntegrationInputModel as t,IntegrationModel as n}from"./integration.schema.js";import{CreateIntegrationContract as r}from"./integration.contracts.js";export{r as CreateIntegrationContract,t as CreateIntegrationInputModel,n as IntegrationModel,e as IntegrationStatusEnum};
|
|
@@ -1,37 +1 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { CreateIntegrationInputModel, IntegrationModel } from "./integration.schema.js";
|
|
3
|
-
|
|
4
|
-
//#region src/integration/integration.contracts.ts
|
|
5
|
-
const OWNERS = ["@example.integration-hub"];
|
|
6
|
-
/**
|
|
7
|
-
* Create a new integration.
|
|
8
|
-
*/
|
|
9
|
-
const CreateIntegrationContract = defineCommand({
|
|
10
|
-
meta: {
|
|
11
|
-
name: "integration.create",
|
|
12
|
-
version: 1,
|
|
13
|
-
stability: "stable",
|
|
14
|
-
owners: [...OWNERS],
|
|
15
|
-
tags: ["integration", "create"],
|
|
16
|
-
description: "Create a new integration.",
|
|
17
|
-
goal: "Allow users to set up integrations with external systems.",
|
|
18
|
-
context: "Integration setup."
|
|
19
|
-
},
|
|
20
|
-
io: {
|
|
21
|
-
input: CreateIntegrationInputModel,
|
|
22
|
-
output: IntegrationModel
|
|
23
|
-
},
|
|
24
|
-
policy: { auth: "user" },
|
|
25
|
-
sideEffects: {
|
|
26
|
-
emits: [{
|
|
27
|
-
name: "integration.created",
|
|
28
|
-
version: 1,
|
|
29
|
-
when: "Integration created",
|
|
30
|
-
payload: IntegrationModel
|
|
31
|
-
}],
|
|
32
|
-
audit: ["integration.created"]
|
|
33
|
-
}
|
|
34
|
-
});
|
|
35
|
-
|
|
36
|
-
//#endregion
|
|
37
|
-
export { CreateIntegrationContract };
|
|
1
|
+
import{CreateIntegrationInputModel as e,IntegrationModel as t}from"./integration.schema.js";import{defineCommand as n}from"@lssm/lib.contracts/spec";const r=n({meta:{name:`integration.create`,version:1,stability:`stable`,owners:[...[`@example.integration-hub`]],tags:[`integration`,`create`],description:`Create a new integration.`,goal:`Allow users to set up integrations with external systems.`,context:`Integration setup.`},io:{input:e,output:t},policy:{auth:`user`},sideEffects:{emits:[{name:`integration.created`,version:1,when:`Integration created`,payload:t}],audit:[`integration.created`]}});export{r as CreateIntegrationContract};
|