@lssm/lib.contracts 0.0.0-canary-20251217062943 → 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 (237) hide show
  1. package/dist/app-config/app-config.feature.js +53 -1
  2. package/dist/app-config/contracts.d.ts +50 -50
  3. package/dist/app-config/contracts.js +396 -1
  4. package/dist/app-config/docs/app-config.docblock.js +22 -220
  5. package/dist/app-config/events.js +168 -1
  6. package/dist/app-config/index.js +8 -1
  7. package/dist/app-config/lifecycle-contracts.js +441 -1
  8. package/dist/app-config/runtime.js +617 -1
  9. package/dist/app-config/spec.js +36 -1
  10. package/dist/app-config/validation.js +538 -1
  11. package/dist/capabilities/docs/capabilities.docblock.js +22 -1
  12. package/dist/capabilities/openbanking.js +92 -1
  13. package/dist/capabilities.js +50 -1
  14. package/dist/client/index.js +9 -1
  15. package/dist/client/react/drivers/rn-reusables.js +21 -1
  16. package/dist/client/react/drivers/shadcn.js +11 -1
  17. package/dist/client/react/feature-render.js +43 -1
  18. package/dist/client/react/form-render.js +298 -1
  19. package/dist/client/react/index.js +8 -1
  20. package/dist/contract-registry/index.js +3 -1
  21. package/dist/contract-registry/schemas.js +61 -1
  22. package/dist/contracts-adapter-hydration.js +41 -1
  23. package/dist/contracts-adapter-input.js +77 -1
  24. package/dist/data-views/docs/data-views.docblock.js +22 -1
  25. package/dist/data-views/query-generator.js +48 -1
  26. package/dist/data-views/runtime.js +39 -1
  27. package/dist/data-views.js +35 -1
  28. package/dist/docs/PUBLISHING.docblock.js +17 -76
  29. package/dist/docs/accessibility_wcag_compliance_specs.docblock.js +17 -350
  30. package/dist/docs/index.js +33 -1
  31. package/dist/docs/meta.docs.js +15 -2
  32. package/dist/docs/presentations.js +77 -1
  33. package/dist/docs/registry.js +51 -1
  34. package/dist/docs/tech/PHASE_1_QUICKSTART.docblock.js +17 -383
  35. package/dist/docs/tech/PHASE_2_AI_NATIVE_OPERATIONS.docblock.js +17 -68
  36. package/dist/docs/tech/PHASE_3_AUTO_EVOLUTION.docblock.js +17 -140
  37. package/dist/docs/tech/PHASE_4_PERSONALIZATION_ENGINE.docblock.js +17 -86
  38. package/dist/docs/tech/PHASE_5_ZERO_TOUCH_OPERATIONS.docblock.js +17 -1
  39. package/dist/docs/tech/auth/better-auth-nextjs.docblock.js +25 -2
  40. package/dist/docs/tech/contracts/README.docblock.js +21 -1
  41. package/dist/docs/tech/contracts/create-subscription.docblock.js +21 -1
  42. package/dist/docs/tech/contracts/graphql-typed-outputs.docblock.js +21 -180
  43. package/dist/docs/tech/contracts/migrations.docblock.js +21 -1
  44. package/dist/docs/tech/contracts/openapi-export.docblock.js +22 -2
  45. package/dist/docs/tech/contracts/ops-to-presentation-linking.docblock.js +19 -60
  46. package/dist/docs/tech/contracts/overlays.docblock.js +21 -68
  47. package/dist/docs/tech/contracts/tests.docblock.js +21 -132
  48. package/dist/docs/tech/contracts/themes.docblock.js +21 -1
  49. package/dist/docs/tech/contracts/vertical-pocket-family-office.docblock.js +21 -106
  50. package/dist/docs/tech/lifecycle-stage-system.docblock.js +17 -213
  51. package/dist/docs/tech/llm/llm-integration.docblock.js +74 -5
  52. package/dist/docs/tech/mcp-endpoints.docblock.js +38 -1
  53. package/dist/docs/tech/presentation-runtime.docblock.js +17 -1
  54. package/dist/docs/tech/schema/README.docblock.js +21 -262
  55. package/dist/docs/tech/studio/learning-events.docblock.js +49 -1
  56. package/dist/docs/tech/studio/learning-journeys.docblock.js +25 -2
  57. package/dist/docs/tech/studio/platform-admin-panel.docblock.js +24 -2
  58. package/dist/docs/tech/studio/project-access-teams.docblock.js +26 -16
  59. package/dist/docs/tech/studio/project-routing.docblock.js +68 -1
  60. package/dist/docs/tech/studio/sandbox-unlogged.docblock.js +23 -2
  61. package/dist/docs/tech/studio/team-invitations.docblock.js +41 -36
  62. package/dist/docs/tech/studio/workspace-ops.docblock.js +48 -1
  63. package/dist/docs/tech/studio/workspaces.docblock.js +24 -2
  64. package/dist/docs/tech/telemetry-ingest.docblock.js +37 -3
  65. package/dist/docs/tech/templates/runtime.docblock.js +21 -1
  66. package/dist/docs/tech/vscode-extension.docblock.js +37 -3
  67. package/dist/docs/tech/workflows/overview.docblock.js +21 -1
  68. package/dist/docs/tech-contracts.docs.js +19 -2
  69. package/dist/events.js +12 -1
  70. package/dist/experiments/docs/experiments.docblock.js +22 -128
  71. package/dist/experiments/evaluator.js +101 -1
  72. package/dist/experiments/spec.js +33 -1
  73. package/dist/features.js +68 -1
  74. package/dist/forms/docs/forms.docblock.js +22 -1
  75. package/dist/forms.js +119 -1
  76. package/dist/index.js +107 -1
  77. package/dist/install.js +40 -1
  78. package/dist/integrations/contracts.d.ts +102 -102
  79. package/dist/integrations/contracts.js +388 -1
  80. package/dist/integrations/docs/integrations.docblock.js +95 -1
  81. package/dist/integrations/health.js +69 -1
  82. package/dist/integrations/index.js +23 -1
  83. package/dist/integrations/openbanking/contracts/accounts.d.ts +66 -66
  84. package/dist/integrations/openbanking/contracts/accounts.js +237 -1
  85. package/dist/integrations/openbanking/contracts/balances.d.ts +34 -34
  86. package/dist/integrations/openbanking/contracts/balances.js +167 -1
  87. package/dist/integrations/openbanking/contracts/index.js +12 -1
  88. package/dist/integrations/openbanking/contracts/transactions.d.ts +48 -48
  89. package/dist/integrations/openbanking/contracts/transactions.js +218 -1
  90. package/dist/integrations/openbanking/guards.js +32 -1
  91. package/dist/integrations/openbanking/models.d.ts +55 -55
  92. package/dist/integrations/openbanking/models.js +242 -1
  93. package/dist/integrations/openbanking/openbanking.feature.js +68 -1
  94. package/dist/integrations/openbanking/telemetry.js +39 -1
  95. package/dist/integrations/providers/elevenlabs.js +56 -1
  96. package/dist/integrations/providers/gcs-storage.js +79 -1
  97. package/dist/integrations/providers/gmail.js +91 -1
  98. package/dist/integrations/providers/google-calendar.js +70 -1
  99. package/dist/integrations/providers/impls/elevenlabs-voice.js +95 -1
  100. package/dist/integrations/providers/impls/gcs-storage.js +88 -1
  101. package/dist/integrations/providers/impls/gmail-inbound.js +200 -1
  102. package/dist/integrations/providers/impls/gmail-outbound.js +104 -5
  103. package/dist/integrations/providers/impls/google-calendar.js +154 -1
  104. package/dist/integrations/providers/impls/index.js +16 -1
  105. package/dist/integrations/providers/impls/mistral-embedding.js +41 -1
  106. package/dist/integrations/providers/impls/mistral-llm.js +247 -1
  107. package/dist/integrations/providers/impls/postmark-email.js +55 -1
  108. package/dist/integrations/providers/impls/powens-client.js +171 -1
  109. package/dist/integrations/providers/impls/powens-openbanking.js +218 -1
  110. package/dist/integrations/providers/impls/provider-factory.js +142 -1
  111. package/dist/integrations/providers/impls/qdrant-vector.js +69 -1
  112. package/dist/integrations/providers/impls/stripe-payments.js +202 -1
  113. package/dist/integrations/providers/impls/twilio-sms.js +58 -1
  114. package/dist/integrations/providers/index.js +13 -1
  115. package/dist/integrations/providers/mistral.js +72 -1
  116. package/dist/integrations/providers/postmark.js +72 -1
  117. package/dist/integrations/providers/powens.js +120 -1
  118. package/dist/integrations/providers/qdrant.js +77 -1
  119. package/dist/integrations/providers/registry.js +34 -1
  120. package/dist/integrations/providers/stripe.js +87 -1
  121. package/dist/integrations/providers/twilio-sms.js +65 -1
  122. package/dist/integrations/runtime.js +186 -1
  123. package/dist/integrations/secrets/aws-secret-manager.js +231 -1
  124. package/dist/integrations/secrets/env-secret-provider.js +81 -1
  125. package/dist/integrations/secrets/gcp-secret-manager.js +229 -1
  126. package/dist/integrations/secrets/index.js +8 -1
  127. package/dist/integrations/secrets/manager.js +103 -1
  128. package/dist/integrations/secrets/provider.js +58 -1
  129. package/dist/integrations/secrets/scaleway-secret-manager.js +247 -1
  130. package/dist/integrations/spec.js +39 -1
  131. package/dist/jobs/define-job.js +16 -1
  132. package/dist/jobs/gcp-cloud-tasks.js +53 -1
  133. package/dist/jobs/gcp-pubsub.js +39 -1
  134. package/dist/jobs/handlers/gmail-sync-handler.js +9 -1
  135. package/dist/jobs/handlers/index.js +12 -1
  136. package/dist/jobs/handlers/ping-handler.js +15 -1
  137. package/dist/jobs/handlers/storage-document-handler.js +14 -1
  138. package/dist/jobs/index.js +4 -1
  139. package/dist/jobs/memory-queue.js +71 -1
  140. package/dist/jobs/queue.js +33 -1
  141. package/dist/jobs/scaleway-sqs-queue.js +153 -1
  142. package/dist/jsonschema.d.ts +3 -3
  143. package/dist/jsonschema.js +32 -1
  144. package/dist/knowledge/contracts.d.ts +66 -66
  145. package/dist/knowledge/contracts.js +317 -1
  146. package/dist/knowledge/docs/knowledge.docblock.js +22 -138
  147. package/dist/knowledge/index.js +10 -1
  148. package/dist/knowledge/ingestion/document-processor.js +54 -1
  149. package/dist/knowledge/ingestion/embedding-service.js +25 -1
  150. package/dist/knowledge/ingestion/gmail-adapter.js +50 -5
  151. package/dist/knowledge/ingestion/index.js +7 -1
  152. package/dist/knowledge/ingestion/storage-adapter.js +26 -1
  153. package/dist/knowledge/ingestion/vector-indexer.js +32 -1
  154. package/dist/knowledge/query/index.js +3 -1
  155. package/dist/knowledge/query/service.js +64 -2
  156. package/dist/knowledge/runtime.js +49 -1
  157. package/dist/knowledge/spaces/email-threads.js +38 -1
  158. package/dist/knowledge/spaces/financial-docs.js +38 -1
  159. package/dist/knowledge/spaces/financial-overview.js +42 -1
  160. package/dist/knowledge/spaces/index.js +8 -1
  161. package/dist/knowledge/spaces/product-canon.js +38 -1
  162. package/dist/knowledge/spaces/support-faq.js +41 -1
  163. package/dist/knowledge/spaces/uploaded-docs.js +38 -1
  164. package/dist/knowledge/spec.js +39 -1
  165. package/dist/llm/exporters.js +541 -8
  166. package/dist/llm/index.js +4 -1
  167. package/dist/llm/prompts.js +246 -56
  168. package/dist/markdown.js +116 -3
  169. package/dist/migrations.js +33 -1
  170. package/dist/onboarding-base.d.ts +29 -29
  171. package/dist/onboarding-base.js +196 -1
  172. package/dist/openapi.js +75 -1
  173. package/dist/openbanking/docs/openbanking.docblock.js +22 -109
  174. package/dist/ownership.js +40 -1
  175. package/dist/policy/docs/policy.docblock.js +22 -1
  176. package/dist/policy/engine.js +223 -1
  177. package/dist/policy/opa-adapter.js +71 -1
  178. package/dist/policy/spec.js +33 -1
  179. package/dist/presentations/docs/presentations-conventions.docblock.js +21 -7
  180. package/dist/presentations.backcompat.js +47 -1
  181. package/dist/presentations.d.ts +3 -3
  182. package/dist/presentations.js +66 -1
  183. package/dist/presentations.v2.js +278 -6
  184. package/dist/prompt.js +10 -1
  185. package/dist/promptRegistry.js +34 -1
  186. package/dist/regenerator/docs/regenerator.docblock.js +22 -184
  187. package/dist/regenerator/executor.js +86 -1
  188. package/dist/regenerator/index.js +6 -1
  189. package/dist/regenerator/service.js +92 -1
  190. package/dist/regenerator/sinks.js +32 -1
  191. package/dist/regenerator/utils.js +51 -1
  192. package/dist/registry.js +208 -1
  193. package/dist/resources.js +47 -1
  194. package/dist/schema/dist/EnumType.js +2 -1
  195. package/dist/schema/dist/FieldType.js +49 -1
  196. package/dist/schema/dist/ScalarTypeEnum.js +236 -1
  197. package/dist/schema/dist/SchemaModel.js +39 -1
  198. package/dist/schema/dist/entity/defineEntity.js +1 -1
  199. package/dist/schema/dist/entity/index.js +2 -1
  200. package/dist/schema/dist/entity/types.js +1 -1
  201. package/dist/schema/dist/index.js +6 -1
  202. package/dist/schema-to-markdown.js +214 -10
  203. package/dist/server/graphql-pothos.js +128 -1
  204. package/dist/server/index.js +10 -1
  205. package/dist/server/mcp/createMcpServer.js +28 -1
  206. package/dist/server/mcp/registerPresentations.js +151 -1
  207. package/dist/server/mcp/registerPrompts.js +36 -2
  208. package/dist/server/mcp/registerResources.js +35 -1
  209. package/dist/server/mcp/registerTools.js +22 -1
  210. package/dist/server/provider-mcp.js +3 -1
  211. package/dist/server/rest-elysia.js +20 -1
  212. package/dist/server/rest-express.js +39 -1
  213. package/dist/server/rest-generic.js +125 -1
  214. package/dist/server/rest-next-app.js +38 -1
  215. package/dist/server/rest-next-mcp.js +45 -1
  216. package/dist/server/rest-next-pages.js +25 -1
  217. package/dist/spec.js +35 -1
  218. package/dist/telemetry/anomaly.js +48 -1
  219. package/dist/telemetry/docs/telemetry.docblock.js +22 -139
  220. package/dist/telemetry/index.js +5 -1
  221. package/dist/telemetry/spec.js +69 -1
  222. package/dist/telemetry/tracker.js +76 -1
  223. package/dist/tests/index.js +4 -1
  224. package/dist/tests/runner.js +150 -1
  225. package/dist/tests/spec.js +33 -1
  226. package/dist/themes.js +39 -1
  227. package/dist/workflow/adapters/db-adapter.js +83 -1
  228. package/dist/workflow/adapters/file-adapter.js +11 -1
  229. package/dist/workflow/adapters/index.js +5 -1
  230. package/dist/workflow/adapters/memory-store.js +58 -1
  231. package/dist/workflow/expression.js +98 -1
  232. package/dist/workflow/index.js +9 -1
  233. package/dist/workflow/runner.js +337 -1
  234. package/dist/workflow/sla-monitor.js +47 -1
  235. package/dist/workflow/spec.js +32 -1
  236. package/dist/workflow/validation.js +175 -1
  237. package/package.json +11 -4
