@lssm/example.integration-hub 0.0.0-canary-20251222120211 → 0.0.0-canary-20251223012036

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 (215) hide show
  1. package/dist/connection/connection.enum.d.ts +2 -2
  2. package/dist/connection/connection.enum.js +2 -2
  3. package/dist/connection/connection.enum.js.map +1 -1
  4. package/dist/connection/connection.operation.d.ts +1 -1
  5. package/dist/connection/connection.operation.js +1 -2
  6. package/dist/connection/connection.operation.js.map +1 -1
  7. package/dist/connection/connection.schema.d.ts +16 -16
  8. package/dist/connection/connection.schema.js +15 -15
  9. package/dist/connection/connection.schema.js.map +1 -1
  10. package/dist/docs/integration-hub.docblock.js +1 -2
  11. package/dist/docs/integration-hub.docblock.js.map +1 -1
  12. package/dist/events.d.ts +1 -1
  13. package/dist/events.js +43 -44
  14. package/dist/events.js.map +1 -1
  15. package/dist/index.d.ts +3 -0
  16. package/dist/integration/integration.contracts.d.ts +24 -24
  17. package/dist/integration/integration.contracts.js +1 -2
  18. package/dist/integration/integration.contracts.js.map +1 -1
  19. package/dist/integration/integration.enum.d.ts +2 -2
  20. package/dist/integration/integration.enum.d.ts.map +1 -1
  21. package/dist/integration/integration.enum.js +2 -2
  22. package/dist/integration/integration.enum.js.map +1 -1
  23. package/dist/integration/integration.schema.js +15 -15
  24. package/dist/integration/integration.schema.js.map +1 -1
  25. package/dist/sync/sync.contracts.d.ts +125 -125
  26. package/dist/sync/sync.contracts.js +1 -2
  27. package/dist/sync/sync.contracts.js.map +1 -1
  28. package/dist/sync/sync.enum.d.ts +4 -4
  29. package/dist/sync/sync.enum.js +4 -4
  30. package/dist/sync/sync.enum.js.map +1 -1
  31. package/dist/sync/sync.schema.js +56 -56
  32. package/dist/sync/sync.schema.js.map +1 -1
  33. package/package.json +13 -13
  34. package/dist/libs/contracts/dist/_virtual/rolldown_runtime.js +0 -6
  35. package/dist/libs/contracts/dist/_virtual/rolldown_runtime.js.map +0 -1
  36. package/dist/libs/contracts/dist/capabilities/index.js +0 -1
  37. package/dist/libs/contracts/dist/capabilities/openbanking.js +0 -89
  38. package/dist/libs/contracts/dist/capabilities/openbanking.js.map +0 -1
  39. package/dist/libs/contracts/dist/client/index.js +0 -5
  40. package/dist/libs/contracts/dist/client/react/feature-render.js +0 -3
  41. package/dist/libs/contracts/dist/client/react/form-render.js +0 -5
  42. package/dist/libs/contracts/dist/client/react/index.js +0 -4
  43. package/dist/libs/contracts/dist/contract-registry/index.js +0 -1
  44. package/dist/libs/contracts/dist/contract-registry/schemas.js +0 -61
  45. package/dist/libs/contracts/dist/contract-registry/schemas.js.map +0 -1
  46. package/dist/libs/contracts/dist/data-views/data-views.js +0 -7
  47. package/dist/libs/contracts/dist/data-views/data-views.js.map +0 -1
  48. package/dist/libs/contracts/dist/docs/accessibility_wcag_compliance_specs.docblock.js +0 -17
  49. package/dist/libs/contracts/dist/docs/accessibility_wcag_compliance_specs.docblock.js.map +0 -1
  50. package/dist/libs/contracts/dist/docs/index.js +0 -25
  51. package/dist/libs/contracts/dist/docs/meta.docs.js +0 -30
  52. package/dist/libs/contracts/dist/docs/meta.docs.js.map +0 -1
  53. package/dist/libs/contracts/dist/docs/presentations.js +0 -72
  54. package/dist/libs/contracts/dist/docs/presentations.js.map +0 -1
  55. package/dist/libs/contracts/dist/docs/registry.js +0 -45
  56. package/dist/libs/contracts/dist/docs/registry.js.map +0 -1
  57. package/dist/libs/contracts/dist/docs/tech/auth/better-auth-nextjs.docblock.js +0 -81
  58. package/dist/libs/contracts/dist/docs/tech/auth/better-auth-nextjs.docblock.js.map +0 -1
  59. package/dist/libs/contracts/dist/docs/tech/contracts/openapi-export.docblock.js +0 -58
  60. package/dist/libs/contracts/dist/docs/tech/contracts/openapi-export.docblock.js.map +0 -1
  61. package/dist/libs/contracts/dist/docs/tech/lifecycle-stage-system.docblock.js +0 -17
  62. package/dist/libs/contracts/dist/docs/tech/lifecycle-stage-system.docblock.js.map +0 -1
  63. package/dist/libs/contracts/dist/docs/tech/llm/llm-integration.docblock.js +0 -358
  64. package/dist/libs/contracts/dist/docs/tech/llm/llm-integration.docblock.js.map +0 -1
  65. package/dist/libs/contracts/dist/docs/tech/mcp-endpoints.docblock.js +0 -38
  66. package/dist/libs/contracts/dist/docs/tech/mcp-endpoints.docblock.js.map +0 -1
  67. package/dist/libs/contracts/dist/docs/tech/presentation-runtime.docblock.js +0 -17
  68. package/dist/libs/contracts/dist/docs/tech/presentation-runtime.docblock.js.map +0 -1
  69. package/dist/libs/contracts/dist/docs/tech/schema/README.docblock.js +0 -21
  70. package/dist/libs/contracts/dist/docs/tech/schema/README.docblock.js.map +0 -1
  71. package/dist/libs/contracts/dist/docs/tech/studio/learning-events.docblock.js +0 -49
  72. package/dist/libs/contracts/dist/docs/tech/studio/learning-events.docblock.js.map +0 -1
  73. package/dist/libs/contracts/dist/docs/tech/studio/learning-journeys.docblock.js +0 -80
  74. package/dist/libs/contracts/dist/docs/tech/studio/learning-journeys.docblock.js.map +0 -1
  75. package/dist/libs/contracts/dist/docs/tech/studio/platform-admin-panel.docblock.js +0 -85
  76. package/dist/libs/contracts/dist/docs/tech/studio/platform-admin-panel.docblock.js.map +0 -1
  77. package/dist/libs/contracts/dist/docs/tech/studio/project-access-teams.docblock.js +0 -46
  78. package/dist/libs/contracts/dist/docs/tech/studio/project-access-teams.docblock.js.map +0 -1
  79. package/dist/libs/contracts/dist/docs/tech/studio/project-routing.docblock.js +0 -68
  80. package/dist/libs/contracts/dist/docs/tech/studio/project-routing.docblock.js.map +0 -1
  81. package/dist/libs/contracts/dist/docs/tech/studio/sandbox-unlogged.docblock.js +0 -41
  82. package/dist/libs/contracts/dist/docs/tech/studio/sandbox-unlogged.docblock.js.map +0 -1
  83. package/dist/libs/contracts/dist/docs/tech/studio/team-invitations.docblock.js +0 -70
  84. package/dist/libs/contracts/dist/docs/tech/studio/team-invitations.docblock.js.map +0 -1
  85. package/dist/libs/contracts/dist/docs/tech/studio/workspace-ops.docblock.js +0 -48
  86. package/dist/libs/contracts/dist/docs/tech/studio/workspace-ops.docblock.js.map +0 -1
  87. package/dist/libs/contracts/dist/docs/tech/studio/workspaces.docblock.js +0 -63
  88. package/dist/libs/contracts/dist/docs/tech/studio/workspaces.docblock.js.map +0 -1
  89. package/dist/libs/contracts/dist/docs/tech/telemetry-ingest.docblock.js +0 -156
  90. package/dist/libs/contracts/dist/docs/tech/telemetry-ingest.docblock.js.map +0 -1
  91. package/dist/libs/contracts/dist/docs/tech/templates/runtime.docblock.js +0 -21
  92. package/dist/libs/contracts/dist/docs/tech/templates/runtime.docblock.js.map +0 -1
  93. package/dist/libs/contracts/dist/docs/tech/vscode-extension.docblock.js +0 -102
  94. package/dist/libs/contracts/dist/docs/tech/vscode-extension.docblock.js.map +0 -1
  95. package/dist/libs/contracts/dist/docs/tech/workflows/overview.docblock.js +0 -21
  96. package/dist/libs/contracts/dist/docs/tech/workflows/overview.docblock.js.map +0 -1
  97. package/dist/libs/contracts/dist/docs/tech-contracts.docs.js +0 -97
  98. package/dist/libs/contracts/dist/docs/tech-contracts.docs.js.map +0 -1
  99. package/dist/libs/contracts/dist/events.js +0 -11
  100. package/dist/libs/contracts/dist/events.js.map +0 -1
  101. package/dist/libs/contracts/dist/experiments/evaluator.js +0 -1
  102. package/dist/libs/contracts/dist/features.js +0 -7
  103. package/dist/libs/contracts/dist/features.js.map +0 -1
  104. package/dist/libs/contracts/dist/forms/forms.js +0 -1
  105. package/dist/libs/contracts/dist/index.js +0 -88
  106. package/dist/libs/contracts/dist/index.js.map +0 -1
  107. package/dist/libs/contracts/dist/install.js +0 -2
  108. package/dist/libs/contracts/dist/integrations/index.js +0 -18
  109. package/dist/libs/contracts/dist/integrations/openbanking/contracts/accounts.js +0 -228
  110. package/dist/libs/contracts/dist/integrations/openbanking/contracts/accounts.js.map +0 -1
  111. package/dist/libs/contracts/dist/integrations/openbanking/contracts/balances.js +0 -159
  112. package/dist/libs/contracts/dist/integrations/openbanking/contracts/balances.js.map +0 -1
  113. package/dist/libs/contracts/dist/integrations/openbanking/contracts/index.js +0 -3
  114. package/dist/libs/contracts/dist/integrations/openbanking/contracts/transactions.js +0 -210
  115. package/dist/libs/contracts/dist/integrations/openbanking/contracts/transactions.js.map +0 -1
  116. package/dist/libs/contracts/dist/integrations/openbanking/models.js +0 -241
  117. package/dist/libs/contracts/dist/integrations/openbanking/models.js.map +0 -1
  118. package/dist/libs/contracts/dist/integrations/openbanking/telemetry.js +0 -14
  119. package/dist/libs/contracts/dist/integrations/openbanking/telemetry.js.map +0 -1
  120. package/dist/libs/contracts/dist/integrations/operations.js +0 -377
  121. package/dist/libs/contracts/dist/integrations/operations.js.map +0 -1
  122. package/dist/libs/contracts/dist/integrations/providers/elevenlabs.js +0 -53
  123. package/dist/libs/contracts/dist/integrations/providers/elevenlabs.js.map +0 -1
  124. package/dist/libs/contracts/dist/integrations/providers/gcs-storage.js +0 -76
  125. package/dist/libs/contracts/dist/integrations/providers/gcs-storage.js.map +0 -1
  126. package/dist/libs/contracts/dist/integrations/providers/gmail.js +0 -88
  127. package/dist/libs/contracts/dist/integrations/providers/gmail.js.map +0 -1
  128. package/dist/libs/contracts/dist/integrations/providers/google-calendar.js +0 -67
  129. package/dist/libs/contracts/dist/integrations/providers/google-calendar.js.map +0 -1
  130. package/dist/libs/contracts/dist/integrations/providers/index.js +0 -11
  131. package/dist/libs/contracts/dist/integrations/providers/mistral.js +0 -69
  132. package/dist/libs/contracts/dist/integrations/providers/mistral.js.map +0 -1
  133. package/dist/libs/contracts/dist/integrations/providers/postmark.js +0 -69
  134. package/dist/libs/contracts/dist/integrations/providers/postmark.js.map +0 -1
  135. package/dist/libs/contracts/dist/integrations/providers/powens.js +0 -117
  136. package/dist/libs/contracts/dist/integrations/providers/powens.js.map +0 -1
  137. package/dist/libs/contracts/dist/integrations/providers/qdrant.js +0 -74
  138. package/dist/libs/contracts/dist/integrations/providers/qdrant.js.map +0 -1
  139. package/dist/libs/contracts/dist/integrations/providers/registry.js +0 -10
  140. package/dist/libs/contracts/dist/integrations/providers/stripe.js +0 -84
  141. package/dist/libs/contracts/dist/integrations/providers/stripe.js.map +0 -1
  142. package/dist/libs/contracts/dist/integrations/providers/twilio-sms.js +0 -62
  143. package/dist/libs/contracts/dist/integrations/providers/twilio-sms.js.map +0 -1
  144. package/dist/libs/contracts/dist/jsonschema.js +0 -1
  145. package/dist/libs/contracts/dist/knowledge/index.js +0 -7
  146. package/dist/libs/contracts/dist/knowledge/operations.js +0 -306
  147. package/dist/libs/contracts/dist/knowledge/operations.js.map +0 -1
  148. package/dist/libs/contracts/dist/knowledge/spaces/email-threads.js +0 -35
  149. package/dist/libs/contracts/dist/knowledge/spaces/email-threads.js.map +0 -1
  150. package/dist/libs/contracts/dist/knowledge/spaces/financial-docs.js +0 -35
  151. package/dist/libs/contracts/dist/knowledge/spaces/financial-docs.js.map +0 -1
  152. package/dist/libs/contracts/dist/knowledge/spaces/financial-overview.js +0 -39
  153. package/dist/libs/contracts/dist/knowledge/spaces/financial-overview.js.map +0 -1
  154. package/dist/libs/contracts/dist/knowledge/spaces/index.js +0 -6
  155. package/dist/libs/contracts/dist/knowledge/spaces/product-canon.js +0 -35
  156. package/dist/libs/contracts/dist/knowledge/spaces/product-canon.js.map +0 -1
  157. package/dist/libs/contracts/dist/knowledge/spaces/support-faq.js +0 -38
  158. package/dist/libs/contracts/dist/knowledge/spaces/support-faq.js.map +0 -1
  159. package/dist/libs/contracts/dist/knowledge/spaces/uploaded-docs.js +0 -35
  160. package/dist/libs/contracts/dist/knowledge/spaces/uploaded-docs.js.map +0 -1
  161. package/dist/libs/contracts/dist/llm/exporters.js +0 -21
  162. package/dist/libs/contracts/dist/llm/exporters.js.map +0 -1
  163. package/dist/libs/contracts/dist/llm/index.js +0 -2
  164. package/dist/libs/contracts/dist/llm/prompts.js +0 -1
  165. package/dist/libs/contracts/dist/onboarding-base.js +0 -196
  166. package/dist/libs/contracts/dist/onboarding-base.js.map +0 -1
  167. package/dist/libs/contracts/dist/openapi.js +0 -1
  168. package/dist/libs/contracts/dist/operations/index.js +0 -2
  169. package/dist/libs/contracts/dist/operations/operation.js +0 -35
  170. package/dist/libs/contracts/dist/operations/operation.js.map +0 -1
  171. package/dist/libs/contracts/dist/operations/registry.js +0 -8
  172. package/dist/libs/contracts/dist/operations/registry.js.map +0 -1
  173. package/dist/libs/contracts/dist/ownership.js +0 -24
  174. package/dist/libs/contracts/dist/ownership.js.map +0 -1
  175. package/dist/libs/contracts/dist/presentations/index.js +0 -2
  176. package/dist/libs/contracts/dist/presentations/presentations.js +0 -8
  177. package/dist/libs/contracts/dist/presentations/presentations.js.map +0 -1
  178. package/dist/libs/contracts/dist/presentations/transform-engine.js +0 -12
  179. package/dist/libs/contracts/dist/presentations/transform-engine.js.map +0 -1
  180. package/dist/libs/contracts/dist/prompt.js +0 -1
  181. package/dist/libs/contracts/dist/promptRegistry.js +0 -1
  182. package/dist/libs/contracts/dist/regenerator/index.js +0 -1
  183. package/dist/libs/contracts/dist/regenerator/service.js +0 -7
  184. package/dist/libs/contracts/dist/regenerator/service.js.map +0 -1
  185. package/dist/libs/contracts/dist/registry-utils.js +0 -24
  186. package/dist/libs/contracts/dist/registry-utils.js.map +0 -1
  187. package/dist/libs/contracts/dist/resources.js +0 -1
  188. package/dist/libs/contracts/dist/schema/dist/index.js +0 -3873
  189. package/dist/libs/contracts/dist/schema/dist/index.js.map +0 -1
  190. package/dist/libs/contracts/dist/server/graphql-pothos.js +0 -6
  191. package/dist/libs/contracts/dist/server/index.js +0 -8
  192. package/dist/libs/contracts/dist/server/mcp/createMcpServer.js +0 -4
  193. package/dist/libs/contracts/dist/server/mcp/registerPresentations.js +0 -3
  194. package/dist/libs/contracts/dist/server/mcp/registerPrompts.js +0 -1
  195. package/dist/libs/contracts/dist/server/mcp/registerResources.js +0 -2
  196. package/dist/libs/contracts/dist/server/mcp/registerTools.js +0 -1
  197. package/dist/libs/contracts/dist/server/provider-mcp.js +0 -1
  198. package/dist/libs/contracts/dist/server/rest-elysia.js +0 -1
  199. package/dist/libs/contracts/dist/server/rest-express.js +0 -1
  200. package/dist/libs/contracts/dist/server/rest-generic.js +0 -1
  201. package/dist/libs/contracts/dist/server/rest-next-app.js +0 -1
  202. package/dist/libs/contracts/dist/server/rest-next-pages.js +0 -1
  203. package/dist/libs/contracts/dist/telemetry/index.js +0 -1
  204. package/dist/libs/contracts/dist/telemetry/tracker.js +0 -1
  205. package/dist/libs/contracts/dist/tests/index.js +0 -1
  206. package/dist/libs/contracts/dist/tests/runner.js +0 -2
  207. package/dist/libs/contracts/dist/workflow/index.js +0 -2
  208. package/dist/libs/contracts/dist/workflow/runner.js +0 -1
  209. package/dist/libs/contracts/dist/workflow/spec.js +0 -7
  210. package/dist/libs/contracts/dist/workflow/spec.js.map +0 -1
  211. package/dist/libs/contracts/dist/workspace-config/contractsrc-schema.js +0 -164
  212. package/dist/libs/contracts/dist/workspace-config/contractsrc-schema.js.map +0 -1
  213. package/dist/libs/contracts/dist/workspace-config/index.js +0 -1
  214. package/dist/libs/schema/dist/index.js +0 -4717
  215. package/dist/libs/schema/dist/index.js.map +0 -1
