@lssm/example.integration-hub 0.0.0-canary-20251217060834 → 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.
Files changed (152) hide show
  1. package/dist/connection/connection.contracts.d.ts +1 -1
  2. package/dist/connection/connection.contracts.js +41 -1
  3. package/dist/connection/connection.enum.d.ts +2 -2
  4. package/dist/connection/connection.enum.js +17 -1
  5. package/dist/connection/connection.presentation.js +50 -1
  6. package/dist/connection/connection.schema.js +77 -1
  7. package/dist/connection/index.js +5 -1
  8. package/dist/docs/index.js +1 -1
  9. package/dist/docs/integration-hub.docblock.js +61 -5
  10. package/dist/events.d.ts +1 -1
  11. package/dist/events.js +246 -1
  12. package/dist/example.js +50 -1
  13. package/dist/index.d.ts +0 -3
  14. package/dist/index.js +15 -1
  15. package/dist/integration/index.js +5 -1
  16. package/dist/integration/integration.contracts.d.ts +24 -24
  17. package/dist/integration/integration.contracts.js +37 -1
  18. package/dist/integration/integration.enum.js +17 -1
  19. package/dist/integration/integration.presentation.js +63 -1
  20. package/dist/integration/integration.schema.d.ts +16 -16
  21. package/dist/integration/integration.schema.js +77 -1
  22. package/dist/integration-hub.feature.js +237 -1
  23. package/dist/libs/contracts/dist/capabilities/openbanking.js +88 -0
  24. package/dist/libs/contracts/dist/client/index.js +5 -0
  25. package/dist/libs/contracts/dist/client/react/feature-render.js +2 -0
  26. package/dist/libs/contracts/dist/client/react/form-render.js +4 -0
  27. package/dist/libs/contracts/dist/client/react/index.js +4 -0
  28. package/dist/libs/contracts/dist/contract-registry/index.js +1 -0
  29. package/dist/libs/contracts/dist/contract-registry/schemas.js +60 -0
  30. package/dist/libs/contracts/dist/docs/PUBLISHING.docblock.js +16 -0
  31. package/dist/libs/contracts/dist/docs/accessibility_wcag_compliance_specs.docblock.js +16 -0
  32. package/dist/libs/contracts/dist/docs/index.js +29 -0
  33. package/dist/libs/contracts/dist/docs/presentations.js +71 -0
  34. package/dist/libs/contracts/dist/docs/registry.js +44 -0
  35. package/dist/libs/contracts/dist/docs/tech/PHASE_1_QUICKSTART.docblock.js +16 -0
  36. package/dist/libs/contracts/dist/docs/tech/PHASE_2_AI_NATIVE_OPERATIONS.docblock.js +16 -0
  37. package/dist/libs/contracts/dist/docs/tech/PHASE_3_AUTO_EVOLUTION.docblock.js +16 -0
  38. package/dist/libs/contracts/dist/docs/tech/PHASE_4_PERSONALIZATION_ENGINE.docblock.js +16 -0
  39. package/dist/libs/contracts/dist/docs/tech/PHASE_5_ZERO_TOUCH_OPERATIONS.docblock.js +16 -0
  40. package/dist/libs/contracts/dist/docs/tech/auth/better-auth-nextjs.docblock.js +80 -0
  41. package/dist/libs/contracts/dist/docs/tech/contracts/openapi-export.docblock.js +57 -0
  42. package/dist/libs/contracts/dist/docs/tech/lifecycle-stage-system.docblock.js +16 -0
  43. package/dist/libs/contracts/dist/docs/tech/llm/llm-integration.docblock.js +357 -0
  44. package/dist/libs/contracts/dist/docs/tech/mcp-endpoints.docblock.js +37 -0
  45. package/dist/libs/contracts/dist/docs/tech/presentation-runtime.docblock.js +16 -0
  46. package/dist/libs/contracts/dist/docs/tech/schema/README.docblock.js +20 -0
  47. package/dist/libs/contracts/dist/docs/tech/studio/learning-events.docblock.js +48 -0
  48. package/dist/libs/contracts/dist/docs/tech/studio/learning-journeys.docblock.js +79 -0
  49. package/dist/libs/contracts/dist/docs/tech/studio/platform-admin-panel.docblock.js +84 -0
  50. package/dist/libs/contracts/dist/docs/tech/studio/project-access-teams.docblock.js +45 -0
  51. package/dist/libs/contracts/dist/docs/tech/studio/project-routing.docblock.js +67 -0
  52. package/dist/libs/contracts/dist/docs/tech/studio/sandbox-unlogged.docblock.js +40 -0
  53. package/dist/libs/contracts/dist/docs/tech/studio/team-invitations.docblock.js +69 -0
  54. package/dist/libs/contracts/dist/docs/tech/studio/workspace-ops.docblock.js +47 -0
  55. package/dist/libs/contracts/dist/docs/tech/studio/workspaces.docblock.js +62 -0
  56. package/dist/libs/contracts/dist/docs/tech/telemetry-ingest.docblock.js +155 -0
  57. package/dist/libs/contracts/dist/docs/tech/templates/runtime.docblock.js +20 -0
  58. package/dist/libs/contracts/dist/docs/tech/vscode-extension.docblock.js +101 -0
  59. package/dist/libs/contracts/dist/docs/tech/workflows/overview.docblock.js +20 -0
  60. package/dist/libs/contracts/dist/events.js +10 -0
  61. package/dist/libs/contracts/dist/experiments/evaluator.js +1 -0
  62. package/dist/libs/contracts/dist/index.js +71 -0
  63. package/dist/libs/contracts/dist/install.js +2 -0
  64. package/dist/libs/contracts/dist/integrations/contracts.js +377 -0
  65. package/dist/libs/contracts/dist/integrations/index.js +18 -0
  66. package/dist/libs/contracts/dist/integrations/openbanking/contracts/accounts.js +228 -0
  67. package/dist/libs/contracts/dist/integrations/openbanking/contracts/balances.js +159 -0
  68. package/dist/libs/contracts/dist/integrations/openbanking/contracts/index.js +3 -0
  69. package/dist/libs/contracts/dist/integrations/openbanking/contracts/transactions.js +210 -0
  70. package/dist/libs/contracts/dist/integrations/openbanking/models.js +242 -0
  71. package/dist/libs/contracts/dist/integrations/openbanking/telemetry.js +13 -0
  72. package/dist/libs/contracts/dist/integrations/providers/elevenlabs.js +52 -0
  73. package/dist/libs/contracts/dist/integrations/providers/gcs-storage.js +75 -0
  74. package/dist/libs/contracts/dist/integrations/providers/gmail.js +87 -0
  75. package/dist/libs/contracts/dist/integrations/providers/google-calendar.js +66 -0
  76. package/dist/libs/contracts/dist/integrations/providers/index.js +11 -0
  77. package/dist/libs/contracts/dist/integrations/providers/mistral.js +68 -0
  78. package/dist/libs/contracts/dist/integrations/providers/postmark.js +68 -0
  79. package/dist/libs/contracts/dist/integrations/providers/powens.js +116 -0
  80. package/dist/libs/contracts/dist/integrations/providers/qdrant.js +73 -0
  81. package/dist/libs/contracts/dist/integrations/providers/registry.js +10 -0
  82. package/dist/libs/contracts/dist/integrations/providers/stripe.js +83 -0
  83. package/dist/libs/contracts/dist/integrations/providers/twilio-sms.js +61 -0
  84. package/dist/libs/contracts/dist/jsonschema.js +1 -0
  85. package/dist/libs/contracts/dist/knowledge/contracts.js +306 -0
  86. package/dist/libs/contracts/dist/knowledge/index.js +7 -0
  87. package/dist/libs/contracts/dist/knowledge/spaces/email-threads.js +34 -0
  88. package/dist/libs/contracts/dist/knowledge/spaces/financial-docs.js +34 -0
  89. package/dist/libs/contracts/dist/knowledge/spaces/financial-overview.js +38 -0
  90. package/dist/libs/contracts/dist/knowledge/spaces/index.js +6 -0
  91. package/dist/libs/contracts/dist/knowledge/spaces/product-canon.js +34 -0
  92. package/dist/libs/contracts/dist/knowledge/spaces/support-faq.js +37 -0
  93. package/dist/libs/contracts/dist/knowledge/spaces/uploaded-docs.js +34 -0
  94. package/dist/libs/contracts/dist/llm/exporters.js +19 -0
  95. package/dist/libs/contracts/dist/llm/index.js +2 -0
  96. package/dist/libs/contracts/dist/llm/prompts.js +1 -0
  97. package/dist/libs/contracts/dist/onboarding-base.js +196 -0
  98. package/dist/libs/contracts/dist/openapi.js +1 -0
  99. package/dist/libs/contracts/dist/ownership.js +21 -0
  100. package/dist/libs/contracts/dist/presentations.js +1 -0
  101. package/dist/libs/contracts/dist/presentations.v2.js +11 -0
  102. package/dist/libs/contracts/dist/prompt.js +1 -0
  103. package/dist/libs/contracts/dist/promptRegistry.js +1 -0
  104. package/dist/libs/contracts/dist/regenerator/index.js +1 -0
  105. package/dist/libs/contracts/dist/regenerator/service.js +6 -0
  106. package/dist/libs/contracts/dist/registry.js +2 -0
  107. package/dist/libs/contracts/dist/resources.js +1 -0
  108. package/dist/libs/contracts/dist/schema/dist/EnumType.js +2 -0
  109. package/dist/libs/contracts/dist/schema/dist/FieldType.js +49 -0
  110. package/dist/libs/contracts/dist/schema/dist/ScalarTypeEnum.js +236 -0
  111. package/dist/libs/contracts/dist/schema/dist/SchemaModel.js +34 -0
  112. package/dist/libs/contracts/dist/schema/dist/entity/defineEntity.js +1 -0
  113. package/dist/libs/contracts/dist/schema/dist/entity/index.js +2 -0
  114. package/dist/libs/contracts/dist/schema/dist/entity/types.js +1 -0
  115. package/dist/libs/contracts/dist/schema/dist/index.js +6 -0
  116. package/dist/libs/contracts/dist/server/graphql-pothos.js +6 -0
  117. package/dist/libs/contracts/dist/server/index.js +8 -0
  118. package/dist/libs/contracts/dist/server/mcp/createMcpServer.js +4 -0
  119. package/dist/libs/contracts/dist/server/mcp/registerPresentations.js +2 -0
  120. package/dist/libs/contracts/dist/server/mcp/registerPrompts.js +1 -0
  121. package/dist/libs/contracts/dist/server/mcp/registerResources.js +2 -0
  122. package/dist/libs/contracts/dist/server/mcp/registerTools.js +1 -0
  123. package/dist/libs/contracts/dist/server/provider-mcp.js +1 -0
  124. package/dist/libs/contracts/dist/server/rest-elysia.js +1 -0
  125. package/dist/libs/contracts/dist/server/rest-express.js +1 -0
  126. package/dist/libs/contracts/dist/server/rest-generic.js +1 -0
  127. package/dist/libs/contracts/dist/server/rest-next-app.js +1 -0
  128. package/dist/libs/contracts/dist/server/rest-next-pages.js +1 -0
  129. package/dist/libs/contracts/dist/spec.js +34 -0
  130. package/dist/libs/contracts/dist/telemetry/index.js +1 -0
  131. package/dist/libs/contracts/dist/telemetry/tracker.js +1 -0
  132. package/dist/libs/contracts/dist/tests/index.js +1 -0
  133. package/dist/libs/contracts/dist/tests/runner.js +2 -0
  134. package/dist/libs/contracts/dist/workflow/index.js +1 -0
  135. package/dist/libs/contracts/dist/workflow/runner.js +1 -0
  136. package/dist/libs/schema/dist/EnumType.js +56 -0
  137. package/dist/libs/schema/dist/FieldType.js +49 -0
  138. package/dist/libs/schema/dist/ScalarTypeEnum.js +236 -0
  139. package/dist/libs/schema/dist/SchemaModel.js +39 -0
  140. package/dist/libs/schema/dist/entity/defineEntity.js +1 -0
  141. package/dist/libs/schema/dist/entity/index.js +2 -0
  142. package/dist/libs/schema/dist/entity/types.js +1 -0
  143. package/dist/libs/schema/dist/index.js +6 -0
  144. package/dist/sync/index.js +5 -1
  145. package/dist/sync/sync.contracts.d.ts +125 -125
  146. package/dist/sync/sync.contracts.js +130 -1
  147. package/dist/sync/sync.enum.d.ts +4 -4
  148. package/dist/sync/sync.enum.js +35 -1
  149. package/dist/sync/sync.presentation.js +142 -1
  150. package/dist/sync/sync.schema.js +305 -1
  151. package/dist/sync-engine/index.js +146 -1
  152. package/package.json +12 -12