@@ -1,123 +1,123 @@
1
1
  import { ContractSpec } from "../../../spec.js";
2
2
  import { SpecRegistry } from "../../../registry.js";
3
- import * as _lssm_lib_schema497 from "@lssm/lib.schema";
3
+ import * as _lssm_lib_schema450 from "@lssm/lib.schema";
4
4
  import { SchemaModel } from "@lssm/lib.schema";
5
5
 
6
6
  //#region src/integrations/openbanking/contracts/accounts.d.ts
7
7
  declare const OpenBankingListAccounts: ContractSpec<SchemaModel<{
8
8
  tenantId: {
9
- type: _lssm_lib_schema497.FieldType<string, string>;
9
+ type: _lssm_lib_schema450.FieldType<string, string>;
10
10
  isOptional: false;
11
11
  };
12
12
  userId: {
13
- type: _lssm_lib_schema497.FieldType<string, string>;
13
+ type: _lssm_lib_schema450.FieldType<string, string>;
14
14
  isOptional: false;
15
15
  };
16
16
  connectionId: {
17
- type: _lssm_lib_schema497.FieldType<string, string>;
17
+ type: _lssm_lib_schema450.FieldType<string, string>;
18
18
  isOptional: true;
19
19
  };
20
20
  includeBalances: {
21
- type: _lssm_lib_schema497.FieldType<boolean, boolean>;
21
+ type: _lssm_lib_schema450.FieldType<boolean, boolean>;
22
22
  isOptional: true;
23
23
  };
24
24
  institutionId: {
25
- type: _lssm_lib_schema497.FieldType<string, string>;
25
+ type: _lssm_lib_schema450.FieldType<string, string>;
26
26
  isOptional: true;
27
27
  };
28
28
  cursor: {
29
- type: _lssm_lib_schema497.FieldType<string, string>;
29
+ type: _lssm_lib_schema450.FieldType<string, string>;
30
30
  isOptional: true;
31
31
  };
32
32
  pageSize: {
33
- type: _lssm_lib_schema497.FieldType<number, number>;
33
+ type: _lssm_lib_schema450.FieldType<number, number>;
34
34
  isOptional: true;
35
35
  };
36
36
  }>, SchemaModel<{
37
37
  accounts: {
38
38
  type: SchemaModel<{
39
39
  id: {
40
- type: _lssm_lib_schema497.FieldType<string, string>;
40
+ type: _lssm_lib_schema450.FieldType<string, string>;
41
41
  isOptional: false;
42
42
  };
43
43
  tenantId: {
44
- type: _lssm_lib_schema497.FieldType<string, string>;
44
+ type: _lssm_lib_schema450.FieldType<string, string>;
45
45
  isOptional: false;
46
46
  };
47
47
  userId: {
48
- type: _lssm_lib_schema497.FieldType<string, string>;
48
+ type: _lssm_lib_schema450.FieldType<string, string>;
49
49
  isOptional: false;
50
50
  };
51
51
  connectionId: {
52
- type: _lssm_lib_schema497.FieldType<string, string>;
52
+ type: _lssm_lib_schema450.FieldType<string, string>;
53
53
  isOptional: false;
54
54
  };
55
55
  externalId: {
56
- type: _lssm_lib_schema497.FieldType<string, string>;
56
+ type: _lssm_lib_schema450.FieldType<string, string>;
57
57
  isOptional: false;
58
58
  };
59
59
  institutionId: {
60
- type: _lssm_lib_schema497.FieldType<string, string>;
60
+ type: _lssm_lib_schema450.FieldType<string, string>;
61
61
  isOptional: false;
62
62
  };
63
63
  institutionName: {
64
- type: _lssm_lib_schema497.FieldType<string, string>;
64
+ type: _lssm_lib_schema450.FieldType<string, string>;
65
65
  isOptional: false;
66
66
  };
67
67
  institutionLogoUrl: {
68
- type: _lssm_lib_schema497.FieldType<string, string>;
68
+ type: _lssm_lib_schema450.FieldType<string, string>;
69
69
  isOptional: true;
70
70
  };
71
71
  iban: {
72
- type: _lssm_lib_schema497.FieldType<string, string>;
72
+ type: _lssm_lib_schema450.FieldType<string, string>;
73
73
  isOptional: true;
74
74
  };
75
75
  bic: {
76
- type: _lssm_lib_schema497.FieldType<string, string>;
76
+ type: _lssm_lib_schema450.FieldType<string, string>;
77
77
  isOptional: true;
78
78
  };
79
79
  accountType: {
80
- type: _lssm_lib_schema497.FieldType<string, string>;
80
+ type: _lssm_lib_schema450.FieldType<string, string>;
81
81
  isOptional: false;
82
82
  };
83
83
  currency: {
84
- type: _lssm_lib_schema497.FieldType<string, string>;
84
+ type: _lssm_lib_schema450.FieldType<string, string>;
85
85
  isOptional: false;
86
86
  };
87
87
  displayName: {
88
- type: _lssm_lib_schema497.FieldType<string, string>;
88
+ type: _lssm_lib_schema450.FieldType<string, string>;
89
89
  isOptional: false;
90
90
  };
91
91
  accountNumberMasked: {
92
- type: _lssm_lib_schema497.FieldType<string, string>;
92
+ type: _lssm_lib_schema450.FieldType<string, string>;
93
93
  isOptional: true;
94
94
  };
95
95
  productCode: {
96
- type: _lssm_lib_schema497.FieldType<string, string>;
96
+ type: _lssm_lib_schema450.FieldType<string, string>;
97
97
  isOptional: true;
98
98
  };
99
99
  balance: {
100
- type: _lssm_lib_schema497.FieldType<number, number>;
100
+ type: _lssm_lib_schema450.FieldType<number, number>;
101
101
  isOptional: true;
102
102
  };
103
103
  availableBalance: {
104
- type: _lssm_lib_schema497.FieldType<number, number>;
104
+ type: _lssm_lib_schema450.FieldType<number, number>;
105
105
  isOptional: true;
106
106
  };
107
107
  lastSyncedAt: {
108
- type: _lssm_lib_schema497.FieldType<Date, string>;
108
+ type: _lssm_lib_schema450.FieldType<Date, string>;
109
109
  isOptional: false;
110
110
  };
111
111
  createdAt: {
112
- type: _lssm_lib_schema497.FieldType<Date, string>;
112
+ type: _lssm_lib_schema450.FieldType<Date, string>;
113
113
  isOptional: false;
114
114
  };
115
115
  updatedAt: {
116
- type: _lssm_lib_schema497.FieldType<Date, string>;
116
+ type: _lssm_lib_schema450.FieldType<Date, string>;
117
117
  isOptional: false;
118
118
  };
119
119
  metadata: {
120
- type: _lssm_lib_schema497.FieldType<Record<string, unknown>, Record<string, unknown>>;
120
+ type: _lssm_lib_schema450.FieldType<Record<string, unknown>, Record<string, unknown>>;
121
121
  isOptional: true;
122
122
  };
123
123
  }>;
@@ -125,159 +125,159 @@ declare const OpenBankingListAccounts: ContractSpec<SchemaModel<{
125
125
  isArray: true;
126
126
  };
127
127
  nextCursor: {
128
- type: _lssm_lib_schema497.FieldType<string, string>;
128
+ type: _lssm_lib_schema450.FieldType<string, string>;
129
129
  isOptional: true;
130
130
  };
131
131
  hasMore: {
132
- type: _lssm_lib_schema497.FieldType<boolean, boolean>;
132
+ type: _lssm_lib_schema450.FieldType<boolean, boolean>;
133
133
  isOptional: true;
134
134
  };
135
135
  }>, undefined>;
136
136
  declare const OpenBankingGetAccount: ContractSpec<SchemaModel<{
137
137
  tenantId: {
138
- type: _lssm_lib_schema497.FieldType<string, string>;
138
+ type: _lssm_lib_schema450.FieldType<string, string>;
139
139
  isOptional: false;
140
140
  };
141
141
  accountId: {
142
- type: _lssm_lib_schema497.FieldType<string, string>;
142
+ type: _lssm_lib_schema450.FieldType<string, string>;
143
143
  isOptional: false;
144
144
  };
145
145
  includeBalances: {
146
- type: _lssm_lib_schema497.FieldType<boolean, boolean>;
146
+ type: _lssm_lib_schema450.FieldType<boolean, boolean>;
147
147
  isOptional: true;
148
148
  };
149
149
  includeLatestTransactions: {
150
- type: _lssm_lib_schema497.FieldType<boolean, boolean>;
150
+ type: _lssm_lib_schema450.FieldType<boolean, boolean>;
151
151
  isOptional: true;
152
152
  };
153
153
  }>, SchemaModel<{
154
154
  id: {
155
- type: _lssm_lib_schema497.FieldType<string, string>;
155
+ type: _lssm_lib_schema450.FieldType<string, string>;
156
156
  isOptional: false;
157
157
  };
158
158
  tenantId: {
159
- type: _lssm_lib_schema497.FieldType<string, string>;
159
+ type: _lssm_lib_schema450.FieldType<string, string>;
160
160
  isOptional: false;
161
161
  };
162
162
  userId: {
163
- type: _lssm_lib_schema497.FieldType<string, string>;
163
+ type: _lssm_lib_schema450.FieldType<string, string>;
164
164
  isOptional: false;
165
165
  };
166
166
  connectionId: {
167
- type: _lssm_lib_schema497.FieldType<string, string>;
167
+ type: _lssm_lib_schema450.FieldType<string, string>;
168
168
  isOptional: false;
169
169
  };
170
170
  externalId: {
171
- type: _lssm_lib_schema497.FieldType<string, string>;
171
+ type: _lssm_lib_schema450.FieldType<string, string>;
172
172
  isOptional: false;
173
173
  };
174
174
  institutionId: {
175
- type: _lssm_lib_schema497.FieldType<string, string>;
175
+ type: _lssm_lib_schema450.FieldType<string, string>;
176
176
  isOptional: false;
177
177
  };
178
178
  institutionName: {
179
- type: _lssm_lib_schema497.FieldType<string, string>;
179
+ type: _lssm_lib_schema450.FieldType<string, string>;
180
180
  isOptional: false;
181
181
  };
182
182
  institutionLogoUrl: {
183
- type: _lssm_lib_schema497.FieldType<string, string>;
183
+ type: _lssm_lib_schema450.FieldType<string, string>;
184
184
  isOptional: true;
185
185
  };
186
186
  iban: {
187
- type: _lssm_lib_schema497.FieldType<string, string>;
187
+ type: _lssm_lib_schema450.FieldType<string, string>;
188
188
  isOptional: true;
189
189
  };
190
190
  bic: {
191
- type: _lssm_lib_schema497.FieldType<string, string>;
191
+ type: _lssm_lib_schema450.FieldType<string, string>;
192
192
  isOptional: true;
193
193
  };
194
194
  accountType: {
195
- type: _lssm_lib_schema497.FieldType<string, string>;
195
+ type: _lssm_lib_schema450.FieldType<string, string>;
196
196
  isOptional: false;
197
197
  };
198
198
  currency: {
199
- type: _lssm_lib_schema497.FieldType<string, string>;
199
+ type: _lssm_lib_schema450.FieldType<string, string>;
200
200
  isOptional: false;
201
201
  };
202
202
  displayName: {
203
- type: _lssm_lib_schema497.FieldType<string, string>;
203
+ type: _lssm_lib_schema450.FieldType<string, string>;
204
204
  isOptional: false;
205
205
  };
206
206
  accountNumberMasked: {
207
- type: _lssm_lib_schema497.FieldType<string, string>;
207
+ type: _lssm_lib_schema450.FieldType<string, string>;
208
208
  isOptional: true;
209
209
  };
210
210
  productCode: {
211
- type: _lssm_lib_schema497.FieldType<string, string>;
211
+ type: _lssm_lib_schema450.FieldType<string, string>;
212
212
  isOptional: true;
213
213
  };
214
214
  balance: {
215
- type: _lssm_lib_schema497.FieldType<number, number>;
215
+ type: _lssm_lib_schema450.FieldType<number, number>;
216
216
  isOptional: true;
217
217
  };
218
218
  availableBalance: {
219
- type: _lssm_lib_schema497.FieldType<number, number>;
219
+ type: _lssm_lib_schema450.FieldType<number, number>;
220
220
  isOptional: true;
221
221
  };
222
222
  lastSyncedAt: {
223
- type: _lssm_lib_schema497.FieldType<Date, string>;
223
+ type: _lssm_lib_schema450.FieldType<Date, string>;
224
224
  isOptional: false;
225
225
  };
226
226
  createdAt: {
227
- type: _lssm_lib_schema497.FieldType<Date, string>;
227
+ type: _lssm_lib_schema450.FieldType<Date, string>;
228
228
  isOptional: false;
229
229
  };
230
230
  updatedAt: {
231
- type: _lssm_lib_schema497.FieldType<Date, string>;
231
+ type: _lssm_lib_schema450.FieldType<Date, string>;
232
232
  isOptional: false;
233
233
  };
234
234
  metadata: {
235
- type: _lssm_lib_schema497.FieldType<Record<string, unknown>, Record<string, unknown>>;
235
+ type: _lssm_lib_schema450.FieldType<Record<string, unknown>, Record<string, unknown>>;
236
236
  isOptional: true;
237
237
  };
238
238
  }>, undefined>;
239
239
  declare const OpenBankingSyncAccounts: ContractSpec<SchemaModel<{
240
240
  tenantId: {
241
- type: _lssm_lib_schema497.FieldType<string, string>;
241
+ type: _lssm_lib_schema450.FieldType<string, string>;
242
242
  isOptional: false;
243
243
  };
244
244
  userId: {
245
- type: _lssm_lib_schema497.FieldType<string, string>;
245
+ type: _lssm_lib_schema450.FieldType<string, string>;
246
246
  isOptional: true;
247
247
  };
248
248
  connectionId: {
249
- type: _lssm_lib_schema497.FieldType<string, string>;
249
+ type: _lssm_lib_schema450.FieldType<string, string>;
250
250
  isOptional: false;
251
251
  };
252
252
  accountIds: {
253
- type: _lssm_lib_schema497.FieldType<string, string>;
253
+ type: _lssm_lib_schema450.FieldType<string, string>;
254
254
  isArray: true;
255
255
  isOptional: true;
256
256
  };
257
257
  forceFullRefresh: {
258
- type: _lssm_lib_schema497.FieldType<boolean, boolean>;
258
+ type: _lssm_lib_schema450.FieldType<boolean, boolean>;
259
259
  isOptional: true;
260
260
  };
261
261
  triggerWorkflows: {
262
- type: _lssm_lib_schema497.FieldType<boolean, boolean>;
262
+ type: _lssm_lib_schema450.FieldType<boolean, boolean>;
263
263
  isOptional: true;
264
264
  };
265
265
  }>, SchemaModel<{
266
266
  synced: {
267
- type: _lssm_lib_schema497.FieldType<number, number>;
267
+ type: _lssm_lib_schema450.FieldType<number, number>;
268
268
  isOptional: false;
269
269
  };
270
270
  failed: {
271
- type: _lssm_lib_schema497.FieldType<number, number>;
271
+ type: _lssm_lib_schema450.FieldType<number, number>;
272
272
  isOptional: false;
273
273
  };
274
274
  errors: {
275
- type: _lssm_lib_schema497.FieldType<string, string>;
275
+ type: _lssm_lib_schema450.FieldType<string, string>;
276
276
  isArray: true;
277
277
  isOptional: true;
278
278
  };
279
279
  nextSyncSuggestedAt: {
280
- type: _lssm_lib_schema497.FieldType<Date, string>;
280
+ type: _lssm_lib_schema450.FieldType<Date, string>;
281
281
  isOptional: true;
282
282
  };
283
283
  }>, undefined>;
@@ -1 +1,237 @@
1
- import{l as e}from"../../../schema/dist/ScalarTypeEnum.js";import{t}from"../../../schema/dist/SchemaModel.js";import"../../../schema/dist/index.js";import{defineCommand as n,defineQuery as r}from"../../../spec.js";import{BankAccountRecord as i}from"../models.js";import{OPENBANKING_TELEMETRY_EVENTS as a}from"../telemetry.js";const o=new t({name:`OpenBankingListAccountsInput`,description:`Parameters for listing bank accounts through the open banking provider.`,fields:{tenantId:{type:e.ID(),isOptional:!1},userId:{type:e.ID(),isOptional:!1},connectionId:{type:e.ID(),isOptional:!0},includeBalances:{type:e.Boolean(),isOptional:!0},institutionId:{type:e.String_unsecure(),isOptional:!0},cursor:{type:e.String_unsecure(),isOptional:!0},pageSize:{type:e.Int_unsecure(),isOptional:!0}}}),s=new t({name:`OpenBankingListAccountsOutput`,description:`Paginated list of bank accounts available to the tenant and user.`,fields:{accounts:{type:i,isOptional:!1,isArray:!0},nextCursor:{type:e.String_unsecure(),isOptional:!0},hasMore:{type:e.Boolean(),isOptional:!0}}}),c=new t({name:`OpenBankingGetAccountInput`,description:`Parameters for retrieving a specific bank account.`,fields:{tenantId:{type:e.ID(),isOptional:!1},accountId:{type:e.ID(),isOptional:!1},includeBalances:{type:e.Boolean(),isOptional:!0},includeLatestTransactions:{type:e.Boolean(),isOptional:!0}}}),l=new t({name:`OpenBankingSyncAccountsInput`,description:`Command payload to trigger an account synchronisation against the open banking provider.`,fields:{tenantId:{type:e.ID(),isOptional:!1},userId:{type:e.ID(),isOptional:!0},connectionId:{type:e.ID(),isOptional:!1},accountIds:{type:e.ID(),isArray:!0,isOptional:!0},forceFullRefresh:{type:e.Boolean(),isOptional:!0},triggerWorkflows:{type:e.Boolean(),isOptional:!0}}}),u=new t({name:`OpenBankingSyncAccountsOutput`,description:`Result of a bank account synchronisation run.`,fields:{synced:{type:e.Int_unsecure(),isOptional:!1},failed:{type:e.Int_unsecure(),isOptional:!1},errors:{type:e.String_unsecure(),isArray:!0,isOptional:!0},nextSyncSuggestedAt:{type:e.DateTime(),isOptional:!0}}}),d=r({meta:{name:`openbanking.accounts.list`,version:1,description:`List bank accounts available to a tenant/user via Powens Open Banking.`,goal:`Provide downstream workflows with the set of accounts accessible via the configured open banking connection.`,context:`Used by Pocket Family Office dashboards and sync workflows to enumerate bank accounts prior to syncing balances or transactions.`,owners:[`platform.finance`],tags:[`open-banking`,`powens`,`accounts`],stability:`experimental`},io:{input:o,output:s},policy:{auth:`user`}}),f=r({meta:{name:`openbanking.accounts.get`,version:1,description:`Retrieve the canonical bank account record for the given account identifier.`,goal:`Allow user-facing experiences and automations to display up-to-date account metadata.`,context:`Invoked by UI surfaces and workflow automation steps that require detailed metadata for a specific bank account.`,owners:[`platform.finance`],tags:[`open-banking`,`powens`,`accounts`],stability:`experimental`},io:{input:c,output:i},policy:{auth:`user`}}),p=n({meta:{name:`openbanking.accounts.sync`,version:1,description:`Initiate a synchronisation run to refresh bank account metadata from Powens.`,goal:`Keep canonical bank account records aligned with the external open banking provider.`,context:`Triggered by scheduled workflows or manual operator actions to reconcile account metadata prior to transaction/balance syncs.`,owners:[`platform.finance`],tags:[`open-banking`,`powens`,`accounts`],stability:`experimental`},io:{input:l,output:u},policy:{auth:`admin`},telemetry:{success:{event:{name:a.accountsSynced},properties:({input:e,output:t})=>{let n=e,r=t;return{tenantId:n?.tenantId,connectionId:n?.connectionId,synced:r?.synced,failed:r?.failed}}},failure:{event:{name:a.accountsSyncFailed},properties:({input:e,error:t})=>{let n=e;return{tenantId:n?.tenantId,connectionId:n?.connectionId,error:t instanceof Error?t.message:String(t??`unknown`)}}}}}),m={OpenBankingListAccounts:d,OpenBankingGetAccount:f,OpenBankingSyncAccounts:p};function h(e){return e.register(d).register(f).register(p)}export{f as OpenBankingGetAccount,d as OpenBankingListAccounts,p as OpenBankingSyncAccounts,m as openBankingAccountContracts,h as registerOpenBankingAccountContracts};
1
+ import { ScalarTypeEnum } from "../../../schema/dist/ScalarTypeEnum.js";
2
+ import { SchemaModel } from "../../../schema/dist/SchemaModel.js";
3
+ import "../../../schema/dist/index.js";
4
+ import { defineCommand, defineQuery } from "../../../spec.js";
5
+ import { BankAccountRecord } from "../models.js";
6
+ import { OPENBANKING_TELEMETRY_EVENTS } from "../telemetry.js";
7
+
8
+ //#region src/integrations/openbanking/contracts/accounts.ts
9
+ const OpenBankingListAccountsInput = new SchemaModel({
10
+ name: "OpenBankingListAccountsInput",
11
+ description: "Parameters for listing bank accounts through the open banking provider.",
12
+ fields: {
13
+ tenantId: {
14
+ type: ScalarTypeEnum.ID(),
15
+ isOptional: false
16
+ },
17
+ userId: {
18
+ type: ScalarTypeEnum.ID(),
19
+ isOptional: false
20
+ },
21
+ connectionId: {
22
+ type: ScalarTypeEnum.ID(),
23
+ isOptional: true
24
+ },
25
+ includeBalances: {
26
+ type: ScalarTypeEnum.Boolean(),
27
+ isOptional: true
28
+ },
29
+ institutionId: {
30
+ type: ScalarTypeEnum.String_unsecure(),
31
+ isOptional: true
32
+ },
33
+ cursor: {
34
+ type: ScalarTypeEnum.String_unsecure(),
35
+ isOptional: true
36
+ },
37
+ pageSize: {
38
+ type: ScalarTypeEnum.Int_unsecure(),
39
+ isOptional: true
40
+ }
41
+ }
42
+ });
43
+ const OpenBankingListAccountsOutput = new SchemaModel({
44
+ name: "OpenBankingListAccountsOutput",
45
+ description: "Paginated list of bank accounts available to the tenant and user.",
46
+ fields: {
47
+ accounts: {
48
+ type: BankAccountRecord,
49
+ isOptional: false,
50
+ isArray: true
51
+ },
52
+ nextCursor: {
53
+ type: ScalarTypeEnum.String_unsecure(),
54
+ isOptional: true
55
+ },
56
+ hasMore: {
57
+ type: ScalarTypeEnum.Boolean(),
58
+ isOptional: true
59
+ }
60
+ }
61
+ });
62
+ const OpenBankingGetAccountInput = new SchemaModel({
63
+ name: "OpenBankingGetAccountInput",
64
+ description: "Parameters for retrieving a specific bank account.",
65
+ fields: {
66
+ tenantId: {
67
+ type: ScalarTypeEnum.ID(),
68
+ isOptional: false
69
+ },
70
+ accountId: {
71
+ type: ScalarTypeEnum.ID(),
72
+ isOptional: false
73
+ },
74
+ includeBalances: {
75
+ type: ScalarTypeEnum.Boolean(),
76
+ isOptional: true
77
+ },
78
+ includeLatestTransactions: {
79
+ type: ScalarTypeEnum.Boolean(),
80
+ isOptional: true
81
+ }
82
+ }
83
+ });
84
+ const OpenBankingSyncAccountsInput = new SchemaModel({
85
+ name: "OpenBankingSyncAccountsInput",
86
+ description: "Command payload to trigger an account synchronisation against the open banking provider.",
87
+ fields: {
88
+ tenantId: {
89
+ type: ScalarTypeEnum.ID(),
90
+ isOptional: false
91
+ },
92
+ userId: {
93
+ type: ScalarTypeEnum.ID(),
94
+ isOptional: true
95
+ },
96
+ connectionId: {
97
+ type: ScalarTypeEnum.ID(),
98
+ isOptional: false
99
+ },
100
+ accountIds: {
101
+ type: ScalarTypeEnum.ID(),
102
+ isArray: true,
103
+ isOptional: true
104
+ },
105
+ forceFullRefresh: {
106
+ type: ScalarTypeEnum.Boolean(),
107
+ isOptional: true
108
+ },
109
+ triggerWorkflows: {
110
+ type: ScalarTypeEnum.Boolean(),
111
+ isOptional: true
112
+ }
113
+ }
114
+ });
115
+ const OpenBankingSyncAccountsOutput = new SchemaModel({
116
+ name: "OpenBankingSyncAccountsOutput",
117
+ description: "Result of a bank account synchronisation run.",
118
+ fields: {
119
+ synced: {
120
+ type: ScalarTypeEnum.Int_unsecure(),
121
+ isOptional: false
122
+ },
123
+ failed: {
124
+ type: ScalarTypeEnum.Int_unsecure(),
125
+ isOptional: false
126
+ },
127
+ errors: {
128
+ type: ScalarTypeEnum.String_unsecure(),
129
+ isArray: true,
130
+ isOptional: true
131
+ },
132
+ nextSyncSuggestedAt: {
133
+ type: ScalarTypeEnum.DateTime(),
134
+ isOptional: true
135
+ }
136
+ }
137
+ });
138
+ const OpenBankingListAccounts = defineQuery({
139
+ meta: {
140
+ name: "openbanking.accounts.list",
141
+ version: 1,
142
+ description: "List bank accounts available to a tenant/user via Powens Open Banking.",
143
+ goal: "Provide downstream workflows with the set of accounts accessible via the configured open banking connection.",
144
+ context: "Used by Pocket Family Office dashboards and sync workflows to enumerate bank accounts prior to syncing balances or transactions.",
145
+ owners: ["platform.finance"],
146
+ tags: [
147
+ "open-banking",
148
+ "powens",
149
+ "accounts"
150
+ ],
151
+ stability: "experimental"
152
+ },
153
+ io: {
154
+ input: OpenBankingListAccountsInput,
155
+ output: OpenBankingListAccountsOutput
156
+ },
157
+ policy: { auth: "user" }
158
+ });
159
+ const OpenBankingGetAccount = defineQuery({
160
+ meta: {
161
+ name: "openbanking.accounts.get",
162
+ version: 1,
163
+ description: "Retrieve the canonical bank account record for the given account identifier.",
164
+ goal: "Allow user-facing experiences and automations to display up-to-date account metadata.",
165
+ context: "Invoked by UI surfaces and workflow automation steps that require detailed metadata for a specific bank account.",
166
+ owners: ["platform.finance"],
167
+ tags: [
168
+ "open-banking",
169
+ "powens",
170
+ "accounts"
171
+ ],
172
+ stability: "experimental"
173
+ },
174
+ io: {
175
+ input: OpenBankingGetAccountInput,
176
+ output: BankAccountRecord
177
+ },
178
+ policy: { auth: "user" }
179
+ });
180
+ const OpenBankingSyncAccounts = defineCommand({
181
+ meta: {
182
+ name: "openbanking.accounts.sync",
183
+ version: 1,
184
+ description: "Initiate a synchronisation run to refresh bank account metadata from Powens.",
185
+ goal: "Keep canonical bank account records aligned with the external open banking provider.",
186
+ context: "Triggered by scheduled workflows or manual operator actions to reconcile account metadata prior to transaction/balance syncs.",
187
+ owners: ["platform.finance"],
188
+ tags: [
189
+ "open-banking",
190
+ "powens",
191
+ "accounts"
192
+ ],
193
+ stability: "experimental"
194
+ },
195
+ io: {
196
+ input: OpenBankingSyncAccountsInput,
197
+ output: OpenBankingSyncAccountsOutput
198
+ },
199
+ policy: { auth: "admin" },
200
+ telemetry: {
201
+ success: {
202
+ event: { name: OPENBANKING_TELEMETRY_EVENTS.accountsSynced },
203
+ properties: ({ input, output }) => {
204
+ const payload = input;
205
+ const result = output;
206
+ return {
207
+ tenantId: payload?.tenantId,
208
+ connectionId: payload?.connectionId,
209
+ synced: result?.synced,
210
+ failed: result?.failed
211
+ };
212
+ }
213
+ },
214
+ failure: {
215
+ event: { name: OPENBANKING_TELEMETRY_EVENTS.accountsSyncFailed },
216
+ properties: ({ input, error }) => {
217
+ const payload = input;
218
+ return {
219
+ tenantId: payload?.tenantId,
220
+ connectionId: payload?.connectionId,
221
+ error: error instanceof Error ? error.message : String(error ?? "unknown")
222
+ };
223
+ }
224
+ }
225
+ }
226
+ });
227
+ const openBankingAccountContracts = {
228
+ OpenBankingListAccounts,
229
+ OpenBankingGetAccount,
230
+ OpenBankingSyncAccounts
231
+ };
232
+ function registerOpenBankingAccountContracts(registry) {
233
+ return registry.register(OpenBankingListAccounts).register(OpenBankingGetAccount).register(OpenBankingSyncAccounts);
234
+ }
235
+
236
+ //#endregion
237
+ export { OpenBankingGetAccount, OpenBankingListAccounts, OpenBankingSyncAccounts, openBankingAccountContracts, registerOpenBankingAccountContracts };