@@ -1,10 +1,10 @@
1
- import * as _lssm_lib_schema80 from "@lssm/lib.schema";
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: _lssm_lib_schema80.EnumType<[string, string, string, string, string]>;
7
+ declare const ConnectionStatusEnum: _lssm_lib_schema65.EnumType<[string, string, string, string, string]>;
8
8
  //#endregion
9
9
  export { ConnectionStatusEnum };
10
10
  //# sourceMappingURL=connection.enum.d.ts.map
@@ -1,10 +1,10 @@
1
- import { N5 } from "../libs/schema/dist/index.js";
1
+ import { defineEnum } from "@lssm/lib.schema";
2
2
 
3
3
  //#region src/connection/connection.enum.ts
4
4
  /**
5
5
  * Connection status enum.
6
6
  */
7
- const ConnectionStatusEnum = N5("ConnectionStatus", [
7
+ const ConnectionStatusEnum = defineEnum("ConnectionStatus", [
8
8
  "PENDING",
9
9
  "CONNECTED",
10
10
  "DISCONNECTED",
@@ -1 +1 @@
1
- {"version":3,"file":"connection.enum.js","names":["defineEnum"],"sources":["../../src/connection/connection.enum.ts"],"sourcesContent":["import { defineEnum } from '@lssm/lib.schema';\n\n/**\n * Connection status enum.\n */\nexport const ConnectionStatusEnum = defineEnum('ConnectionStatus', [\n 'PENDING',\n 'CONNECTED',\n 'DISCONNECTED',\n 'ERROR',\n 'EXPIRED',\n]);\n"],"mappings":";;;;;;AAKA,MAAa,uBAAuBA,GAAW,oBAAoB;CACjE;CACA;CACA;CACA;CACA;CACD,CAAC"}
1
+ {"version":3,"file":"connection.enum.js","names":[],"sources":["../../src/connection/connection.enum.ts"],"sourcesContent":["import { defineEnum } from '@lssm/lib.schema';\n\n/**\n * Connection status enum.\n */\nexport const ConnectionStatusEnum = defineEnum('ConnectionStatus', [\n 'PENDING',\n 'CONNECTED',\n 'DISCONNECTED',\n 'ERROR',\n 'EXPIRED',\n]);\n"],"mappings":";;;;;;AAKA,MAAa,uBAAuB,WAAW,oBAAoB;CACjE;CACA;CACA;CACA;CACA;CACD,CAAC"}
@@ -1,5 +1,5 @@
1
- import * as _lssm_lib_schema40 from "@lssm/lib.schema";
2
1
  import * as _lssm_lib_contracts8 from "@lssm/lib.contracts";
2
+ import * as _lssm_lib_schema40 from "@lssm/lib.schema";
3
3
 
4
4
  //#region src/connection/connection.operation.d.ts
5
5
  /**
@@ -1,6 +1,5 @@
1
- import { defineCommand } from "../libs/contracts/dist/operations/operation.js";
2
- import "../libs/contracts/dist/operations/index.js";
3
1
  import { ConnectionModel, CreateConnectionInputModel } from "./connection.schema.js";
2
+ import { defineCommand } from "@lssm/lib.contracts/operations";
4
3
 
5
4
  //#region src/connection/connection.operation.ts
6
5
  const OWNERS = ["@example.integration-hub"];
@@ -1 +1 @@
1
- {"version":3,"file":"connection.operation.js","names":[],"sources":["../../src/connection/connection.operation.ts"],"sourcesContent":["import { defineCommand } from '@lssm/lib.contracts/operations';\nimport {\n ConnectionModel,\n CreateConnectionInputModel,\n} from './connection.schema';\n\nconst OWNERS = ['@example.integration-hub'] as const;\n\n/**\n * Create a connection to an external system.\n */\nexport const CreateConnectionContract = defineCommand({\n meta: {\n name: 'integration.connection.create',\n version: 1,\n stability: 'stable',\n owners: [...OWNERS],\n tags: ['integration', 'connection', 'create'],\n description: 'Create a connection to an external system.',\n goal: 'Authenticate with external systems.',\n context: 'Connection setup.',\n },\n io: { input: CreateConnectionInputModel, output: ConnectionModel },\n policy: { auth: 'user' },\n sideEffects: {\n emits: [\n {\n name: 'integration.connection.created',\n version: 1,\n when: 'Connection created',\n payload: ConnectionModel,\n },\n ],\n audit: ['integration.connection.created'],\n },\n});\n"],"mappings":";;;;;AAMA,MAAM,SAAS,CAAC,2BAA2B;;;;AAK3C,MAAa,2BAA2B,cAAc;CACpD,MAAM;EACJ,MAAM;EACN,SAAS;EACT,WAAW;EACX,QAAQ,CAAC,GAAG,OAAO;EACnB,MAAM;GAAC;GAAe;GAAc;GAAS;EAC7C,aAAa;EACb,MAAM;EACN,SAAS;EACV;CACD,IAAI;EAAE,OAAO;EAA4B,QAAQ;EAAiB;CAClE,QAAQ,EAAE,MAAM,QAAQ;CACxB,aAAa;EACX,OAAO,CACL;GACE,MAAM;GACN,SAAS;GACT,MAAM;GACN,SAAS;GACV,CACF;EACD,OAAO,CAAC,iCAAiC;EAC1C;CACF,CAAC"}
1
+ {"version":3,"file":"connection.operation.js","names":[],"sources":["../../src/connection/connection.operation.ts"],"sourcesContent":["import { defineCommand } from '@lssm/lib.contracts/operations';\nimport {\n ConnectionModel,\n CreateConnectionInputModel,\n} from './connection.schema';\n\nconst OWNERS = ['@example.integration-hub'] as const;\n\n/**\n * Create a connection to an external system.\n */\nexport const CreateConnectionContract = defineCommand({\n meta: {\n name: 'integration.connection.create',\n version: 1,\n stability: 'stable',\n owners: [...OWNERS],\n tags: ['integration', 'connection', 'create'],\n description: 'Create a connection to an external system.',\n goal: 'Authenticate with external systems.',\n context: 'Connection setup.',\n },\n io: { input: CreateConnectionInputModel, output: ConnectionModel },\n policy: { auth: 'user' },\n sideEffects: {\n emits: [\n {\n name: 'integration.connection.created',\n version: 1,\n when: 'Connection created',\n payload: ConnectionModel,\n },\n ],\n audit: ['integration.connection.created'],\n },\n});\n"],"mappings":";;;;AAMA,MAAM,SAAS,CAAC,2BAA2B;;;;AAK3C,MAAa,2BAA2B,cAAc;CACpD,MAAM;EACJ,MAAM;EACN,SAAS;EACT,WAAW;EACX,QAAQ,CAAC,GAAG,OAAO;EACnB,MAAM;GAAC;GAAe;GAAc;GAAS;EAC7C,aAAa;EACb,MAAM;EACN,SAAS;EACV;CACD,IAAI;EAAE,OAAO;EAA4B,QAAQ;EAAiB;CAClE,QAAQ,EAAE,MAAM,QAAQ;CACxB,aAAa;EACX,OAAO,CACL;GACE,MAAM;GACN,SAAS;GACT,MAAM;GACN,SAAS;GACV,CACF;EACD,OAAO,CAAC,iCAAiC;EAC1C;CACF,CAAC"}
@@ -1,65 +1,65 @@
1
- import * as _lssm_lib_schema65 from "@lssm/lib.schema";
1
+ import * as _lssm_lib_schema66 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: _lssm_lib_schema65.SchemaModel<{
7
+ declare const ConnectionModel: _lssm_lib_schema66.SchemaModel<{
8
8
  id: {
9
- type: _lssm_lib_schema65.FieldType<string, string>;
9
+ type: _lssm_lib_schema66.FieldType<string, string>;
10
10
  isOptional: false;
11
11
  };
12
12
  integrationId: {
13
- type: _lssm_lib_schema65.FieldType<string, string>;
13
+ type: _lssm_lib_schema66.FieldType<string, string>;
14
14
  isOptional: false;
15
15
  };
16
16
  name: {
17
- type: _lssm_lib_schema65.FieldType<string, string>;
17
+ type: _lssm_lib_schema66.FieldType<string, string>;
18
18
  isOptional: false;
19
19
  };
20
20
  status: {
21
- type: _lssm_lib_schema65.EnumType<[string, string, string, string, string]>;
21
+ type: _lssm_lib_schema66.EnumType<[string, string, string, string, string]>;
22
22
  isOptional: false;
23
23
  };
24
24
  authType: {
25
- type: _lssm_lib_schema65.FieldType<string, string>;
25
+ type: _lssm_lib_schema66.FieldType<string, string>;
26
26
  isOptional: false;
27
27
  };
28
28
  externalAccountName: {
29
- type: _lssm_lib_schema65.FieldType<string, string>;
29
+ type: _lssm_lib_schema66.FieldType<string, string>;
30
30
  isOptional: true;
31
31
  };
32
32
  connectedAt: {
33
- type: _lssm_lib_schema65.FieldType<Date, string>;
33
+ type: _lssm_lib_schema66.FieldType<Date, string>;
34
34
  isOptional: true;
35
35
  };
36
36
  lastHealthCheck: {
37
- type: _lssm_lib_schema65.FieldType<Date, string>;
37
+ type: _lssm_lib_schema66.FieldType<Date, string>;
38
38
  isOptional: true;
39
39
  };
40
40
  healthStatus: {
41
- type: _lssm_lib_schema65.FieldType<string, string>;
41
+ type: _lssm_lib_schema66.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: _lssm_lib_schema65.SchemaModel<{
48
+ declare const CreateConnectionInputModel: _lssm_lib_schema66.SchemaModel<{
49
49
  integrationId: {
50
- type: _lssm_lib_schema65.FieldType<string, string>;
50
+ type: _lssm_lib_schema66.FieldType<string, string>;
51
51
  isOptional: false;
52
52
  };
53
53
  name: {
54
- type: _lssm_lib_schema65.FieldType<string, string>;
54
+ type: _lssm_lib_schema66.FieldType<string, string>;
55
55
  isOptional: false;
56
56
  };
57
57
  authType: {
58
- type: _lssm_lib_schema65.FieldType<string, string>;
58
+ type: _lssm_lib_schema66.FieldType<string, string>;
59
59
  isOptional: false;
60
60
  };
61
61
  credentials: {
62
- type: _lssm_lib_schema65.FieldType<unknown, unknown>;
62
+ type: _lssm_lib_schema66.FieldType<unknown, unknown>;
63
63
  isOptional: true;
64
64
  };
65
65
  }>;
@@ -1,23 +1,23 @@
1
- import { E5, K5 } from "../libs/schema/dist/index.js";
2
1
  import { ConnectionStatusEnum } from "./connection.enum.js";
2
+ import { ScalarTypeEnum, defineSchemaModel } from "@lssm/lib.schema";
3
3
 
4
4
  //#region src/connection/connection.schema.ts
5
5
  /**
6
6
  * A connection to an external system.
7
7
  */
8
- const ConnectionModel = K5({
8
+ const ConnectionModel = defineSchemaModel({
9
9
  name: "ConnectionModel",
10
10
  fields: {
11
11
  id: {
12
- type: E5.String_unsecure(),
12
+ type: ScalarTypeEnum.String_unsecure(),
13
13
  isOptional: false
14
14
  },
15
15
  integrationId: {
16
- type: E5.String_unsecure(),
16
+ type: ScalarTypeEnum.String_unsecure(),
17
17
  isOptional: false
18
18
  },
19
19
  name: {
20
- type: E5.String_unsecure(),
20
+ type: ScalarTypeEnum.String_unsecure(),
21
21
  isOptional: false
22
22
  },
23
23
  status: {
@@ -25,23 +25,23 @@ const ConnectionModel = K5({
25
25
  isOptional: false
26
26
  },
27
27
  authType: {
28
- type: E5.String_unsecure(),
28
+ type: ScalarTypeEnum.String_unsecure(),
29
29
  isOptional: false
30
30
  },
31
31
  externalAccountName: {
32
- type: E5.String_unsecure(),
32
+ type: ScalarTypeEnum.String_unsecure(),
33
33
  isOptional: true
34
34
  },
35
35
  connectedAt: {
36
- type: E5.DateTime(),
36
+ type: ScalarTypeEnum.DateTime(),
37
37
  isOptional: true
38
38
  },
39
39
  lastHealthCheck: {
40
- type: E5.DateTime(),
40
+ type: ScalarTypeEnum.DateTime(),
41
41
  isOptional: true
42
42
  },
43
43
  healthStatus: {
44
- type: E5.String_unsecure(),
44
+ type: ScalarTypeEnum.String_unsecure(),
45
45
  isOptional: true
46
46
  }
47
47
  }
@@ -49,23 +49,23 @@ const ConnectionModel = K5({
49
49
  /**
50
50
  * Input for creating a connection.
51
51
  */
52
- const CreateConnectionInputModel = K5({
52
+ const CreateConnectionInputModel = defineSchemaModel({
53
53
  name: "CreateConnectionInput",
54
54
  fields: {
55
55
  integrationId: {
56
- type: E5.String_unsecure(),
56
+ type: ScalarTypeEnum.String_unsecure(),
57
57
  isOptional: false
58
58
  },
59
59
  name: {
60
- type: E5.NonEmptyString(),
60
+ type: ScalarTypeEnum.NonEmptyString(),
61
61
  isOptional: false
62
62
  },
63
63
  authType: {
64
- type: E5.NonEmptyString(),
64
+ type: ScalarTypeEnum.NonEmptyString(),
65
65
  isOptional: false
66
66
  },
67
67
  credentials: {
68
- type: E5.JSON(),
68
+ type: ScalarTypeEnum.JSON(),
69
69
  isOptional: true
70
70
  }
71
71
  }
@@ -1 +1 @@
1
- {"version":3,"file":"connection.schema.js","names":["defineSchemaModel","ScalarTypeEnum"],"sources":["../../src/connection/connection.schema.ts"],"sourcesContent":["import { defineSchemaModel, ScalarTypeEnum } from '@lssm/lib.schema';\nimport { ConnectionStatusEnum } from './connection.enum';\n\n/**\n * A connection to an external system.\n */\nexport const ConnectionModel = defineSchemaModel({\n name: 'ConnectionModel',\n fields: {\n id: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n integrationId: {\n type: ScalarTypeEnum.String_unsecure(),\n isOptional: false,\n },\n name: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n status: { type: ConnectionStatusEnum, isOptional: false },\n authType: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n externalAccountName: {\n type: ScalarTypeEnum.String_unsecure(),\n isOptional: true,\n },\n connectedAt: { type: ScalarTypeEnum.DateTime(), isOptional: true },\n lastHealthCheck: { type: ScalarTypeEnum.DateTime(), isOptional: true },\n healthStatus: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n },\n});\n\n/**\n * Input for creating a connection.\n */\nexport const CreateConnectionInputModel = defineSchemaModel({\n name: 'CreateConnectionInput',\n fields: {\n integrationId: {\n type: ScalarTypeEnum.String_unsecure(),\n isOptional: false,\n },\n name: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },\n authType: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },\n credentials: { type: ScalarTypeEnum.JSON(), isOptional: true },\n },\n});\n"],"mappings":";;;;;;;AAMA,MAAa,kBAAkBA,GAAkB;CAC/C,MAAM;CACN,QAAQ;EACN,IAAI;GAAE,MAAMC,GAAe,iBAAiB;GAAE,YAAY;GAAO;EACjE,eAAe;GACb,MAAMA,GAAe,iBAAiB;GACtC,YAAY;GACb;EACD,MAAM;GAAE,MAAMA,GAAe,iBAAiB;GAAE,YAAY;GAAO;EACnE,QAAQ;GAAE,MAAM;GAAsB,YAAY;GAAO;EACzD,UAAU;GAAE,MAAMA,GAAe,iBAAiB;GAAE,YAAY;GAAO;EACvE,qBAAqB;GACnB,MAAMA,GAAe,iBAAiB;GACtC,YAAY;GACb;EACD,aAAa;GAAE,MAAMA,GAAe,UAAU;GAAE,YAAY;GAAM;EAClE,iBAAiB;GAAE,MAAMA,GAAe,UAAU;GAAE,YAAY;GAAM;EACtE,cAAc;GAAE,MAAMA,GAAe,iBAAiB;GAAE,YAAY;GAAM;EAC3E;CACF,CAAC;;;;AAKF,MAAa,6BAA6BD,GAAkB;CAC1D,MAAM;CACN,QAAQ;EACN,eAAe;GACb,MAAMC,GAAe,iBAAiB;GACtC,YAAY;GACb;EACD,MAAM;GAAE,MAAMA,GAAe,gBAAgB;GAAE,YAAY;GAAO;EAClE,UAAU;GAAE,MAAMA,GAAe,gBAAgB;GAAE,YAAY;GAAO;EACtE,aAAa;GAAE,MAAMA,GAAe,MAAM;GAAE,YAAY;GAAM;EAC/D;CACF,CAAC"}
1
+ {"version":3,"file":"connection.schema.js","names":[],"sources":["../../src/connection/connection.schema.ts"],"sourcesContent":["import { defineSchemaModel, ScalarTypeEnum } from '@lssm/lib.schema';\nimport { ConnectionStatusEnum } from './connection.enum';\n\n/**\n * A connection to an external system.\n */\nexport const ConnectionModel = defineSchemaModel({\n name: 'ConnectionModel',\n fields: {\n id: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n integrationId: {\n type: ScalarTypeEnum.String_unsecure(),\n isOptional: false,\n },\n name: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n status: { type: ConnectionStatusEnum, isOptional: false },\n authType: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n externalAccountName: {\n type: ScalarTypeEnum.String_unsecure(),\n isOptional: true,\n },\n connectedAt: { type: ScalarTypeEnum.DateTime(), isOptional: true },\n lastHealthCheck: { type: ScalarTypeEnum.DateTime(), isOptional: true },\n healthStatus: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n },\n});\n\n/**\n * Input for creating a connection.\n */\nexport const CreateConnectionInputModel = defineSchemaModel({\n name: 'CreateConnectionInput',\n fields: {\n integrationId: {\n type: ScalarTypeEnum.String_unsecure(),\n isOptional: false,\n },\n name: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },\n authType: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },\n credentials: { type: ScalarTypeEnum.JSON(), isOptional: true },\n },\n});\n"],"mappings":";;;;;;;AAMA,MAAa,kBAAkB,kBAAkB;CAC/C,MAAM;CACN,QAAQ;EACN,IAAI;GAAE,MAAM,eAAe,iBAAiB;GAAE,YAAY;GAAO;EACjE,eAAe;GACb,MAAM,eAAe,iBAAiB;GACtC,YAAY;GACb;EACD,MAAM;GAAE,MAAM,eAAe,iBAAiB;GAAE,YAAY;GAAO;EACnE,QAAQ;GAAE,MAAM;GAAsB,YAAY;GAAO;EACzD,UAAU;GAAE,MAAM,eAAe,iBAAiB;GAAE,YAAY;GAAO;EACvE,qBAAqB;GACnB,MAAM,eAAe,iBAAiB;GACtC,YAAY;GACb;EACD,aAAa;GAAE,MAAM,eAAe,UAAU;GAAE,YAAY;GAAM;EAClE,iBAAiB;GAAE,MAAM,eAAe,UAAU;GAAE,YAAY;GAAM;EACtE,cAAc;GAAE,MAAM,eAAe,iBAAiB;GAAE,YAAY;GAAM;EAC3E;CACF,CAAC;;;;AAKF,MAAa,6BAA6B,kBAAkB;CAC1D,MAAM;CACN,QAAQ;EACN,eAAe;GACb,MAAM,eAAe,iBAAiB;GACtC,YAAY;GACb;EACD,MAAM;GAAE,MAAM,eAAe,gBAAgB;GAAE,YAAY;GAAO;EAClE,UAAU;GAAE,MAAM,eAAe,gBAAgB;GAAE,YAAY;GAAO;EACtE,aAAa;GAAE,MAAM,eAAe,MAAM;GAAE,YAAY;GAAM;EAC/D;CACF,CAAC"}
@@ -1,5 +1,4 @@
1
- import { registerDocBlocks } from "../libs/contracts/dist/docs/registry.js";
2
- import "../libs/contracts/dist/docs/index.js";
1
+ import { registerDocBlocks } from "@lssm/lib.contracts/docs";
3
2
 
4
3
  //#region src/docs/integration-hub.docblock.ts
5
4
  registerDocBlocks([
@@ -1 +1 @@
1
- {"version":3,"file":"integration-hub.docblock.js","names":[],"sources":["../../src/docs/integration-hub.docblock.ts"],"sourcesContent":["import type { DocBlock } from '@lssm/lib.contracts/docs';\nimport { registerDocBlocks } from '@lssm/lib.contracts/docs';\n\nconst integrationHubDocBlocks: DocBlock[] = [\n {\n id: 'docs.examples.integration-hub',\n title: 'Integration Hub',\n summary:\n 'Generic integration center with connectors, connections, sync configs, field mappings, and sync logs.',\n kind: 'reference',\n visibility: 'public',\n route: '/docs/examples/integration-hub',\n tags: ['integrations', 'sync', 'etl', 'connectors'],\n body: `## Entities\n\n- Integration, Connection, SyncConfig, FieldMapping, SyncLog.\n- Sync engine config lives in \\`src/sync-engine\\` to map remote <-> local entities.\n\n## Contracts\n\n- \\`integration.create\\`, \\`integration.connect\\`, \\`integration.configureSync\\`, \\`integration.mapFields\\`, \\`integration.runSync\\`.\n- Uses Jobs module for scheduled syncs and retries; Files module for payload archives.\n\n## Events\n\n- sync.started/completed/failed, connection.connected/disconnected, mapping.updated.\n- Forward to Notifications and Audit for observability.\n\n## UI / Presentations\n\n- Dashboard, integration list, connection detail, sync config editor.\n- Templates registered as \\`integration-hub\\` in Template Registry.\n\n## Notes\n\n- Providers remain agnostic; keep mappings declarative for safe regeneration.\n- Feature flags can gate specific providers; metering can track sync volume.\n`,\n },\n {\n id: 'docs.examples.integration-hub.goal',\n title: 'Integration Hub — Goal',\n summary: 'Why this integration hub exists and what success looks like.',\n kind: 'goal',\n visibility: 'public',\n route: '/docs/examples/integration-hub/goal',\n tags: ['integrations', 'goal'],\n body: `## Why it matters\n- Gives a regenerable, provider-agnostic integration hub with explicit mappings.\n- Prevents drift between sync configs, mappings, and event/log outputs.\n\n## Business/Product goal\n- Model connectors, connections, sync jobs, and mappings with governance and retries.\n- Support staged provider rollouts via Feature Flags and observability via Audit/Notifications.\n\n## Success criteria\n- Connections and mappings regenerate safely after spec edits.\n- Sync events and logs provide auditability; payloads are stored and PII-scoped.`,\n },\n {\n id: 'docs.examples.integration-hub.usage',\n title: 'Integration Hub — Usage',\n summary: 'How to configure connectors, mappings, and scheduled syncs.',\n kind: 'usage',\n visibility: 'public',\n route: '/docs/examples/integration-hub/usage',\n tags: ['integrations', 'usage'],\n body: `## Setup\n1) Seed integrations/connections (if available) or create connector definitions.\n2) Configure sync jobs with Jobs module; store payload archives via Files.\n\n## Extend & regenerate\n1) Add mapping fields or provider configs in the spec; include validation and PII paths.\n2) Regenerate to align UI/API/events/logs; verify Notifications/Audit hooks.\n3) Gate risky providers behind Feature Flags; meter sync volume if needed.\n\n## Guardrails\n- Keep mappings declarative; avoid hardcoded transforms.\n- Emit events for sync lifecycle; persist logs for audit.\n- Redact sensitive payload paths in presentations.`,\n },\n {\n id: 'docs.examples.integration-hub.constraints',\n title: 'Integration Hub — Constraints & Safety',\n summary:\n 'Internal guidance for sync lifecycle, mappings, and regeneration safety.',\n kind: 'reference',\n visibility: 'internal',\n route: '/docs/examples/integration-hub/constraints',\n tags: ['integrations', 'constraints', 'internal'],\n body: `## Constraints\n- Mappings and sync states must remain declarative in spec; no hidden code transforms.\n- Events to emit at minimum: sync.started, sync.completed, sync.failed; connection.connected/disconnected.\n- Regeneration should not alter retry/backoff semantics without explicit spec change.\n\n## PII & Payloads\n- Treat payload archives as potentially sensitive; mark policy.pii paths.\n- For MCP/web, avoid exposing raw credentials/tokens; store via provider adapters only.\n\n## Verification\n- Include fixtures for mapping changes and sync retries.\n- Validate that scheduled jobs (cron) are spec-driven; Jobs module wiring intact.\n- Ensure Audit/Notifications receive sync lifecycle events.`,\n },\n];\n\nregisterDocBlocks(integrationHubDocBlocks);\n"],"mappings":";;;;AA0GA,kBAvG4C;CAC1C;EACE,IAAI;EACJ,OAAO;EACP,SACE;EACF,MAAM;EACN,YAAY;EACZ,OAAO;EACP,MAAM;GAAC;GAAgB;GAAQ;GAAO;GAAa;EACnD,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;EAyBP;CACD;EACE,IAAI;EACJ,OAAO;EACP,SAAS;EACT,MAAM;EACN,YAAY;EACZ,OAAO;EACP,MAAM,CAAC,gBAAgB,OAAO;EAC9B,MAAM;;;;;;;;;;;EAWP;CACD;EACE,IAAI;EACJ,OAAO;EACP,SAAS;EACT,MAAM;EACN,YAAY;EACZ,OAAO;EACP,MAAM,CAAC,gBAAgB,QAAQ;EAC/B,MAAM;;;;;;;;;;;;;EAaP;CACD;EACE,IAAI;EACJ,OAAO;EACP,SACE;EACF,MAAM;EACN,YAAY;EACZ,OAAO;EACP,MAAM;GAAC;GAAgB;GAAe;GAAW;EACjD,MAAM;;;;;;;;;;;;;EAaP;CACF,CAEyC"}
1
+ {"version":3,"file":"integration-hub.docblock.js","names":[],"sources":["../../src/docs/integration-hub.docblock.ts"],"sourcesContent":["import type { DocBlock } from '@lssm/lib.contracts/docs';\nimport { registerDocBlocks } from '@lssm/lib.contracts/docs';\n\nconst integrationHubDocBlocks: DocBlock[] = [\n {\n id: 'docs.examples.integration-hub',\n title: 'Integration Hub',\n summary:\n 'Generic integration center with connectors, connections, sync configs, field mappings, and sync logs.',\n kind: 'reference',\n visibility: 'public',\n route: '/docs/examples/integration-hub',\n tags: ['integrations', 'sync', 'etl', 'connectors'],\n body: `## Entities\n\n- Integration, Connection, SyncConfig, FieldMapping, SyncLog.\n- Sync engine config lives in \\`src/sync-engine\\` to map remote <-> local entities.\n\n## Contracts\n\n- \\`integration.create\\`, \\`integration.connect\\`, \\`integration.configureSync\\`, \\`integration.mapFields\\`, \\`integration.runSync\\`.\n- Uses Jobs module for scheduled syncs and retries; Files module for payload archives.\n\n## Events\n\n- sync.started/completed/failed, connection.connected/disconnected, mapping.updated.\n- Forward to Notifications and Audit for observability.\n\n## UI / Presentations\n\n- Dashboard, integration list, connection detail, sync config editor.\n- Templates registered as \\`integration-hub\\` in Template Registry.\n\n## Notes\n\n- Providers remain agnostic; keep mappings declarative for safe regeneration.\n- Feature flags can gate specific providers; metering can track sync volume.\n`,\n },\n {\n id: 'docs.examples.integration-hub.goal',\n title: 'Integration Hub — Goal',\n summary: 'Why this integration hub exists and what success looks like.',\n kind: 'goal',\n visibility: 'public',\n route: '/docs/examples/integration-hub/goal',\n tags: ['integrations', 'goal'],\n body: `## Why it matters\n- Gives a regenerable, provider-agnostic integration hub with explicit mappings.\n- Prevents drift between sync configs, mappings, and event/log outputs.\n\n## Business/Product goal\n- Model connectors, connections, sync jobs, and mappings with governance and retries.\n- Support staged provider rollouts via Feature Flags and observability via Audit/Notifications.\n\n## Success criteria\n- Connections and mappings regenerate safely after spec edits.\n- Sync events and logs provide auditability; payloads are stored and PII-scoped.`,\n },\n {\n id: 'docs.examples.integration-hub.usage',\n title: 'Integration Hub — Usage',\n summary: 'How to configure connectors, mappings, and scheduled syncs.',\n kind: 'usage',\n visibility: 'public',\n route: '/docs/examples/integration-hub/usage',\n tags: ['integrations', 'usage'],\n body: `## Setup\n1) Seed integrations/connections (if available) or create connector definitions.\n2) Configure sync jobs with Jobs module; store payload archives via Files.\n\n## Extend & regenerate\n1) Add mapping fields or provider configs in the spec; include validation and PII paths.\n2) Regenerate to align UI/API/events/logs; verify Notifications/Audit hooks.\n3) Gate risky providers behind Feature Flags; meter sync volume if needed.\n\n## Guardrails\n- Keep mappings declarative; avoid hardcoded transforms.\n- Emit events for sync lifecycle; persist logs for audit.\n- Redact sensitive payload paths in presentations.`,\n },\n {\n id: 'docs.examples.integration-hub.constraints',\n title: 'Integration Hub — Constraints & Safety',\n summary:\n 'Internal guidance for sync lifecycle, mappings, and regeneration safety.',\n kind: 'reference',\n visibility: 'internal',\n route: '/docs/examples/integration-hub/constraints',\n tags: ['integrations', 'constraints', 'internal'],\n body: `## Constraints\n- Mappings and sync states must remain declarative in spec; no hidden code transforms.\n- Events to emit at minimum: sync.started, sync.completed, sync.failed; connection.connected/disconnected.\n- Regeneration should not alter retry/backoff semantics without explicit spec change.\n\n## PII & Payloads\n- Treat payload archives as potentially sensitive; mark policy.pii paths.\n- For MCP/web, avoid exposing raw credentials/tokens; store via provider adapters only.\n\n## Verification\n- Include fixtures for mapping changes and sync retries.\n- Validate that scheduled jobs (cron) are spec-driven; Jobs module wiring intact.\n- Ensure Audit/Notifications receive sync lifecycle events.`,\n },\n];\n\nregisterDocBlocks(integrationHubDocBlocks);\n"],"mappings":";;;AA0GA,kBAvG4C;CAC1C;EACE,IAAI;EACJ,OAAO;EACP,SACE;EACF,MAAM;EACN,YAAY;EACZ,OAAO;EACP,MAAM;GAAC;GAAgB;GAAQ;GAAO;GAAa;EACnD,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;EAyBP;CACD;EACE,IAAI;EACJ,OAAO;EACP,SAAS;EACT,MAAM;EACN,YAAY;EACZ,OAAO;EACP,MAAM,CAAC,gBAAgB,OAAO;EAC9B,MAAM;;;;;;;;;;;EAWP;CACD;EACE,IAAI;EACJ,OAAO;EACP,SAAS;EACT,MAAM;EACN,YAAY;EACZ,OAAO;EACP,MAAM,CAAC,gBAAgB,QAAQ;EAC/B,MAAM;;;;;;;;;;;;;EAaP;CACD;EACE,IAAI;EACJ,OAAO;EACP,SACE;EACF,MAAM;EACN,YAAY;EACZ,OAAO;EACP,MAAM;GAAC;GAAgB;GAAe;GAAW;EACjD,MAAM;;;;;;;;;;;;;EAaP;CACF,CAEyC"}
package/dist/events.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import * as _lssm_lib_schema0 from "@lssm/lib.schema";
2
1
  import * as _lssm_lib_contracts0 from "@lssm/lib.contracts";
2
+ import * as _lssm_lib_schema0 from "@lssm/lib.schema";
3
3
 
4
4
  //#region src/events.d.ts
5
5
  declare const IntegrationCreatedEvent: _lssm_lib_contracts0.EventSpec<_lssm_lib_schema0.SchemaModel<{
package/dist/events.js CHANGED
@@ -1,22 +1,21 @@
1
- import { defineEvent } from "./libs/contracts/dist/events.js";
2
- import "./libs/contracts/dist/index.js";
3
- import { E5, K5 } from "./libs/schema/dist/index.js";
1
+ import { defineEvent } from "@lssm/lib.contracts";
2
+ import { ScalarTypeEnum, defineSchemaModel } from "@lssm/lib.schema";
4
3
 
5
4
  //#region src/events.ts
6
- const IntegrationCreatedPayload = K5({
5
+ const IntegrationCreatedPayload = defineSchemaModel({
7
6
  name: "IntegrationCreatedPayload",
8
7
  description: "Payload when an integration is created",
9
8
  fields: {
10
9
  integrationId: {
11
- type: E5.String_unsecure(),
10
+ type: ScalarTypeEnum.String_unsecure(),
12
11
  isOptional: false
13
12
  },
14
13
  type: {
15
- type: E5.String_unsecure(),
14
+ type: ScalarTypeEnum.String_unsecure(),
16
15
  isOptional: false
17
16
  },
18
17
  createdAt: {
19
- type: E5.DateTime(),
18
+ type: ScalarTypeEnum.DateTime(),
20
19
  isOptional: false
21
20
  }
22
21
  }
@@ -27,24 +26,24 @@ const IntegrationCreatedEvent = defineEvent({
27
26
  description: "Fired when a new integration is created",
28
27
  payload: IntegrationCreatedPayload
29
28
  });
30
- const ConnectionCreatedPayload = K5({
29
+ const ConnectionCreatedPayload = defineSchemaModel({
31
30
  name: "ConnectionCreatedPayload",
32
31
  description: "Payload when a connection is established",
33
32
  fields: {
34
33
  connectionId: {
35
- type: E5.String_unsecure(),
34
+ type: ScalarTypeEnum.String_unsecure(),
36
35
  isOptional: false
37
36
  },
38
37
  integrationId: {
39
- type: E5.String_unsecure(),
38
+ type: ScalarTypeEnum.String_unsecure(),
40
39
  isOptional: false
41
40
  },
42
41
  status: {
43
- type: E5.String_unsecure(),
42
+ type: ScalarTypeEnum.String_unsecure(),
44
43
  isOptional: false
45
44
  },
46
45
  createdAt: {
47
- type: E5.DateTime(),
46
+ type: ScalarTypeEnum.DateTime(),
48
47
  isOptional: false
49
48
  }
50
49
  }
@@ -55,24 +54,24 @@ const ConnectionCreatedEvent = defineEvent({
55
54
  description: "Fired when a new connection is established",
56
55
  payload: ConnectionCreatedPayload
57
56
  });
58
- const ConnectionStatusChangedPayload = K5({
57
+ const ConnectionStatusChangedPayload = defineSchemaModel({
59
58
  name: "ConnectionStatusChangedPayload",
60
59
  description: "Payload when a connection status changes",
61
60
  fields: {
62
61
  connectionId: {
63
- type: E5.String_unsecure(),
62
+ type: ScalarTypeEnum.String_unsecure(),
64
63
  isOptional: false
65
64
  },
66
65
  previousStatus: {
67
- type: E5.String_unsecure(),
66
+ type: ScalarTypeEnum.String_unsecure(),
68
67
  isOptional: false
69
68
  },
70
69
  newStatus: {
71
- type: E5.String_unsecure(),
70
+ type: ScalarTypeEnum.String_unsecure(),
72
71
  isOptional: false
73
72
  },
74
73
  changedAt: {
75
- type: E5.DateTime(),
74
+ type: ScalarTypeEnum.DateTime(),
76
75
  isOptional: false
77
76
  }
78
77
  }
@@ -83,20 +82,20 @@ const ConnectionStatusChangedEvent = defineEvent({
83
82
  description: "Fired when a connection status changes",
84
83
  payload: ConnectionStatusChangedPayload
85
84
  });
86
- const SyncConfigCreatedPayload = K5({
85
+ const SyncConfigCreatedPayload = defineSchemaModel({
87
86
  name: "SyncConfigCreatedPayload",
88
87
  description: "Payload when a sync configuration is created",
89
88
  fields: {
90
89
  syncConfigId: {
91
- type: E5.String_unsecure(),
90
+ type: ScalarTypeEnum.String_unsecure(),
92
91
  isOptional: false
93
92
  },
94
93
  connectionId: {
95
- type: E5.String_unsecure(),
94
+ type: ScalarTypeEnum.String_unsecure(),
96
95
  isOptional: false
97
96
  },
98
97
  createdAt: {
99
- type: E5.DateTime(),
98
+ type: ScalarTypeEnum.DateTime(),
100
99
  isOptional: false
101
100
  }
102
101
  }
@@ -107,20 +106,20 @@ const SyncConfigCreatedEvent = defineEvent({
107
106
  description: "Fired when a sync configuration is created",
108
107
  payload: SyncConfigCreatedPayload
109
108
  });
110
- const SyncStartedPayload = K5({
109
+ const SyncStartedPayload = defineSchemaModel({
111
110
  name: "SyncStartedPayload",
112
111
  description: "Payload when a sync run starts",
113
112
  fields: {
114
113
  syncRunId: {
115
- type: E5.String_unsecure(),
114
+ type: ScalarTypeEnum.String_unsecure(),
116
115
  isOptional: false
117
116
  },
118
117
  syncConfigId: {
119
- type: E5.String_unsecure(),
118
+ type: ScalarTypeEnum.String_unsecure(),
120
119
  isOptional: false
121
120
  },
122
121
  startedAt: {
123
- type: E5.DateTime(),
122
+ type: ScalarTypeEnum.DateTime(),
124
123
  isOptional: false
125
124
  }
126
125
  }
@@ -131,24 +130,24 @@ const SyncStartedEvent = defineEvent({
131
130
  description: "Fired when a sync run starts",
132
131
  payload: SyncStartedPayload
133
132
  });
134
- const SyncCompletedPayload = K5({
133
+ const SyncCompletedPayload = defineSchemaModel({
135
134
  name: "SyncCompletedPayload",
136
135
  description: "Payload when a sync run completes successfully",
137
136
  fields: {
138
137
  syncRunId: {
139
- type: E5.String_unsecure(),
138
+ type: ScalarTypeEnum.String_unsecure(),
140
139
  isOptional: false
141
140
  },
142
141
  syncConfigId: {
143
- type: E5.String_unsecure(),
142
+ type: ScalarTypeEnum.String_unsecure(),
144
143
  isOptional: false
145
144
  },
146
145
  recordsProcessed: {
147
- type: E5.Int_unsecure(),
146
+ type: ScalarTypeEnum.Int_unsecure(),
148
147
  isOptional: false
149
148
  },
150
149
  completedAt: {
151
- type: E5.DateTime(),
150
+ type: ScalarTypeEnum.DateTime(),
152
151
  isOptional: false
153
152
  }
154
153
  }
@@ -159,24 +158,24 @@ const SyncCompletedEvent = defineEvent({
159
158
  description: "Fired when a sync run completes successfully",
160
159
  payload: SyncCompletedPayload
161
160
  });
162
- const SyncFailedPayload = K5({
161
+ const SyncFailedPayload = defineSchemaModel({
163
162
  name: "SyncFailedPayload",
164
163
  description: "Payload when a sync run fails",
165
164
  fields: {
166
165
  syncRunId: {
167
- type: E5.String_unsecure(),
166
+ type: ScalarTypeEnum.String_unsecure(),
168
167
  isOptional: false
169
168
  },
170
169
  syncConfigId: {
171
- type: E5.String_unsecure(),
170
+ type: ScalarTypeEnum.String_unsecure(),
172
171
  isOptional: false
173
172
  },
174
173
  error: {
175
- type: E5.String_unsecure(),
174
+ type: ScalarTypeEnum.String_unsecure(),
176
175
  isOptional: false
177
176
  },
178
177
  failedAt: {
179
- type: E5.DateTime(),
178
+ type: ScalarTypeEnum.DateTime(),
180
179
  isOptional: false
181
180
  }
182
181
  }
@@ -187,24 +186,24 @@ const SyncFailedEvent = defineEvent({
187
186
  description: "Fired when a sync run fails",
188
187
  payload: SyncFailedPayload
189
188
  });
190
- const RecordSyncedPayload = K5({
189
+ const RecordSyncedPayload = defineSchemaModel({
191
190
  name: "RecordSyncedPayload",
192
191
  description: "Payload when a single record is synced",
193
192
  fields: {
194
193
  syncRunId: {
195
- type: E5.String_unsecure(),
194
+ type: ScalarTypeEnum.String_unsecure(),
196
195
  isOptional: false
197
196
  },
198
197
  recordId: {
199
- type: E5.String_unsecure(),
198
+ type: ScalarTypeEnum.String_unsecure(),
200
199
  isOptional: false
201
200
  },
202
201
  sourceId: {
203
- type: E5.String_unsecure(),
202
+ type: ScalarTypeEnum.String_unsecure(),
204
203
  isOptional: false
205
204
  },
206
205
  targetId: {
207
- type: E5.String_unsecure(),
206
+ type: ScalarTypeEnum.String_unsecure(),
208
207
  isOptional: false
209
208
  }
210
209
  }
@@ -215,20 +214,20 @@ const RecordSyncedEvent = defineEvent({
215
214
  description: "Fired when a single record is synced",
216
215
  payload: RecordSyncedPayload
217
216
  });
218
- const FieldMappingAddedPayload = K5({
217
+ const FieldMappingAddedPayload = defineSchemaModel({
219
218
  name: "FieldMappingAddedPayload",
220
219
  description: "Payload when a field mapping is added to a sync config",
221
220
  fields: {
222
221
  syncConfigId: {
223
- type: E5.String_unsecure(),
222
+ type: ScalarTypeEnum.String_unsecure(),
224
223
  isOptional: false
225
224
  },
226
225
  sourceField: {
227
- type: E5.String_unsecure(),
226
+ type: ScalarTypeEnum.String_unsecure(),
228
227
  isOptional: false
229
228
  },
230
229
  targetField: {
231
- type: E5.String_unsecure(),
230
+ type: ScalarTypeEnum.String_unsecure(),
232
231
  isOptional: false
233
232
  }
234
233
  }
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","names":["defineSchemaModel","ScalarTypeEnum"],"sources":["../src/events.ts"],"sourcesContent":["import { defineEvent } from '@lssm/lib.contracts';\nimport { ScalarTypeEnum, defineSchemaModel } from '@lssm/lib.schema';\n\n// Integration events\nconst IntegrationCreatedPayload = defineSchemaModel({\n name: 'IntegrationCreatedPayload',\n description: 'Payload when an integration is created',\n fields: {\n integrationId: {\n type: ScalarTypeEnum.String_unsecure(),\n isOptional: false,\n },\n type: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n createdAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n },\n});\n\nexport const IntegrationCreatedEvent = defineEvent({\n name: 'integration.created',\n version: 1,\n description: 'Fired when a new integration is created',\n payload: IntegrationCreatedPayload,\n});\n\n// Connection events\nconst ConnectionCreatedPayload = defineSchemaModel({\n name: 'ConnectionCreatedPayload',\n description: 'Payload when a connection is established',\n fields: {\n connectionId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n integrationId: {\n type: ScalarTypeEnum.String_unsecure(),\n isOptional: false,\n },\n status: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n createdAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n },\n});\n\nexport const ConnectionCreatedEvent = defineEvent({\n name: 'integration.connection.created',\n version: 1,\n description: 'Fired when a new connection is established',\n payload: ConnectionCreatedPayload,\n});\n\nconst ConnectionStatusChangedPayload = defineSchemaModel({\n name: 'ConnectionStatusChangedPayload',\n description: 'Payload when a connection status changes',\n fields: {\n connectionId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n previousStatus: {\n type: ScalarTypeEnum.String_unsecure(),\n isOptional: false,\n },\n newStatus: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n changedAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n },\n});\n\nexport const ConnectionStatusChangedEvent = defineEvent({\n name: 'integration.connection.statusChanged',\n version: 1,\n description: 'Fired when a connection status changes',\n payload: ConnectionStatusChangedPayload,\n});\n\n// Sync config events\nconst SyncConfigCreatedPayload = defineSchemaModel({\n name: 'SyncConfigCreatedPayload',\n description: 'Payload when a sync configuration is created',\n fields: {\n syncConfigId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n connectionId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n createdAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n },\n});\n\nexport const SyncConfigCreatedEvent = defineEvent({\n name: 'integration.syncConfig.created',\n version: 1,\n description: 'Fired when a sync configuration is created',\n payload: SyncConfigCreatedPayload,\n});\n\n// Sync run events\nconst SyncStartedPayload = defineSchemaModel({\n name: 'SyncStartedPayload',\n description: 'Payload when a sync run starts',\n fields: {\n syncRunId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n syncConfigId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n startedAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n },\n});\n\nexport const SyncStartedEvent = defineEvent({\n name: 'integration.sync.started',\n version: 1,\n description: 'Fired when a sync run starts',\n payload: SyncStartedPayload,\n});\n\nconst SyncCompletedPayload = defineSchemaModel({\n name: 'SyncCompletedPayload',\n description: 'Payload when a sync run completes successfully',\n fields: {\n syncRunId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n syncConfigId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n recordsProcessed: {\n type: ScalarTypeEnum.Int_unsecure(),\n isOptional: false,\n },\n completedAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n },\n});\n\nexport const SyncCompletedEvent = defineEvent({\n name: 'integration.sync.completed',\n version: 1,\n description: 'Fired when a sync run completes successfully',\n payload: SyncCompletedPayload,\n});\n\nconst SyncFailedPayload = defineSchemaModel({\n name: 'SyncFailedPayload',\n description: 'Payload when a sync run fails',\n fields: {\n syncRunId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n syncConfigId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n error: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n failedAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n },\n});\n\nexport const SyncFailedEvent = defineEvent({\n name: 'integration.sync.failed',\n version: 1,\n description: 'Fired when a sync run fails',\n payload: SyncFailedPayload,\n});\n\nconst RecordSyncedPayload = defineSchemaModel({\n name: 'RecordSyncedPayload',\n description: 'Payload when a single record is synced',\n fields: {\n syncRunId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n recordId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n sourceId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n targetId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n },\n});\n\nexport const RecordSyncedEvent = defineEvent({\n name: 'integration.record.synced',\n version: 1,\n description: 'Fired when a single record is synced',\n payload: RecordSyncedPayload,\n});\n\nconst FieldMappingAddedPayload = defineSchemaModel({\n name: 'FieldMappingAddedPayload',\n description: 'Payload when a field mapping is added to a sync config',\n fields: {\n syncConfigId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n sourceField: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n targetField: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n },\n});\n\nexport const FieldMappingAddedEvent = defineEvent({\n name: 'integration.fieldMapping.added',\n version: 1,\n description: 'Fired when a field mapping is added to a sync config',\n payload: FieldMappingAddedPayload,\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"events.js","names":[],"sources":["../src/events.ts"],"sourcesContent":["import { defineEvent } from '@lssm/lib.contracts';\nimport { ScalarTypeEnum, defineSchemaModel } from '@lssm/lib.schema';\n\n// Integration events\nconst IntegrationCreatedPayload = defineSchemaModel({\n name: 'IntegrationCreatedPayload',\n description: 'Payload when an integration is created',\n fields: {\n integrationId: {\n type: ScalarTypeEnum.String_unsecure(),\n isOptional: false,\n },\n type: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n createdAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n },\n});\n\nexport const IntegrationCreatedEvent = defineEvent({\n name: 'integration.created',\n version: 1,\n description: 'Fired when a new integration is created',\n payload: IntegrationCreatedPayload,\n});\n\n// Connection events\nconst ConnectionCreatedPayload = defineSchemaModel({\n name: 'ConnectionCreatedPayload',\n description: 'Payload when a connection is established',\n fields: {\n connectionId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n integrationId: {\n type: ScalarTypeEnum.String_unsecure(),\n isOptional: false,\n },\n status: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n createdAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n },\n});\n\nexport const ConnectionCreatedEvent = defineEvent({\n name: 'integration.connection.created',\n version: 1,\n description: 'Fired when a new connection is established',\n payload: ConnectionCreatedPayload,\n});\n\nconst ConnectionStatusChangedPayload = defineSchemaModel({\n name: 'ConnectionStatusChangedPayload',\n description: 'Payload when a connection status changes',\n fields: {\n connectionId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n previousStatus: {\n type: ScalarTypeEnum.String_unsecure(),\n isOptional: false,\n },\n newStatus: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n changedAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n },\n});\n\nexport const ConnectionStatusChangedEvent = defineEvent({\n name: 'integration.connection.statusChanged',\n version: 1,\n description: 'Fired when a connection status changes',\n payload: ConnectionStatusChangedPayload,\n});\n\n// Sync config events\nconst SyncConfigCreatedPayload = defineSchemaModel({\n name: 'SyncConfigCreatedPayload',\n description: 'Payload when a sync configuration is created',\n fields: {\n syncConfigId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n connectionId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n createdAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n },\n});\n\nexport const SyncConfigCreatedEvent = defineEvent({\n name: 'integration.syncConfig.created',\n version: 1,\n description: 'Fired when a sync configuration is created',\n payload: SyncConfigCreatedPayload,\n});\n\n// Sync run events\nconst SyncStartedPayload = defineSchemaModel({\n name: 'SyncStartedPayload',\n description: 'Payload when a sync run starts',\n fields: {\n syncRunId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n syncConfigId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n startedAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n },\n});\n\nexport const SyncStartedEvent = defineEvent({\n name: 'integration.sync.started',\n version: 1,\n description: 'Fired when a sync run starts',\n payload: SyncStartedPayload,\n});\n\nconst SyncCompletedPayload = defineSchemaModel({\n name: 'SyncCompletedPayload',\n description: 'Payload when a sync run completes successfully',\n fields: {\n syncRunId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n syncConfigId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n recordsProcessed: {\n type: ScalarTypeEnum.Int_unsecure(),\n isOptional: false,\n },\n completedAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n },\n});\n\nexport const SyncCompletedEvent = defineEvent({\n name: 'integration.sync.completed',\n version: 1,\n description: 'Fired when a sync run completes successfully',\n payload: SyncCompletedPayload,\n});\n\nconst SyncFailedPayload = defineSchemaModel({\n name: 'SyncFailedPayload',\n description: 'Payload when a sync run fails',\n fields: {\n syncRunId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n syncConfigId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n error: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n failedAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n },\n});\n\nexport const SyncFailedEvent = defineEvent({\n name: 'integration.sync.failed',\n version: 1,\n description: 'Fired when a sync run fails',\n payload: SyncFailedPayload,\n});\n\nconst RecordSyncedPayload = defineSchemaModel({\n name: 'RecordSyncedPayload',\n description: 'Payload when a single record is synced',\n fields: {\n syncRunId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n recordId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n sourceId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n targetId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n },\n});\n\nexport const RecordSyncedEvent = defineEvent({\n name: 'integration.record.synced',\n version: 1,\n description: 'Fired when a single record is synced',\n payload: RecordSyncedPayload,\n});\n\nconst FieldMappingAddedPayload = defineSchemaModel({\n name: 'FieldMappingAddedPayload',\n description: 'Payload when a field mapping is added to a sync config',\n fields: {\n syncConfigId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n sourceField: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n targetField: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n },\n});\n\nexport const FieldMappingAddedEvent = defineEvent({\n name: 'integration.fieldMapping.added',\n version: 1,\n description: 'Fired when a field mapping is added to a sync config',\n payload: FieldMappingAddedPayload,\n});\n"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,11 +1,14 @@
1
1
  import { ConnectionStatusEnum } from "./connection/connection.enum.js";
2
2
  import { CreateConnectionContract } from "./connection/connection.operation.js";
3
3
  import { ConnectionModel, CreateConnectionInputModel } from "./connection/connection.schema.js";
4
+ import "./connection/index.js";
4
5
  import { IntegrationStatusEnum } from "./integration/integration.enum.js";
5
6
  import { CreateIntegrationInputModel, IntegrationModel } from "./integration/integration.schema.js";
6
7
  import { CreateIntegrationContract } from "./integration/integration.contracts.js";
8
+ import "./integration/index.js";
7
9
  import { MappingTypeEnum, SyncDirectionEnum, SyncStatusEnum } from "./sync/sync.enum.js";
8
10
  import { AddFieldMappingInputModel, CreateSyncConfigInputModel, FieldMappingModel, ListSyncRunsInputModel, ListSyncRunsOutputModel, SyncConfigModel, SyncRunModel, TriggerSyncInputModel } from "./sync/sync.schema.js";
9
11
  import { AddFieldMappingContract, CreateSyncConfigContract, ListSyncRunsContract, TriggerSyncContract } from "./sync/sync.contracts.js";
12
+ import "./sync/index.js";
10
13
  import { BasicFieldTransformer, BasicSyncEngine, FieldMapping, IFieldTransformer, ISyncEngine, LookupConfig, SourceRecord, SyncConfig, SyncContext, SyncError, SyncResult, TargetRecord, computeChecksum, createSyncEngine, hasChanges } from "./sync-engine/index.js";
11
14
  export { AddFieldMappingContract, AddFieldMappingInputModel, BasicFieldTransformer, BasicSyncEngine, ConnectionModel, ConnectionStatusEnum, CreateConnectionContract, CreateConnectionInputModel, CreateIntegrationContract, CreateIntegrationInputModel, CreateSyncConfigContract, CreateSyncConfigInputModel, FieldMapping, FieldMappingModel, IFieldTransformer, ISyncEngine, IntegrationModel, IntegrationStatusEnum, ListSyncRunsContract, ListSyncRunsInputModel, ListSyncRunsOutputModel, LookupConfig, MappingTypeEnum, SourceRecord, SyncConfig, SyncConfigModel, SyncContext, SyncDirectionEnum, SyncError, SyncResult, SyncRunModel, SyncStatusEnum, TargetRecord, TriggerSyncContract, TriggerSyncInputModel, computeChecksum, createSyncEngine, hasChanges };