package/dist/index.js CHANGED
@@ -1 +1,15 @@
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
+ import { IntegrationStatusEnum } from "./integration/integration.enum.js";
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 +1,5 @@
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
+ import { IntegrationStatusEnum } from "./integration.enum.js";
2
+ import { CreateIntegrationInputModel, IntegrationModel } from "./integration.schema.js";
3
+ import { CreateIntegrationContract } from "./integration.contracts.js";
4
+
5
+ export { CreateIntegrationContract, CreateIntegrationInputModel, IntegrationModel, IntegrationStatusEnum };
@@ -1,95 +1,95 @@
1
+ import * as _lssm_lib_schema66 from "@lssm/lib.schema";
1
2
  import * as _lssm_lib_contracts9 from "@lssm/lib.contracts";
2
- import * as _lssm_lib_schema65 from "@lssm/lib.schema";
3
3
 
4
4
  //#region src/integration/integration.contracts.d.ts
5
5
  /**
6
6
  * Create a new integration.
7
7
  */
8
- declare const CreateIntegrationContract: _lssm_lib_contracts9.ContractSpec<_lssm_lib_schema65.SchemaModel<{
8
+ declare const CreateIntegrationContract: _lssm_lib_contracts9.ContractSpec<_lssm_lib_schema66.SchemaModel<{
9
9
  name: {
10
- type: _lssm_lib_schema65.FieldType<string, string>;
10
+ type: _lssm_lib_schema66.FieldType<string, string>;
11
11
  isOptional: false;
12
12
  };
13
13
  slug: {
14
- type: _lssm_lib_schema65.FieldType<string, string>;
14
+ type: _lssm_lib_schema66.FieldType<string, string>;
15
15
  isOptional: false;
16
16
  };
17
17
  description: {
18
- type: _lssm_lib_schema65.FieldType<string, string>;
18
+ type: _lssm_lib_schema66.FieldType<string, string>;
19
19
  isOptional: true;
20
20
  };
21
21
  provider: {
22
- type: _lssm_lib_schema65.FieldType<string, string>;
22
+ type: _lssm_lib_schema66.FieldType<string, string>;
23
23
  isOptional: false;
24
24
  };
25
25
  config: {
26
- type: _lssm_lib_schema65.FieldType<unknown, unknown>;
26
+ type: _lssm_lib_schema66.FieldType<unknown, unknown>;
27
27
  isOptional: true;
28
28
  };
29
29
  featureFlagKey: {
30
- type: _lssm_lib_schema65.FieldType<string, string>;
30
+ type: _lssm_lib_schema66.FieldType<string, string>;
31
31
  isOptional: true;
32
32
  };
33
- }>, _lssm_lib_schema65.SchemaModel<{
33
+ }>, _lssm_lib_schema66.SchemaModel<{
34
34
  id: {
35
- type: _lssm_lib_schema65.FieldType<string, string>;
35
+ type: _lssm_lib_schema66.FieldType<string, string>;
36
36
  isOptional: false;
37
37
  };
38
38
  name: {
39
- type: _lssm_lib_schema65.FieldType<string, string>;
39
+ type: _lssm_lib_schema66.FieldType<string, string>;
40
40
  isOptional: false;
41
41
  };
42
42
  slug: {
43
- type: _lssm_lib_schema65.FieldType<string, string>;
43
+ type: _lssm_lib_schema66.FieldType<string, string>;
44
44
  isOptional: false;
45
45
  };
46
46
  description: {
47
- type: _lssm_lib_schema65.FieldType<string, string>;
47
+ type: _lssm_lib_schema66.FieldType<string, string>;
48
48
  isOptional: true;
49
49
  };
50
50
  provider: {
51
- type: _lssm_lib_schema65.FieldType<string, string>;
51
+ type: _lssm_lib_schema66.FieldType<string, string>;
52
52
  isOptional: false;
53
53
  };
54
54
  status: {
55
- type: _lssm_lib_schema65.EnumType<[string, string, string, string, string]>;
55
+ type: _lssm_lib_schema66.EnumType<[string, string, string, string, string]>;
56
56
  isOptional: false;
57
57
  };
58
58
  createdAt: {
59
- type: _lssm_lib_schema65.FieldType<Date, string>;
59
+ type: _lssm_lib_schema66.FieldType<Date, string>;
60
60
  isOptional: false;
61
61
  };
62
62
  }>, {
63
63
  name: string;
64
64
  version: number;
65
65
  when: string;
66
- payload: _lssm_lib_schema65.SchemaModel<{
66
+ payload: _lssm_lib_schema66.SchemaModel<{
67
67
  id: {
68
- type: _lssm_lib_schema65.FieldType<string, string>;
68
+ type: _lssm_lib_schema66.FieldType<string, string>;
69
69
  isOptional: false;
70
70
  };
71
71
  name: {
72
- type: _lssm_lib_schema65.FieldType<string, string>;
72
+ type: _lssm_lib_schema66.FieldType<string, string>;
73
73
  isOptional: false;
74
74
  };
75
75
  slug: {
76
- type: _lssm_lib_schema65.FieldType<string, string>;
76
+ type: _lssm_lib_schema66.FieldType<string, string>;
77
77
  isOptional: false;
78
78
  };
79
79
  description: {
80
- type: _lssm_lib_schema65.FieldType<string, string>;
80
+ type: _lssm_lib_schema66.FieldType<string, string>;
81
81
  isOptional: true;
82
82
  };
83
83
  provider: {
84
- type: _lssm_lib_schema65.FieldType<string, string>;
84
+ type: _lssm_lib_schema66.FieldType<string, string>;
85
85
  isOptional: false;
86
86
  };
87
87
  status: {
88
- type: _lssm_lib_schema65.EnumType<[string, string, string, string, string]>;
88
+ type: _lssm_lib_schema66.EnumType<[string, string, string, string, string]>;
89
89
  isOptional: false;
90
90
  };
91
91
  createdAt: {
92
- type: _lssm_lib_schema65.FieldType<Date, string>;
92
+ type: _lssm_lib_schema66.FieldType<Date, string>;
93
93
  isOptional: false;
94
94
  };
95
95
  }>;
@@ -1 +1,37 @@
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};
1
+ import { defineCommand } from "../libs/contracts/dist/spec.js";
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 +1,17 @@
1
- import{defineEnum as e}from"@lssm/lib.schema";const t=e(`IntegrationStatus`,[`DRAFT`,`ACTIVE`,`PAUSED`,`ERROR`,`ARCHIVED`]);export{t as IntegrationStatusEnum};
1
+ import { defineEnum } from "../libs/schema/dist/EnumType.js";
2
+ import "../libs/schema/dist/index.js";
3
+
4
+ //#region src/integration/integration.enum.ts
5
+ /**
6
+ * Integration status enum.
7
+ */
8
+ const IntegrationStatusEnum = defineEnum("IntegrationStatus", [
9
+ "DRAFT",
10
+ "ACTIVE",
11
+ "PAUSED",
12
+ "ERROR",
13
+ "ARCHIVED"
14
+ ]);
15
+
16
+ //#endregion
17
+ export { IntegrationStatusEnum };
@@ -1 +1,63 @@
1
- import{IntegrationModel as e}from"./integration.schema.js";const t={meta:{name:`integration.list`,version:1,description:`List of available integrations`,domain:`integration`,owners:[`@integration-team`],tags:[`integration`,`list`]},source:{type:`component`,framework:`react`,componentKey:`IntegrationList`,props:e},targets:[`react`,`markdown`],policy:{flags:[`integration.enabled`]}},n={meta:{name:`integration.detail`,version:1,description:`Detailed view of an integration`,domain:`integration`,owners:[`@integration-team`],tags:[`integration`,`detail`]},source:{type:`component`,framework:`react`,componentKey:`IntegrationDetail`,props:e},targets:[`react`,`markdown`],policy:{flags:[`integration.enabled`]}},r={meta:{name:`integration.health`,version:1,description:`Integration health monitoring dashboard`,domain:`integration`,owners:[`@integration-team`],tags:[`integration`,`health`,`monitoring`]},source:{type:`component`,framework:`react`,componentKey:`IntegrationHealth`},targets:[`react`,`markdown`],policy:{flags:[`integration.monitoring.enabled`]}};export{n as IntegrationDetailPresentation,r as IntegrationHealthPresentation,t as IntegrationListPresentation};
1
+ import { IntegrationModel } from "./integration.schema.js";
2
+
3
+ //#region src/integration/integration.presentation.ts
4
+ const IntegrationListPresentation = {
5
+ meta: {
6
+ name: "integration.list",
7
+ version: 1,
8
+ description: "List of available integrations",
9
+ domain: "integration",
10
+ owners: ["@integration-team"],
11
+ tags: ["integration", "list"]
12
+ },
13
+ source: {
14
+ type: "component",
15
+ framework: "react",
16
+ componentKey: "IntegrationList",
17
+ props: IntegrationModel
18
+ },
19
+ targets: ["react", "markdown"],
20
+ policy: { flags: ["integration.enabled"] }
21
+ };
22
+ const IntegrationDetailPresentation = {
23
+ meta: {
24
+ name: "integration.detail",
25
+ version: 1,
26
+ description: "Detailed view of an integration",
27
+ domain: "integration",
28
+ owners: ["@integration-team"],
29
+ tags: ["integration", "detail"]
30
+ },
31
+ source: {
32
+ type: "component",
33
+ framework: "react",
34
+ componentKey: "IntegrationDetail",
35
+ props: IntegrationModel
36
+ },
37
+ targets: ["react", "markdown"],
38
+ policy: { flags: ["integration.enabled"] }
39
+ };
40
+ const IntegrationHealthPresentation = {
41
+ meta: {
42
+ name: "integration.health",
43
+ version: 1,
44
+ description: "Integration health monitoring dashboard",
45
+ domain: "integration",
46
+ owners: ["@integration-team"],
47
+ tags: [
48
+ "integration",
49
+ "health",
50
+ "monitoring"
51
+ ]
52
+ },
53
+ source: {
54
+ type: "component",
55
+ framework: "react",
56
+ componentKey: "IntegrationHealth"
57
+ },
58
+ targets: ["react", "markdown"],
59
+ policy: { flags: ["integration.monitoring.enabled"] }
60
+ };
61
+
62
+ //#endregion
63
+ export { IntegrationDetailPresentation, IntegrationHealthPresentation, IntegrationListPresentation };
@@ -1,65 +1,65 @@
1
- import * as _lssm_lib_schema105 from "@lssm/lib.schema";
1
+ import * as _lssm_lib_schema108 from "@lssm/lib.schema";
2
2
 
3
3
  //#region src/integration/integration.schema.d.ts
4
4
  /**
5
5
  * An integration with an external system.
6
6
  */
7
- declare const IntegrationModel: _lssm_lib_schema105.SchemaModel<{
7
+ declare const IntegrationModel: _lssm_lib_schema108.SchemaModel<{
8
8
  id: {
9
- type: _lssm_lib_schema105.FieldType<string, string>;
9
+ type: _lssm_lib_schema108.FieldType<string, string>;
10
10
  isOptional: false;
11
11
  };
12
12
  name: {
13
- type: _lssm_lib_schema105.FieldType<string, string>;
13
+ type: _lssm_lib_schema108.FieldType<string, string>;
14
14
  isOptional: false;
15
15
  };
16
16
  slug: {
17
- type: _lssm_lib_schema105.FieldType<string, string>;
17
+ type: _lssm_lib_schema108.FieldType<string, string>;
18
18
  isOptional: false;
19
19
  };
20
20
  description: {
21
- type: _lssm_lib_schema105.FieldType<string, string>;
21
+ type: _lssm_lib_schema108.FieldType<string, string>;
22
22
  isOptional: true;
23
23
  };
24
24
  provider: {
25
- type: _lssm_lib_schema105.FieldType<string, string>;
25
+ type: _lssm_lib_schema108.FieldType<string, string>;
26
26
  isOptional: false;
27
27
  };
28
28
  status: {
29
- type: _lssm_lib_schema105.EnumType<[string, string, string, string, string]>;
29
+ type: _lssm_lib_schema108.EnumType<[string, string, string, string, string]>;
30
30
  isOptional: false;
31
31
  };
32
32
  createdAt: {
33
- type: _lssm_lib_schema105.FieldType<Date, string>;
33
+ type: _lssm_lib_schema108.FieldType<Date, string>;
34
34
  isOptional: false;
35
35
  };
36
36
  }>;
37
37
  /**
38
38
  * Input for creating an integration.
39
39
  */
40
- declare const CreateIntegrationInputModel: _lssm_lib_schema105.SchemaModel<{
40
+ declare const CreateIntegrationInputModel: _lssm_lib_schema108.SchemaModel<{
41
41
  name: {
42
- type: _lssm_lib_schema105.FieldType<string, string>;
42
+ type: _lssm_lib_schema108.FieldType<string, string>;
43
43
  isOptional: false;
44
44
  };
45
45
  slug: {
46
- type: _lssm_lib_schema105.FieldType<string, string>;
46
+ type: _lssm_lib_schema108.FieldType<string, string>;
47
47
  isOptional: false;
48
48
  };
49
49
  description: {
50
- type: _lssm_lib_schema105.FieldType<string, string>;
50
+ type: _lssm_lib_schema108.FieldType<string, string>;
51
51
  isOptional: true;
52
52
  };
53
53
  provider: {
54
- type: _lssm_lib_schema105.FieldType<string, string>;
54
+ type: _lssm_lib_schema108.FieldType<string, string>;
55
55
  isOptional: false;
56
56
  };
57
57
  config: {
58
- type: _lssm_lib_schema105.FieldType<unknown, unknown>;
58
+ type: _lssm_lib_schema108.FieldType<unknown, unknown>;
59
59
  isOptional: true;
60
60
  };
61
61
  featureFlagKey: {
62
- type: _lssm_lib_schema105.FieldType<string, string>;
62
+ type: _lssm_lib_schema108.FieldType<string, string>;
63
63
  isOptional: true;
64
64
  };
65
65
  }>;
@@ -1 +1,77 @@
1
- import{IntegrationStatusEnum as e}from"./integration.enum.js";import{ScalarTypeEnum as t,defineSchemaModel as n}from"@lssm/lib.schema";const r=n({name:`IntegrationModel`,fields:{id:{type:t.String_unsecure(),isOptional:!1},name:{type:t.String_unsecure(),isOptional:!1},slug:{type:t.String_unsecure(),isOptional:!1},description:{type:t.String_unsecure(),isOptional:!0},provider:{type:t.String_unsecure(),isOptional:!1},status:{type:e,isOptional:!1},createdAt:{type:t.DateTime(),isOptional:!1}}}),i=n({name:`CreateIntegrationInput`,fields:{name:{type:t.NonEmptyString(),isOptional:!1},slug:{type:t.NonEmptyString(),isOptional:!1},description:{type:t.String_unsecure(),isOptional:!0},provider:{type:t.NonEmptyString(),isOptional:!1},config:{type:t.JSON(),isOptional:!0},featureFlagKey:{type:t.String_unsecure(),isOptional:!0}}});export{i as CreateIntegrationInputModel,r as IntegrationModel};
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 { IntegrationStatusEnum } from "./integration.enum.js";
5
+
6
+ //#region src/integration/integration.schema.ts
7
+ /**
8
+ * An integration with an external system.
9
+ */
10
+ const IntegrationModel = defineSchemaModel({
11
+ name: "IntegrationModel",
12
+ fields: {
13
+ id: {
14
+ type: ScalarTypeEnum.String_unsecure(),
15
+ isOptional: false
16
+ },
17
+ name: {
18
+ type: ScalarTypeEnum.String_unsecure(),
19
+ isOptional: false
20
+ },
21
+ slug: {
22
+ type: ScalarTypeEnum.String_unsecure(),
23
+ isOptional: false
24
+ },
25
+ description: {
26
+ type: ScalarTypeEnum.String_unsecure(),
27
+ isOptional: true
28
+ },
29
+ provider: {
30
+ type: ScalarTypeEnum.String_unsecure(),
31
+ isOptional: false
32
+ },
33
+ status: {
34
+ type: IntegrationStatusEnum,
35
+ isOptional: false
36
+ },
37
+ createdAt: {
38
+ type: ScalarTypeEnum.DateTime(),
39
+ isOptional: false
40
+ }
41
+ }
42
+ });
43
+ /**
44
+ * Input for creating an integration.
45
+ */
46
+ const CreateIntegrationInputModel = defineSchemaModel({
47
+ name: "CreateIntegrationInput",
48
+ fields: {
49
+ name: {
50
+ type: ScalarTypeEnum.NonEmptyString(),
51
+ isOptional: false
52
+ },
53
+ slug: {
54
+ type: ScalarTypeEnum.NonEmptyString(),
55
+ isOptional: false
56
+ },
57
+ description: {
58
+ type: ScalarTypeEnum.String_unsecure(),
59
+ isOptional: true
60
+ },
61
+ provider: {
62
+ type: ScalarTypeEnum.NonEmptyString(),
63
+ isOptional: false
64
+ },
65
+ config: {
66
+ type: ScalarTypeEnum.JSON(),
67
+ isOptional: true
68
+ },
69
+ featureFlagKey: {
70
+ type: ScalarTypeEnum.String_unsecure(),
71
+ isOptional: true
72
+ }
73
+ }
74
+ });
75
+
76
+ //#endregion
77
+ export { CreateIntegrationInputModel, IntegrationModel };
@@ -1 +1,237 @@
1
- const e={meta:{key:`integration-hub`,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:[{name:`integration.create`,version:1},{name:`integration.connection.create`,version:1},{name:`integration.syncConfig.create`,version:1},{name:`integration.fieldMapping.add`,version:1},{name:`integration.sync.trigger`,version:1},{name:`integration.syncRun.list`,version:1}],events:[{name:`integration.created`,version:1},{name:`integration.connection.created`,version:1},{name:`integration.connection.statusChanged`,version:1},{name:`integration.syncConfig.created`,version:1},{name:`integration.sync.started`,version:1},{name:`integration.sync.completed`,version:1},{name:`integration.sync.failed`,version:1},{name:`integration.record.synced`,version:1},{name:`integration.fieldMapping.added`,version:1}],presentations:[{name:`integration.list`,version:1},{name:`integration.detail`,version:1},{name:`integration.connection.list`,version:1},{name:`integration.connection.setup`,version:1},{name:`integration.syncConfig.list`,version:1},{name:`integration.syncConfig.editor`,version:1},{name:`integration.fieldMapping.editor`,version:1},{name:`integration.syncRun.list`,version:1},{name:`integration.syncRun.detail`,version:1},{name:`integration.health`,version:1},{name:`integration.sync.activity`,version:1}],opToPresentation:[{op:{name:`integration.syncConfig.create`,version:1},pres:{name:`integration.syncConfig.editor`,version:1}},{op:{name:`integration.fieldMapping.add`,version:1},pres:{name:`integration.fieldMapping.editor`,version:1}},{op:{name:`integration.syncRun.list`,version:1},pres:{name:`integration.syncRun.list`,version:1}}],presentationsTargets:[{name:`integration.list`,version:1,targets:[`react`,`markdown`]},{name:`integration.detail`,version:1,targets:[`react`,`markdown`]},{name:`integration.syncConfig.list`,version:1,targets:[`react`,`markdown`]},{name:`integration.syncConfig.editor`,version:1,targets:[`react`]},{name:`integration.fieldMapping.editor`,version:1,targets:[`react`]},{name:`integration.syncRun.list`,version:1,targets:[`react`,`markdown`]},{name:`integration.syncRun.detail`,version:1,targets:[`react`,`markdown`]}],capabilities:{requires:[{key:`identity`,version:1},{key:`audit-trail`,version:1},{key:`feature-flags`,version:1},{key:`jobs`,version:1},{key:`files`,version:1}],provides:[{key:`integration`,version:1},{key:`sync`,version:1},{key:`etl`,version:1}]}};export{e as IntegrationHubFeature};
1
+ //#region src/integration-hub.feature.ts
2
+ const IntegrationHubFeature = {
3
+ meta: {
4
+ key: "integration-hub",
5
+ title: "Integration Hub",
6
+ description: "Connect and sync data with external systems through configurable integrations",
7
+ domain: "integration",
8
+ owners: ["@integration-team"],
9
+ tags: [
10
+ "integration",
11
+ "sync",
12
+ "etl",
13
+ "connectors"
14
+ ],
15
+ stability: "experimental"
16
+ },
17
+ operations: [
18
+ {
19
+ name: "integration.create",
20
+ version: 1
21
+ },
22
+ {
23
+ name: "integration.connection.create",
24
+ version: 1
25
+ },
26
+ {
27
+ name: "integration.syncConfig.create",
28
+ version: 1
29
+ },
30
+ {
31
+ name: "integration.fieldMapping.add",
32
+ version: 1
33
+ },
34
+ {
35
+ name: "integration.sync.trigger",
36
+ version: 1
37
+ },
38
+ {
39
+ name: "integration.syncRun.list",
40
+ version: 1
41
+ }
42
+ ],
43
+ events: [
44
+ {
45
+ name: "integration.created",
46
+ version: 1
47
+ },
48
+ {
49
+ name: "integration.connection.created",
50
+ version: 1
51
+ },
52
+ {
53
+ name: "integration.connection.statusChanged",
54
+ version: 1
55
+ },
56
+ {
57
+ name: "integration.syncConfig.created",
58
+ version: 1
59
+ },
60
+ {
61
+ name: "integration.sync.started",
62
+ version: 1
63
+ },
64
+ {
65
+ name: "integration.sync.completed",
66
+ version: 1
67
+ },
68
+ {
69
+ name: "integration.sync.failed",
70
+ version: 1
71
+ },
72
+ {
73
+ name: "integration.record.synced",
74
+ version: 1
75
+ },
76
+ {
77
+ name: "integration.fieldMapping.added",
78
+ version: 1
79
+ }
80
+ ],
81
+ presentations: [
82
+ {
83
+ name: "integration.list",
84
+ version: 1
85
+ },
86
+ {
87
+ name: "integration.detail",
88
+ version: 1
89
+ },
90
+ {
91
+ name: "integration.connection.list",
92
+ version: 1
93
+ },
94
+ {
95
+ name: "integration.connection.setup",
96
+ version: 1
97
+ },
98
+ {
99
+ name: "integration.syncConfig.list",
100
+ version: 1
101
+ },
102
+ {
103
+ name: "integration.syncConfig.editor",
104
+ version: 1
105
+ },
106
+ {
107
+ name: "integration.fieldMapping.editor",
108
+ version: 1
109
+ },
110
+ {
111
+ name: "integration.syncRun.list",
112
+ version: 1
113
+ },
114
+ {
115
+ name: "integration.syncRun.detail",
116
+ version: 1
117
+ },
118
+ {
119
+ name: "integration.health",
120
+ version: 1
121
+ },
122
+ {
123
+ name: "integration.sync.activity",
124
+ version: 1
125
+ }
126
+ ],
127
+ opToPresentation: [
128
+ {
129
+ op: {
130
+ name: "integration.syncConfig.create",
131
+ version: 1
132
+ },
133
+ pres: {
134
+ name: "integration.syncConfig.editor",
135
+ version: 1
136
+ }
137
+ },
138
+ {
139
+ op: {
140
+ name: "integration.fieldMapping.add",
141
+ version: 1
142
+ },
143
+ pres: {
144
+ name: "integration.fieldMapping.editor",
145
+ version: 1
146
+ }
147
+ },
148
+ {
149
+ op: {
150
+ name: "integration.syncRun.list",
151
+ version: 1
152
+ },
153
+ pres: {
154
+ name: "integration.syncRun.list",
155
+ version: 1
156
+ }
157
+ }
158
+ ],
159
+ presentationsTargets: [
160
+ {
161
+ name: "integration.list",
162
+ version: 1,
163
+ targets: ["react", "markdown"]
164
+ },
165
+ {
166
+ name: "integration.detail",
167
+ version: 1,
168
+ targets: ["react", "markdown"]
169
+ },
170
+ {
171
+ name: "integration.syncConfig.list",
172
+ version: 1,
173
+ targets: ["react", "markdown"]
174
+ },
175
+ {
176
+ name: "integration.syncConfig.editor",
177
+ version: 1,
178
+ targets: ["react"]
179
+ },
180
+ {
181
+ name: "integration.fieldMapping.editor",
182
+ version: 1,
183
+ targets: ["react"]
184
+ },
185
+ {
186
+ name: "integration.syncRun.list",
187
+ version: 1,
188
+ targets: ["react", "markdown"]
189
+ },
190
+ {
191
+ name: "integration.syncRun.detail",
192
+ version: 1,
193
+ targets: ["react", "markdown"]
194
+ }
195
+ ],
196
+ capabilities: {
197
+ requires: [
198
+ {
199
+ key: "identity",
200
+ version: 1
201
+ },
202
+ {
203
+ key: "audit-trail",
204
+ version: 1
205
+ },
206
+ {
207
+ key: "feature-flags",
208
+ version: 1
209
+ },
210
+ {
211
+ key: "jobs",
212
+ version: 1
213
+ },
214
+ {
215
+ key: "files",
216
+ version: 1
217
+ }
218
+ ],
219
+ provides: [
220
+ {
221
+ key: "integration",
222
+ version: 1
223
+ },
224
+ {
225
+ key: "sync",
226
+ version: 1
227
+ },
228
+ {
229
+ key: "etl",
230
+ version: 1
231
+ }
232
+ ]
233
+ }
234
+ };
235
+
236
+ //#endregion
237
+ export { IntegrationHubFeature };