@lssm/example.integration-hub 0.0.0-canary-20251217063201 → 0.0.0-canary-20251217072406
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.d.ts +27 -27
- package/dist/connection/connection.contracts.js +41 -1
- package/dist/connection/connection.enum.d.ts +2 -2
- package/dist/connection/connection.enum.js +17 -1
- package/dist/connection/connection.presentation.js +50 -1
- package/dist/connection/connection.schema.d.ts +16 -16
- package/dist/connection/connection.schema.js +77 -1
- package/dist/connection/index.js +5 -1
- package/dist/docs/index.js +1 -1
- package/dist/docs/integration-hub.docblock.js +61 -5
- package/dist/events.d.ts +43 -43
- package/dist/events.js +246 -1
- package/dist/example.js +50 -1
- package/dist/index.js +15 -1
- package/dist/integration/index.js +5 -1
- package/dist/integration/integration.contracts.d.ts +25 -25
- package/dist/integration/integration.contracts.js +37 -1
- package/dist/integration/integration.enum.d.ts +2 -2
- package/dist/integration/integration.enum.js +17 -1
- package/dist/integration/integration.presentation.js +63 -1
- package/dist/integration/integration.schema.d.ts +16 -16
- package/dist/integration/integration.schema.js +77 -1
- package/dist/integration-hub.feature.js +237 -1
- package/dist/libs/contracts/dist/capabilities/openbanking.js +88 -1
- package/dist/libs/contracts/dist/client/index.js +5 -1
- package/dist/libs/contracts/dist/client/react/feature-render.js +2 -1
- package/dist/libs/contracts/dist/client/react/form-render.js +4 -1
- package/dist/libs/contracts/dist/client/react/index.js +4 -1
- package/dist/libs/contracts/dist/contract-registry/index.js +1 -1
- package/dist/libs/contracts/dist/contract-registry/schemas.js +60 -1
- package/dist/libs/contracts/dist/docs/PUBLISHING.docblock.js +16 -76
- package/dist/libs/contracts/dist/docs/accessibility_wcag_compliance_specs.docblock.js +16 -350
- package/dist/libs/contracts/dist/docs/index.js +29 -1
- package/dist/libs/contracts/dist/docs/presentations.js +71 -1
- package/dist/libs/contracts/dist/docs/registry.js +44 -1
- package/dist/libs/contracts/dist/docs/tech/PHASE_1_QUICKSTART.docblock.js +16 -383
- package/dist/libs/contracts/dist/docs/tech/PHASE_2_AI_NATIVE_OPERATIONS.docblock.js +16 -68
- package/dist/libs/contracts/dist/docs/tech/PHASE_3_AUTO_EVOLUTION.docblock.js +16 -140
- package/dist/libs/contracts/dist/docs/tech/PHASE_4_PERSONALIZATION_ENGINE.docblock.js +16 -86
- package/dist/libs/contracts/dist/docs/tech/PHASE_5_ZERO_TOUCH_OPERATIONS.docblock.js +16 -1
- package/dist/libs/contracts/dist/docs/tech/auth/better-auth-nextjs.docblock.js +24 -2
- package/dist/libs/contracts/dist/docs/tech/contracts/openapi-export.docblock.js +21 -2
- package/dist/libs/contracts/dist/docs/tech/lifecycle-stage-system.docblock.js +16 -213
- package/dist/libs/contracts/dist/docs/tech/llm/llm-integration.docblock.js +73 -5
- package/dist/libs/contracts/dist/docs/tech/mcp-endpoints.docblock.js +37 -1
- package/dist/libs/contracts/dist/docs/tech/presentation-runtime.docblock.js +16 -1
- package/dist/libs/contracts/dist/docs/tech/schema/README.docblock.js +20 -262
- package/dist/libs/contracts/dist/docs/tech/studio/learning-events.docblock.js +48 -1
- package/dist/libs/contracts/dist/docs/tech/studio/learning-journeys.docblock.js +24 -2
- package/dist/libs/contracts/dist/docs/tech/studio/platform-admin-panel.docblock.js +23 -2
- package/dist/libs/contracts/dist/docs/tech/studio/project-access-teams.docblock.js +25 -16
- package/dist/libs/contracts/dist/docs/tech/studio/project-routing.docblock.js +67 -1
- package/dist/libs/contracts/dist/docs/tech/studio/sandbox-unlogged.docblock.js +22 -2
- package/dist/libs/contracts/dist/docs/tech/studio/team-invitations.docblock.js +40 -36
- package/dist/libs/contracts/dist/docs/tech/studio/workspace-ops.docblock.js +47 -1
- package/dist/libs/contracts/dist/docs/tech/studio/workspaces.docblock.js +23 -2
- package/dist/libs/contracts/dist/docs/tech/telemetry-ingest.docblock.js +36 -3
- package/dist/libs/contracts/dist/docs/tech/templates/runtime.docblock.js +20 -1
- package/dist/libs/contracts/dist/docs/tech/vscode-extension.docblock.js +36 -3
- package/dist/libs/contracts/dist/docs/tech/workflows/overview.docblock.js +20 -1
- package/dist/libs/contracts/dist/events.js +10 -1
- package/dist/libs/contracts/dist/experiments/evaluator.js +1 -1
- package/dist/libs/contracts/dist/index.js +71 -1
- package/dist/libs/contracts/dist/install.js +2 -1
- package/dist/libs/contracts/dist/integrations/contracts.js +377 -1
- package/dist/libs/contracts/dist/integrations/index.js +18 -1
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/accounts.js +228 -1
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/balances.js +159 -1
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/index.js +3 -1
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/transactions.js +210 -1
- package/dist/libs/contracts/dist/integrations/openbanking/models.js +242 -1
- package/dist/libs/contracts/dist/integrations/openbanking/telemetry.js +13 -1
- package/dist/libs/contracts/dist/integrations/providers/elevenlabs.js +52 -1
- package/dist/libs/contracts/dist/integrations/providers/gcs-storage.js +75 -1
- package/dist/libs/contracts/dist/integrations/providers/gmail.js +87 -1
- package/dist/libs/contracts/dist/integrations/providers/google-calendar.js +66 -1
- package/dist/libs/contracts/dist/integrations/providers/index.js +11 -1
- package/dist/libs/contracts/dist/integrations/providers/mistral.js +68 -1
- package/dist/libs/contracts/dist/integrations/providers/postmark.js +68 -1
- package/dist/libs/contracts/dist/integrations/providers/powens.js +116 -1
- package/dist/libs/contracts/dist/integrations/providers/qdrant.js +73 -1
- package/dist/libs/contracts/dist/integrations/providers/registry.js +10 -1
- package/dist/libs/contracts/dist/integrations/providers/stripe.js +83 -1
- package/dist/libs/contracts/dist/integrations/providers/twilio-sms.js +61 -1
- package/dist/libs/contracts/dist/jsonschema.js +1 -1
- package/dist/libs/contracts/dist/knowledge/contracts.js +306 -1
- package/dist/libs/contracts/dist/knowledge/index.js +7 -1
- package/dist/libs/contracts/dist/knowledge/spaces/email-threads.js +34 -1
- package/dist/libs/contracts/dist/knowledge/spaces/financial-docs.js +34 -1
- package/dist/libs/contracts/dist/knowledge/spaces/financial-overview.js +38 -1
- package/dist/libs/contracts/dist/knowledge/spaces/index.js +6 -1
- package/dist/libs/contracts/dist/knowledge/spaces/product-canon.js +34 -1
- package/dist/libs/contracts/dist/knowledge/spaces/support-faq.js +37 -1
- package/dist/libs/contracts/dist/knowledge/spaces/uploaded-docs.js +34 -1
- package/dist/libs/contracts/dist/llm/exporters.js +19 -1
- package/dist/libs/contracts/dist/llm/index.js +2 -1
- package/dist/libs/contracts/dist/llm/prompts.js +1 -1
- package/dist/libs/contracts/dist/onboarding-base.js +196 -1
- package/dist/libs/contracts/dist/openapi.js +1 -1
- package/dist/libs/contracts/dist/ownership.js +21 -1
- package/dist/libs/contracts/dist/presentations.js +1 -1
- package/dist/libs/contracts/dist/presentations.v2.js +11 -1
- package/dist/libs/contracts/dist/prompt.js +1 -1
- package/dist/libs/contracts/dist/promptRegistry.js +1 -1
- package/dist/libs/contracts/dist/regenerator/index.js +1 -1
- package/dist/libs/contracts/dist/regenerator/service.js +6 -1
- package/dist/libs/contracts/dist/registry.js +2 -1
- package/dist/libs/contracts/dist/resources.js +1 -1
- package/dist/libs/contracts/dist/schema/dist/EnumType.js +2 -1
- package/dist/libs/contracts/dist/schema/dist/FieldType.js +49 -1
- package/dist/libs/contracts/dist/schema/dist/ScalarTypeEnum.js +236 -1
- package/dist/libs/contracts/dist/schema/dist/SchemaModel.js +34 -1
- package/dist/libs/contracts/dist/schema/dist/entity/defineEntity.js +1 -1
- package/dist/libs/contracts/dist/schema/dist/entity/index.js +2 -1
- package/dist/libs/contracts/dist/schema/dist/entity/types.js +1 -1
- package/dist/libs/contracts/dist/schema/dist/index.js +6 -1
- package/dist/libs/contracts/dist/server/graphql-pothos.js +6 -1
- package/dist/libs/contracts/dist/server/index.js +8 -1
- package/dist/libs/contracts/dist/server/mcp/createMcpServer.js +4 -1
- package/dist/libs/contracts/dist/server/mcp/registerPresentations.js +2 -1
- package/dist/libs/contracts/dist/server/mcp/registerPrompts.js +1 -1
- package/dist/libs/contracts/dist/server/mcp/registerResources.js +2 -1
- package/dist/libs/contracts/dist/server/mcp/registerTools.js +1 -1
- package/dist/libs/contracts/dist/server/provider-mcp.js +1 -1
- package/dist/libs/contracts/dist/server/rest-elysia.js +1 -1
- package/dist/libs/contracts/dist/server/rest-express.js +1 -1
- package/dist/libs/contracts/dist/server/rest-generic.js +1 -1
- package/dist/libs/contracts/dist/server/rest-next-app.js +1 -1
- package/dist/libs/contracts/dist/server/rest-next-pages.js +1 -1
- package/dist/libs/contracts/dist/spec.js +34 -1
- package/dist/libs/contracts/dist/telemetry/index.js +1 -1
- package/dist/libs/contracts/dist/telemetry/tracker.js +1 -1
- package/dist/libs/contracts/dist/tests/index.js +1 -1
- package/dist/libs/contracts/dist/tests/runner.js +2 -1
- package/dist/libs/contracts/dist/workflow/index.js +1 -1
- package/dist/libs/contracts/dist/workflow/runner.js +1 -1
- package/dist/libs/schema/dist/EnumType.js +56 -1
- package/dist/libs/schema/dist/FieldType.js +49 -1
- package/dist/libs/schema/dist/ScalarTypeEnum.js +236 -1
- package/dist/libs/schema/dist/SchemaModel.js +39 -1
- package/dist/libs/schema/dist/entity/defineEntity.js +1 -1
- package/dist/libs/schema/dist/entity/index.js +2 -1
- package/dist/libs/schema/dist/entity/types.js +1 -1
- package/dist/libs/schema/dist/index.js +6 -1
- package/dist/sync/index.js +5 -1
- package/dist/sync/sync.contracts.d.ts +125 -125
- package/dist/sync/sync.contracts.js +130 -1
- package/dist/sync/sync.enum.d.ts +4 -4
- package/dist/sync/sync.enum.js +35 -1
- package/dist/sync/sync.presentation.js +142 -1
- package/dist/sync/sync.schema.d.ts +85 -85
- package/dist/sync/sync.schema.js +305 -1
- package/dist/sync-engine/index.js +146 -1
- package/package.json +12 -12
|
@@ -1,103 +1,103 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import * as
|
|
1
|
+
import * as _lssm_lib_schema40 from "@lssm/lib.schema";
|
|
2
|
+
import * as _lssm_lib_contracts8 from "@lssm/lib.contracts";
|
|
3
3
|
|
|
4
4
|
//#region src/connection/connection.contracts.d.ts
|
|
5
5
|
/**
|
|
6
6
|
* Create a connection to an external system.
|
|
7
7
|
*/
|
|
8
|
-
declare const CreateConnectionContract:
|
|
8
|
+
declare const CreateConnectionContract: _lssm_lib_contracts8.ContractSpec<_lssm_lib_schema40.SchemaModel<{
|
|
9
9
|
integrationId: {
|
|
10
|
-
type:
|
|
10
|
+
type: _lssm_lib_schema40.FieldType<string, string>;
|
|
11
11
|
isOptional: false;
|
|
12
12
|
};
|
|
13
13
|
name: {
|
|
14
|
-
type:
|
|
14
|
+
type: _lssm_lib_schema40.FieldType<string, string>;
|
|
15
15
|
isOptional: false;
|
|
16
16
|
};
|
|
17
17
|
authType: {
|
|
18
|
-
type:
|
|
18
|
+
type: _lssm_lib_schema40.FieldType<string, string>;
|
|
19
19
|
isOptional: false;
|
|
20
20
|
};
|
|
21
21
|
credentials: {
|
|
22
|
-
type:
|
|
22
|
+
type: _lssm_lib_schema40.FieldType<unknown, unknown>;
|
|
23
23
|
isOptional: true;
|
|
24
24
|
};
|
|
25
|
-
}>,
|
|
25
|
+
}>, _lssm_lib_schema40.SchemaModel<{
|
|
26
26
|
id: {
|
|
27
|
-
type:
|
|
27
|
+
type: _lssm_lib_schema40.FieldType<string, string>;
|
|
28
28
|
isOptional: false;
|
|
29
29
|
};
|
|
30
30
|
integrationId: {
|
|
31
|
-
type:
|
|
31
|
+
type: _lssm_lib_schema40.FieldType<string, string>;
|
|
32
32
|
isOptional: false;
|
|
33
33
|
};
|
|
34
34
|
name: {
|
|
35
|
-
type:
|
|
35
|
+
type: _lssm_lib_schema40.FieldType<string, string>;
|
|
36
36
|
isOptional: false;
|
|
37
37
|
};
|
|
38
38
|
status: {
|
|
39
|
-
type:
|
|
39
|
+
type: _lssm_lib_schema40.EnumType<[string, string, string, string, string]>;
|
|
40
40
|
isOptional: false;
|
|
41
41
|
};
|
|
42
42
|
authType: {
|
|
43
|
-
type:
|
|
43
|
+
type: _lssm_lib_schema40.FieldType<string, string>;
|
|
44
44
|
isOptional: false;
|
|
45
45
|
};
|
|
46
46
|
externalAccountName: {
|
|
47
|
-
type:
|
|
47
|
+
type: _lssm_lib_schema40.FieldType<string, string>;
|
|
48
48
|
isOptional: true;
|
|
49
49
|
};
|
|
50
50
|
connectedAt: {
|
|
51
|
-
type:
|
|
51
|
+
type: _lssm_lib_schema40.FieldType<Date, string>;
|
|
52
52
|
isOptional: true;
|
|
53
53
|
};
|
|
54
54
|
lastHealthCheck: {
|
|
55
|
-
type:
|
|
55
|
+
type: _lssm_lib_schema40.FieldType<Date, string>;
|
|
56
56
|
isOptional: true;
|
|
57
57
|
};
|
|
58
58
|
healthStatus: {
|
|
59
|
-
type:
|
|
59
|
+
type: _lssm_lib_schema40.FieldType<string, string>;
|
|
60
60
|
isOptional: true;
|
|
61
61
|
};
|
|
62
62
|
}>, {
|
|
63
63
|
name: string;
|
|
64
64
|
version: number;
|
|
65
65
|
when: string;
|
|
66
|
-
payload:
|
|
66
|
+
payload: _lssm_lib_schema40.SchemaModel<{
|
|
67
67
|
id: {
|
|
68
|
-
type:
|
|
68
|
+
type: _lssm_lib_schema40.FieldType<string, string>;
|
|
69
69
|
isOptional: false;
|
|
70
70
|
};
|
|
71
71
|
integrationId: {
|
|
72
|
-
type:
|
|
72
|
+
type: _lssm_lib_schema40.FieldType<string, string>;
|
|
73
73
|
isOptional: false;
|
|
74
74
|
};
|
|
75
75
|
name: {
|
|
76
|
-
type:
|
|
76
|
+
type: _lssm_lib_schema40.FieldType<string, string>;
|
|
77
77
|
isOptional: false;
|
|
78
78
|
};
|
|
79
79
|
status: {
|
|
80
|
-
type:
|
|
80
|
+
type: _lssm_lib_schema40.EnumType<[string, string, string, string, string]>;
|
|
81
81
|
isOptional: false;
|
|
82
82
|
};
|
|
83
83
|
authType: {
|
|
84
|
-
type:
|
|
84
|
+
type: _lssm_lib_schema40.FieldType<string, string>;
|
|
85
85
|
isOptional: false;
|
|
86
86
|
};
|
|
87
87
|
externalAccountName: {
|
|
88
|
-
type:
|
|
88
|
+
type: _lssm_lib_schema40.FieldType<string, string>;
|
|
89
89
|
isOptional: true;
|
|
90
90
|
};
|
|
91
91
|
connectedAt: {
|
|
92
|
-
type:
|
|
92
|
+
type: _lssm_lib_schema40.FieldType<Date, string>;
|
|
93
93
|
isOptional: true;
|
|
94
94
|
};
|
|
95
95
|
lastHealthCheck: {
|
|
96
|
-
type:
|
|
96
|
+
type: _lssm_lib_schema40.FieldType<Date, string>;
|
|
97
97
|
isOptional: true;
|
|
98
98
|
};
|
|
99
99
|
healthStatus: {
|
|
100
|
-
type:
|
|
100
|
+
type: _lssm_lib_schema40.FieldType<string, string>;
|
|
101
101
|
isOptional: true;
|
|
102
102
|
};
|
|
103
103
|
}>;
|
|
@@ -1 +1,41 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import { defineCommand } from "../libs/contracts/dist/spec.js";
|
|
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,9 +1,9 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as _lssm_lib_schema65 from "@lssm/lib.schema";
|
|
2
2
|
|
|
3
3
|
//#region src/connection/connection.enum.d.ts
|
|
4
4
|
/**
|
|
5
5
|
* Connection status enum.
|
|
6
6
|
*/
|
|
7
|
-
declare const ConnectionStatusEnum:
|
|
7
|
+
declare const ConnectionStatusEnum: _lssm_lib_schema65.EnumType<[string, string, string, string, string]>;
|
|
8
8
|
//#endregion
|
|
9
9
|
export { ConnectionStatusEnum };
|
|
@@ -1 +1,17 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import { defineEnum } from "../libs/schema/dist/EnumType.js";
|
|
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 +1,50 @@
|
|
|
1
|
-
import{ConnectionModel
|
|
1
|
+
import { ConnectionModel } from "./connection.schema.js";
|
|
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,65 +1,65 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as _lssm_lib_schema89 from "@lssm/lib.schema";
|
|
2
2
|
|
|
3
3
|
//#region src/connection/connection.schema.d.ts
|
|
4
4
|
/**
|
|
5
5
|
* A connection to an external system.
|
|
6
6
|
*/
|
|
7
|
-
declare const ConnectionModel:
|
|
7
|
+
declare const ConnectionModel: _lssm_lib_schema89.SchemaModel<{
|
|
8
8
|
id: {
|
|
9
|
-
type:
|
|
9
|
+
type: _lssm_lib_schema89.FieldType<string, string>;
|
|
10
10
|
isOptional: false;
|
|
11
11
|
};
|
|
12
12
|
integrationId: {
|
|
13
|
-
type:
|
|
13
|
+
type: _lssm_lib_schema89.FieldType<string, string>;
|
|
14
14
|
isOptional: false;
|
|
15
15
|
};
|
|
16
16
|
name: {
|
|
17
|
-
type:
|
|
17
|
+
type: _lssm_lib_schema89.FieldType<string, string>;
|
|
18
18
|
isOptional: false;
|
|
19
19
|
};
|
|
20
20
|
status: {
|
|
21
|
-
type:
|
|
21
|
+
type: _lssm_lib_schema89.EnumType<[string, string, string, string, string]>;
|
|
22
22
|
isOptional: false;
|
|
23
23
|
};
|
|
24
24
|
authType: {
|
|
25
|
-
type:
|
|
25
|
+
type: _lssm_lib_schema89.FieldType<string, string>;
|
|
26
26
|
isOptional: false;
|
|
27
27
|
};
|
|
28
28
|
externalAccountName: {
|
|
29
|
-
type:
|
|
29
|
+
type: _lssm_lib_schema89.FieldType<string, string>;
|
|
30
30
|
isOptional: true;
|
|
31
31
|
};
|
|
32
32
|
connectedAt: {
|
|
33
|
-
type:
|
|
33
|
+
type: _lssm_lib_schema89.FieldType<Date, string>;
|
|
34
34
|
isOptional: true;
|
|
35
35
|
};
|
|
36
36
|
lastHealthCheck: {
|
|
37
|
-
type:
|
|
37
|
+
type: _lssm_lib_schema89.FieldType<Date, string>;
|
|
38
38
|
isOptional: true;
|
|
39
39
|
};
|
|
40
40
|
healthStatus: {
|
|
41
|
-
type:
|
|
41
|
+
type: _lssm_lib_schema89.FieldType<string, string>;
|
|
42
42
|
isOptional: true;
|
|
43
43
|
};
|
|
44
44
|
}>;
|
|
45
45
|
/**
|
|
46
46
|
* Input for creating a connection.
|
|
47
47
|
*/
|
|
48
|
-
declare const CreateConnectionInputModel:
|
|
48
|
+
declare const CreateConnectionInputModel: _lssm_lib_schema89.SchemaModel<{
|
|
49
49
|
integrationId: {
|
|
50
|
-
type:
|
|
50
|
+
type: _lssm_lib_schema89.FieldType<string, string>;
|
|
51
51
|
isOptional: false;
|
|
52
52
|
};
|
|
53
53
|
name: {
|
|
54
|
-
type:
|
|
54
|
+
type: _lssm_lib_schema89.FieldType<string, string>;
|
|
55
55
|
isOptional: false;
|
|
56
56
|
};
|
|
57
57
|
authType: {
|
|
58
|
-
type:
|
|
58
|
+
type: _lssm_lib_schema89.FieldType<string, string>;
|
|
59
59
|
isOptional: false;
|
|
60
60
|
};
|
|
61
61
|
credentials: {
|
|
62
|
-
type:
|
|
62
|
+
type: _lssm_lib_schema89.FieldType<unknown, unknown>;
|
|
63
63
|
isOptional: true;
|
|
64
64
|
};
|
|
65
65
|
}>;
|
|
@@ -1 +1,77 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import { ScalarTypeEnum } from "../libs/schema/dist/ScalarTypeEnum.js";
|
|
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 };
|
package/dist/connection/index.js
CHANGED
|
@@ -1 +1,5 @@
|
|
|
1
|
-
import{ConnectionStatusEnum
|
|
1
|
+
import { ConnectionStatusEnum } from "./connection.enum.js";
|
|
2
|
+
import { ConnectionModel, CreateConnectionInputModel } from "./connection.schema.js";
|
|
3
|
+
import { CreateConnectionContract } from "./connection.contracts.js";
|
|
4
|
+
|
|
5
|
+
export { ConnectionModel, ConnectionStatusEnum, CreateConnectionContract, CreateConnectionInputModel };
|
package/dist/docs/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./integration-hub.docblock.js";
|
|
1
|
+
import "./integration-hub.docblock.js";
|
|
@@ -1,4 +1,22 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import { registerDocBlocks } from "../libs/contracts/dist/docs/registry.js";
|
|
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
|
|
2
20
|
|
|
3
21
|
- Integration, Connection, SyncConfig, FieldMapping, SyncLog.
|
|
4
22
|
- Sync engine config lives in \`src/sync-engine\` to map remote <-> local entities.
|
|
@@ -22,7 +40,17 @@ import{a as e}from"../libs/contracts/dist/docs/registry.js";import"../libs/contr
|
|
|
22
40
|
|
|
23
41
|
- Providers remain agnostic; keep mappings declarative for safe regeneration.
|
|
24
42
|
- Feature flags can gate specific providers; metering can track sync volume.
|
|
25
|
-
`
|
|
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
|
|
26
54
|
- Gives a regenerable, provider-agnostic integration hub with explicit mappings.
|
|
27
55
|
- Prevents drift between sync configs, mappings, and event/log outputs.
|
|
28
56
|
|
|
@@ -32,7 +60,17 @@ import{a as e}from"../libs/contracts/dist/docs/registry.js";import"../libs/contr
|
|
|
32
60
|
|
|
33
61
|
## Success criteria
|
|
34
62
|
- Connections and mappings regenerate safely after spec edits.
|
|
35
|
-
- Sync events and logs provide auditability; payloads are stored and PII-scoped.`
|
|
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
|
|
36
74
|
1) Seed integrations/connections (if available) or create connector definitions.
|
|
37
75
|
2) Configure sync jobs with Jobs module; store payload archives via Files.
|
|
38
76
|
|
|
@@ -44,7 +82,21 @@ import{a as e}from"../libs/contracts/dist/docs/registry.js";import"../libs/contr
|
|
|
44
82
|
## Guardrails
|
|
45
83
|
- Keep mappings declarative; avoid hardcoded transforms.
|
|
46
84
|
- Emit events for sync lifecycle; persist logs for audit.
|
|
47
|
-
- Redact sensitive payload paths in presentations.`
|
|
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
|
|
48
100
|
- Mappings and sync states must remain declarative in spec; no hidden code transforms.
|
|
49
101
|
- Events to emit at minimum: sync.started, sync.completed, sync.failed; connection.connected/disconnected.
|
|
50
102
|
- Regeneration should not alter retry/backoff semantics without explicit spec change.
|
|
@@ -56,4 +108,8 @@ import{a as e}from"../libs/contracts/dist/docs/registry.js";import"../libs/contr
|
|
|
56
108
|
## Verification
|
|
57
109
|
- Include fixtures for mapping changes and sync retries.
|
|
58
110
|
- Validate that scheduled jobs (cron) are spec-driven; Jobs module wiring intact.
|
|
59
|
-
- Ensure Audit/Notifications receive sync lifecycle events.`
|
|
111
|
+
- Ensure Audit/Notifications receive sync lifecycle events.`
|
|
112
|
+
}
|
|
113
|
+
]);
|
|
114
|
+
|
|
115
|
+
//#endregion
|