@lssm/lib.contracts 1.7.2 → 1.7.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app-config/contracts.d.ts +50 -50
- package/dist/app-config/contracts.d.ts.map +1 -1
- package/dist/app-config/events.d.ts +27 -27
- package/dist/app-config/events.d.ts.map +1 -1
- package/dist/app-config/events.js.map +1 -1
- package/dist/app-config/lifecycle-contracts.d.ts +80 -80
- package/dist/app-config/lifecycle-contracts.d.ts.map +1 -1
- package/dist/capabilities/openbanking.d.ts.map +1 -1
- package/dist/capabilities/openbanking.js.map +1 -1
- package/dist/graphql-federation/dist/index.js +2 -0
- package/dist/graphql-federation/dist/index.js.map +1 -0
- package/dist/integrations/contracts.d.ts +102 -102
- package/dist/integrations/openbanking/contracts/accounts.d.ts +66 -66
- package/dist/integrations/openbanking/contracts/balances.d.ts +34 -34
- package/dist/integrations/openbanking/contracts/index.js.map +1 -1
- package/dist/integrations/openbanking/contracts/transactions.d.ts +48 -48
- package/dist/integrations/openbanking/guards.js.map +1 -1
- package/dist/integrations/openbanking/models.d.ts +55 -55
- package/dist/integrations/openbanking/models.js.map +1 -1
- package/dist/integrations/openbanking/telemetry.js.map +1 -1
- package/dist/integrations/providers/powens.js.map +1 -1
- package/dist/knowledge/contracts.d.ts +66 -66
- package/dist/knowledge/contracts.js.map +1 -1
- package/dist/knowledge/spaces/product-canon.js.map +1 -1
- package/dist/knowledge/spaces/support-faq.js.map +1 -1
- package/dist/knowledge/spec.js.map +1 -1
- package/dist/onboarding-base.d.ts +29 -29
- package/dist/onboarding-base.d.ts.map +1 -1
- package/dist/regenerator/executor.js.map +1 -1
- package/dist/regenerator/service.js.map +1 -1
- package/dist/regenerator/sinks.js.map +1 -1
- package/dist/regenerator/utils.js.map +1 -1
- package/dist/server/graphql-schema-export.js +1 -1
- package/dist/server/graphql-schema-export.js.map +1 -1
- package/package.json +173 -2
- package/dist/graphql-federation/src/index.js +0 -2
- package/dist/graphql-federation/src/index.js.map +0 -1
|
@@ -1,139 +1,139 @@
|
|
|
1
1
|
import { ContractSpec } from "../../../spec.js";
|
|
2
2
|
import { SpecRegistry } from "../../../registry.js";
|
|
3
|
-
import * as
|
|
3
|
+
import * as _lssm_lib_schema499 from "@lssm/lib.schema";
|
|
4
4
|
import { SchemaModel } from "@lssm/lib.schema";
|
|
5
5
|
|
|
6
6
|
//#region src/integrations/openbanking/contracts/transactions.d.ts
|
|
7
7
|
declare const OpenBankingListTransactions: ContractSpec<SchemaModel<{
|
|
8
8
|
tenantId: {
|
|
9
|
-
type:
|
|
9
|
+
type: _lssm_lib_schema499.FieldType<string, string>;
|
|
10
10
|
isOptional: false;
|
|
11
11
|
};
|
|
12
12
|
accountId: {
|
|
13
|
-
type:
|
|
13
|
+
type: _lssm_lib_schema499.FieldType<string, string>;
|
|
14
14
|
isOptional: false;
|
|
15
15
|
};
|
|
16
16
|
from: {
|
|
17
|
-
type:
|
|
17
|
+
type: _lssm_lib_schema499.FieldType<Date, string>;
|
|
18
18
|
isOptional: true;
|
|
19
19
|
};
|
|
20
20
|
to: {
|
|
21
|
-
type:
|
|
21
|
+
type: _lssm_lib_schema499.FieldType<Date, string>;
|
|
22
22
|
isOptional: true;
|
|
23
23
|
};
|
|
24
24
|
cursor: {
|
|
25
|
-
type:
|
|
25
|
+
type: _lssm_lib_schema499.FieldType<string, string>;
|
|
26
26
|
isOptional: true;
|
|
27
27
|
};
|
|
28
28
|
pageSize: {
|
|
29
|
-
type:
|
|
29
|
+
type: _lssm_lib_schema499.FieldType<number, number>;
|
|
30
30
|
isOptional: true;
|
|
31
31
|
};
|
|
32
32
|
direction: {
|
|
33
|
-
type:
|
|
33
|
+
type: _lssm_lib_schema499.FieldType<string, string>;
|
|
34
34
|
isOptional: true;
|
|
35
35
|
};
|
|
36
36
|
minimumAmount: {
|
|
37
|
-
type:
|
|
37
|
+
type: _lssm_lib_schema499.FieldType<number, number>;
|
|
38
38
|
isOptional: true;
|
|
39
39
|
};
|
|
40
40
|
maximumAmount: {
|
|
41
|
-
type:
|
|
41
|
+
type: _lssm_lib_schema499.FieldType<number, number>;
|
|
42
42
|
isOptional: true;
|
|
43
43
|
};
|
|
44
44
|
category: {
|
|
45
|
-
type:
|
|
45
|
+
type: _lssm_lib_schema499.FieldType<string, string>;
|
|
46
46
|
isOptional: true;
|
|
47
47
|
};
|
|
48
48
|
}>, SchemaModel<{
|
|
49
49
|
transactions: {
|
|
50
50
|
type: SchemaModel<{
|
|
51
51
|
id: {
|
|
52
|
-
type:
|
|
52
|
+
type: _lssm_lib_schema499.FieldType<string, string>;
|
|
53
53
|
isOptional: false;
|
|
54
54
|
};
|
|
55
55
|
accountId: {
|
|
56
|
-
type:
|
|
56
|
+
type: _lssm_lib_schema499.FieldType<string, string>;
|
|
57
57
|
isOptional: false;
|
|
58
58
|
};
|
|
59
59
|
tenantId: {
|
|
60
|
-
type:
|
|
60
|
+
type: _lssm_lib_schema499.FieldType<string, string>;
|
|
61
61
|
isOptional: false;
|
|
62
62
|
};
|
|
63
63
|
connectionId: {
|
|
64
|
-
type:
|
|
64
|
+
type: _lssm_lib_schema499.FieldType<string, string>;
|
|
65
65
|
isOptional: false;
|
|
66
66
|
};
|
|
67
67
|
externalId: {
|
|
68
|
-
type:
|
|
68
|
+
type: _lssm_lib_schema499.FieldType<string, string>;
|
|
69
69
|
isOptional: false;
|
|
70
70
|
};
|
|
71
71
|
amount: {
|
|
72
|
-
type:
|
|
72
|
+
type: _lssm_lib_schema499.FieldType<number, number>;
|
|
73
73
|
isOptional: false;
|
|
74
74
|
};
|
|
75
75
|
currency: {
|
|
76
|
-
type:
|
|
76
|
+
type: _lssm_lib_schema499.FieldType<string, string>;
|
|
77
77
|
isOptional: false;
|
|
78
78
|
};
|
|
79
79
|
date: {
|
|
80
|
-
type:
|
|
80
|
+
type: _lssm_lib_schema499.FieldType<Date, string>;
|
|
81
81
|
isOptional: false;
|
|
82
82
|
};
|
|
83
83
|
bookingDate: {
|
|
84
|
-
type:
|
|
84
|
+
type: _lssm_lib_schema499.FieldType<Date, string>;
|
|
85
85
|
isOptional: true;
|
|
86
86
|
};
|
|
87
87
|
valueDate: {
|
|
88
|
-
type:
|
|
88
|
+
type: _lssm_lib_schema499.FieldType<Date, string>;
|
|
89
89
|
isOptional: true;
|
|
90
90
|
};
|
|
91
91
|
description: {
|
|
92
|
-
type:
|
|
92
|
+
type: _lssm_lib_schema499.FieldType<string, string>;
|
|
93
93
|
isOptional: true;
|
|
94
94
|
};
|
|
95
95
|
counterpartyName: {
|
|
96
|
-
type:
|
|
96
|
+
type: _lssm_lib_schema499.FieldType<string, string>;
|
|
97
97
|
isOptional: true;
|
|
98
98
|
};
|
|
99
99
|
counterpartyAccount: {
|
|
100
|
-
type:
|
|
100
|
+
type: _lssm_lib_schema499.FieldType<string, string>;
|
|
101
101
|
isOptional: true;
|
|
102
102
|
};
|
|
103
103
|
merchantCategoryCode: {
|
|
104
|
-
type:
|
|
104
|
+
type: _lssm_lib_schema499.FieldType<string, string>;
|
|
105
105
|
isOptional: true;
|
|
106
106
|
};
|
|
107
107
|
rawCategory: {
|
|
108
|
-
type:
|
|
108
|
+
type: _lssm_lib_schema499.FieldType<string, string>;
|
|
109
109
|
isOptional: true;
|
|
110
110
|
};
|
|
111
111
|
standardizedCategory: {
|
|
112
|
-
type:
|
|
112
|
+
type: _lssm_lib_schema499.FieldType<string, string>;
|
|
113
113
|
isOptional: true;
|
|
114
114
|
};
|
|
115
115
|
transactionType: {
|
|
116
|
-
type:
|
|
116
|
+
type: _lssm_lib_schema499.FieldType<string, string>;
|
|
117
117
|
isOptional: false;
|
|
118
118
|
};
|
|
119
119
|
status: {
|
|
120
|
-
type:
|
|
120
|
+
type: _lssm_lib_schema499.FieldType<string, string>;
|
|
121
121
|
isOptional: false;
|
|
122
122
|
};
|
|
123
123
|
runningBalance: {
|
|
124
|
-
type:
|
|
124
|
+
type: _lssm_lib_schema499.FieldType<number, number>;
|
|
125
125
|
isOptional: true;
|
|
126
126
|
};
|
|
127
127
|
metadata: {
|
|
128
|
-
type:
|
|
128
|
+
type: _lssm_lib_schema499.FieldType<Record<string, unknown>, Record<string, unknown>>;
|
|
129
129
|
isOptional: true;
|
|
130
130
|
};
|
|
131
131
|
createdAt: {
|
|
132
|
-
type:
|
|
132
|
+
type: _lssm_lib_schema499.FieldType<Date, string>;
|
|
133
133
|
isOptional: false;
|
|
134
134
|
};
|
|
135
135
|
updatedAt: {
|
|
136
|
-
type:
|
|
136
|
+
type: _lssm_lib_schema499.FieldType<Date, string>;
|
|
137
137
|
isOptional: false;
|
|
138
138
|
};
|
|
139
139
|
}>;
|
|
@@ -141,66 +141,66 @@ declare const OpenBankingListTransactions: ContractSpec<SchemaModel<{
|
|
|
141
141
|
isArray: true;
|
|
142
142
|
};
|
|
143
143
|
nextCursor: {
|
|
144
|
-
type:
|
|
144
|
+
type: _lssm_lib_schema499.FieldType<string, string>;
|
|
145
145
|
isOptional: true;
|
|
146
146
|
};
|
|
147
147
|
hasMore: {
|
|
148
|
-
type:
|
|
148
|
+
type: _lssm_lib_schema499.FieldType<boolean, boolean>;
|
|
149
149
|
isOptional: true;
|
|
150
150
|
};
|
|
151
151
|
}>, undefined>;
|
|
152
152
|
declare const OpenBankingSyncTransactions: ContractSpec<SchemaModel<{
|
|
153
153
|
tenantId: {
|
|
154
|
-
type:
|
|
154
|
+
type: _lssm_lib_schema499.FieldType<string, string>;
|
|
155
155
|
isOptional: false;
|
|
156
156
|
};
|
|
157
157
|
accountId: {
|
|
158
|
-
type:
|
|
158
|
+
type: _lssm_lib_schema499.FieldType<string, string>;
|
|
159
159
|
isOptional: false;
|
|
160
160
|
};
|
|
161
161
|
from: {
|
|
162
|
-
type:
|
|
162
|
+
type: _lssm_lib_schema499.FieldType<Date, string>;
|
|
163
163
|
isOptional: true;
|
|
164
164
|
};
|
|
165
165
|
to: {
|
|
166
|
-
type:
|
|
166
|
+
type: _lssm_lib_schema499.FieldType<Date, string>;
|
|
167
167
|
isOptional: true;
|
|
168
168
|
};
|
|
169
169
|
connectionId: {
|
|
170
|
-
type:
|
|
170
|
+
type: _lssm_lib_schema499.FieldType<string, string>;
|
|
171
171
|
isOptional: true;
|
|
172
172
|
};
|
|
173
173
|
includePending: {
|
|
174
|
-
type:
|
|
174
|
+
type: _lssm_lib_schema499.FieldType<boolean, boolean>;
|
|
175
175
|
isOptional: true;
|
|
176
176
|
};
|
|
177
177
|
backfillDays: {
|
|
178
|
-
type:
|
|
178
|
+
type: _lssm_lib_schema499.FieldType<number, number>;
|
|
179
179
|
isOptional: true;
|
|
180
180
|
};
|
|
181
181
|
}>, SchemaModel<{
|
|
182
182
|
synced: {
|
|
183
|
-
type:
|
|
183
|
+
type: _lssm_lib_schema499.FieldType<number, number>;
|
|
184
184
|
isOptional: false;
|
|
185
185
|
};
|
|
186
186
|
failed: {
|
|
187
|
-
type:
|
|
187
|
+
type: _lssm_lib_schema499.FieldType<number, number>;
|
|
188
188
|
isOptional: false;
|
|
189
189
|
};
|
|
190
190
|
earliestSyncedAt: {
|
|
191
|
-
type:
|
|
191
|
+
type: _lssm_lib_schema499.FieldType<Date, string>;
|
|
192
192
|
isOptional: true;
|
|
193
193
|
};
|
|
194
194
|
latestSyncedAt: {
|
|
195
|
-
type:
|
|
195
|
+
type: _lssm_lib_schema499.FieldType<Date, string>;
|
|
196
196
|
isOptional: true;
|
|
197
197
|
};
|
|
198
198
|
nextSinceToken: {
|
|
199
|
-
type:
|
|
199
|
+
type: _lssm_lib_schema499.FieldType<string, string>;
|
|
200
200
|
isOptional: true;
|
|
201
201
|
};
|
|
202
202
|
errors: {
|
|
203
|
-
type:
|
|
203
|
+
type: _lssm_lib_schema499.FieldType<string, string>;
|
|
204
204
|
isArray: true;
|
|
205
205
|
isOptional: true;
|
|
206
206
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guards.js","names":[],"sources":["../../../src/integrations/openbanking/guards.ts"],"sourcesContent":["import type {\n ResolvedAppConfig,\n ResolvedIntegration,\n} from '../../app-config/runtime';\n\nconst PRIMARY_SLOT_ID = 'primaryOpenBanking';\n\nexport interface OpenBankingGuardResult {\n ok: boolean;\n integration?: ResolvedIntegration;\n error?: string;\n}\n\nexport function ensurePrimaryOpenBankingIntegration(\n config: ResolvedAppConfig\n): OpenBankingGuardResult {\n const integration = config.integrations.find(\n (item) => item.slot.slotId === PRIMARY_SLOT_ID\n );\n\n if (!integration) {\n return {\n ok: false,\n error: 'primaryOpenBanking slot is not bound in the resolved app config.',\n };\n }\n\n const status = integration.connection.status;\n if (status === 'error' || status === 'disconnected') {\n return {\n ok: false,\n integration,\n error: `primaryOpenBanking connection is in status \"${status}\".`,\n };\n }\n\n if (status === 'unknown') {\n return {\n ok: false,\n integration,\n error: 'primaryOpenBanking connection health is unknown.',\n };\n }\n\n return { ok: true, integration };\n}\n\nexport function assertPrimaryOpenBankingReady(\n config: ResolvedAppConfig\n): ResolvedIntegration {\n const result = ensurePrimaryOpenBankingIntegration(config);\n if (!result.ok) {\n throw new Error(result.error ?? 'Open banking integration not available.');\n }\n return result.integration!;\n}\n\n\n"],"mappings":"AAaA,SAAgB,EACd,EACwB,CACxB,IAAM,EAAc,EAAO,aAAa,KACrC,GAAS,EAAK,KAAK,SAAW,qBAChC,CAED,GAAI,CAAC,EACH,MAAO,CACL,GAAI,GACJ,MAAO,mEACR,CAGH,IAAM,EAAS,EAAY,WAAW,OAiBtC,OAhBI,IAAW,SAAW,IAAW,eAC5B,CACL,GAAI,GACJ,cACA,MAAO,+CAA+C,EAAO,IAC9D,CAGC,IAAW,UACN,CACL,GAAI,GACJ,cACA,MAAO,mDACR,CAGI,CAAE,GAAI,GAAM,cAAa,CAGlC,SAAgB,EACd,EACqB,CACrB,IAAM,EAAS,EAAoC,EAAO,CAC1D,GAAI,CAAC,EAAO,GACV,MAAU,MAAM,EAAO,OAAS,0CAA0C,CAE5E,OAAO,EAAO"}
|
|
1
|
+
{"version":3,"file":"guards.js","names":[],"sources":["../../../src/integrations/openbanking/guards.ts"],"sourcesContent":["import type {\n ResolvedAppConfig,\n ResolvedIntegration,\n} from '../../app-config/runtime';\n\nconst PRIMARY_SLOT_ID = 'primaryOpenBanking';\n\nexport interface OpenBankingGuardResult {\n ok: boolean;\n integration?: ResolvedIntegration;\n error?: string;\n}\n\nexport function ensurePrimaryOpenBankingIntegration(\n config: ResolvedAppConfig\n): OpenBankingGuardResult {\n const integration = config.integrations.find(\n (item) => item.slot.slotId === PRIMARY_SLOT_ID\n );\n\n if (!integration) {\n return {\n ok: false,\n error: 'primaryOpenBanking slot is not bound in the resolved app config.',\n };\n }\n\n const status = integration.connection.status;\n if (status === 'error' || status === 'disconnected') {\n return {\n ok: false,\n integration,\n error: `primaryOpenBanking connection is in status \"${status}\".`,\n };\n }\n\n if (status === 'unknown') {\n return {\n ok: false,\n integration,\n error: 'primaryOpenBanking connection health is unknown.',\n };\n }\n\n return { ok: true, integration };\n}\n\nexport function assertPrimaryOpenBankingReady(\n config: ResolvedAppConfig\n): ResolvedIntegration {\n const result = ensurePrimaryOpenBankingIntegration(config);\n if (!result.ok) {\n throw new Error(result.error ?? 'Open banking integration not available.');\n }\n return result.integration!;\n}\n\n\n\n\n"],"mappings":"AAaA,SAAgB,EACd,EACwB,CACxB,IAAM,EAAc,EAAO,aAAa,KACrC,GAAS,EAAK,KAAK,SAAW,qBAChC,CAED,GAAI,CAAC,EACH,MAAO,CACL,GAAI,GACJ,MAAO,mEACR,CAGH,IAAM,EAAS,EAAY,WAAW,OAiBtC,OAhBI,IAAW,SAAW,IAAW,eAC5B,CACL,GAAI,GACJ,cACA,MAAO,+CAA+C,EAAO,IAC9D,CAGC,IAAW,UACN,CACL,GAAI,GACJ,cACA,MAAO,mDACR,CAGI,CAAE,GAAI,GAAM,cAAa,CAGlC,SAAgB,EACd,EACqB,CACrB,IAAM,EAAS,EAAoC,EAAO,CAC1D,GAAI,CAAC,EAAO,GACV,MAAU,MAAM,EAAO,OAAS,0CAA0C,CAE5E,OAAO,EAAO"}
|
|
@@ -1,226 +1,226 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as _lssm_lib_schema445 from "@lssm/lib.schema";
|
|
2
2
|
import { SchemaModel } from "@lssm/lib.schema";
|
|
3
3
|
|
|
4
4
|
//#region src/integrations/openbanking/models.d.ts
|
|
5
5
|
declare const BankAccountRecord: SchemaModel<{
|
|
6
6
|
id: {
|
|
7
|
-
type:
|
|
7
|
+
type: _lssm_lib_schema445.FieldType<string, string>;
|
|
8
8
|
isOptional: false;
|
|
9
9
|
};
|
|
10
10
|
tenantId: {
|
|
11
|
-
type:
|
|
11
|
+
type: _lssm_lib_schema445.FieldType<string, string>;
|
|
12
12
|
isOptional: false;
|
|
13
13
|
};
|
|
14
14
|
userId: {
|
|
15
|
-
type:
|
|
15
|
+
type: _lssm_lib_schema445.FieldType<string, string>;
|
|
16
16
|
isOptional: false;
|
|
17
17
|
};
|
|
18
18
|
connectionId: {
|
|
19
|
-
type:
|
|
19
|
+
type: _lssm_lib_schema445.FieldType<string, string>;
|
|
20
20
|
isOptional: false;
|
|
21
21
|
};
|
|
22
22
|
externalId: {
|
|
23
|
-
type:
|
|
23
|
+
type: _lssm_lib_schema445.FieldType<string, string>;
|
|
24
24
|
isOptional: false;
|
|
25
25
|
};
|
|
26
26
|
institutionId: {
|
|
27
|
-
type:
|
|
27
|
+
type: _lssm_lib_schema445.FieldType<string, string>;
|
|
28
28
|
isOptional: false;
|
|
29
29
|
};
|
|
30
30
|
institutionName: {
|
|
31
|
-
type:
|
|
31
|
+
type: _lssm_lib_schema445.FieldType<string, string>;
|
|
32
32
|
isOptional: false;
|
|
33
33
|
};
|
|
34
34
|
institutionLogoUrl: {
|
|
35
|
-
type:
|
|
35
|
+
type: _lssm_lib_schema445.FieldType<string, string>;
|
|
36
36
|
isOptional: true;
|
|
37
37
|
};
|
|
38
38
|
iban: {
|
|
39
|
-
type:
|
|
39
|
+
type: _lssm_lib_schema445.FieldType<string, string>;
|
|
40
40
|
isOptional: true;
|
|
41
41
|
};
|
|
42
42
|
bic: {
|
|
43
|
-
type:
|
|
43
|
+
type: _lssm_lib_schema445.FieldType<string, string>;
|
|
44
44
|
isOptional: true;
|
|
45
45
|
};
|
|
46
46
|
accountType: {
|
|
47
|
-
type:
|
|
47
|
+
type: _lssm_lib_schema445.FieldType<string, string>;
|
|
48
48
|
isOptional: false;
|
|
49
49
|
};
|
|
50
50
|
currency: {
|
|
51
|
-
type:
|
|
51
|
+
type: _lssm_lib_schema445.FieldType<string, string>;
|
|
52
52
|
isOptional: false;
|
|
53
53
|
};
|
|
54
54
|
displayName: {
|
|
55
|
-
type:
|
|
55
|
+
type: _lssm_lib_schema445.FieldType<string, string>;
|
|
56
56
|
isOptional: false;
|
|
57
57
|
};
|
|
58
58
|
accountNumberMasked: {
|
|
59
|
-
type:
|
|
59
|
+
type: _lssm_lib_schema445.FieldType<string, string>;
|
|
60
60
|
isOptional: true;
|
|
61
61
|
};
|
|
62
62
|
productCode: {
|
|
63
|
-
type:
|
|
63
|
+
type: _lssm_lib_schema445.FieldType<string, string>;
|
|
64
64
|
isOptional: true;
|
|
65
65
|
};
|
|
66
66
|
balance: {
|
|
67
|
-
type:
|
|
67
|
+
type: _lssm_lib_schema445.FieldType<number, number>;
|
|
68
68
|
isOptional: true;
|
|
69
69
|
};
|
|
70
70
|
availableBalance: {
|
|
71
|
-
type:
|
|
71
|
+
type: _lssm_lib_schema445.FieldType<number, number>;
|
|
72
72
|
isOptional: true;
|
|
73
73
|
};
|
|
74
74
|
lastSyncedAt: {
|
|
75
|
-
type:
|
|
75
|
+
type: _lssm_lib_schema445.FieldType<Date, string>;
|
|
76
76
|
isOptional: false;
|
|
77
77
|
};
|
|
78
78
|
createdAt: {
|
|
79
|
-
type:
|
|
79
|
+
type: _lssm_lib_schema445.FieldType<Date, string>;
|
|
80
80
|
isOptional: false;
|
|
81
81
|
};
|
|
82
82
|
updatedAt: {
|
|
83
|
-
type:
|
|
83
|
+
type: _lssm_lib_schema445.FieldType<Date, string>;
|
|
84
84
|
isOptional: false;
|
|
85
85
|
};
|
|
86
86
|
metadata: {
|
|
87
|
-
type:
|
|
87
|
+
type: _lssm_lib_schema445.FieldType<Record<string, unknown>, Record<string, unknown>>;
|
|
88
88
|
isOptional: true;
|
|
89
89
|
};
|
|
90
90
|
}>;
|
|
91
91
|
declare const BankTransactionRecord: SchemaModel<{
|
|
92
92
|
id: {
|
|
93
|
-
type:
|
|
93
|
+
type: _lssm_lib_schema445.FieldType<string, string>;
|
|
94
94
|
isOptional: false;
|
|
95
95
|
};
|
|
96
96
|
accountId: {
|
|
97
|
-
type:
|
|
97
|
+
type: _lssm_lib_schema445.FieldType<string, string>;
|
|
98
98
|
isOptional: false;
|
|
99
99
|
};
|
|
100
100
|
tenantId: {
|
|
101
|
-
type:
|
|
101
|
+
type: _lssm_lib_schema445.FieldType<string, string>;
|
|
102
102
|
isOptional: false;
|
|
103
103
|
};
|
|
104
104
|
connectionId: {
|
|
105
|
-
type:
|
|
105
|
+
type: _lssm_lib_schema445.FieldType<string, string>;
|
|
106
106
|
isOptional: false;
|
|
107
107
|
};
|
|
108
108
|
externalId: {
|
|
109
|
-
type:
|
|
109
|
+
type: _lssm_lib_schema445.FieldType<string, string>;
|
|
110
110
|
isOptional: false;
|
|
111
111
|
};
|
|
112
112
|
amount: {
|
|
113
|
-
type:
|
|
113
|
+
type: _lssm_lib_schema445.FieldType<number, number>;
|
|
114
114
|
isOptional: false;
|
|
115
115
|
};
|
|
116
116
|
currency: {
|
|
117
|
-
type:
|
|
117
|
+
type: _lssm_lib_schema445.FieldType<string, string>;
|
|
118
118
|
isOptional: false;
|
|
119
119
|
};
|
|
120
120
|
date: {
|
|
121
|
-
type:
|
|
121
|
+
type: _lssm_lib_schema445.FieldType<Date, string>;
|
|
122
122
|
isOptional: false;
|
|
123
123
|
};
|
|
124
124
|
bookingDate: {
|
|
125
|
-
type:
|
|
125
|
+
type: _lssm_lib_schema445.FieldType<Date, string>;
|
|
126
126
|
isOptional: true;
|
|
127
127
|
};
|
|
128
128
|
valueDate: {
|
|
129
|
-
type:
|
|
129
|
+
type: _lssm_lib_schema445.FieldType<Date, string>;
|
|
130
130
|
isOptional: true;
|
|
131
131
|
};
|
|
132
132
|
description: {
|
|
133
|
-
type:
|
|
133
|
+
type: _lssm_lib_schema445.FieldType<string, string>;
|
|
134
134
|
isOptional: true;
|
|
135
135
|
};
|
|
136
136
|
counterpartyName: {
|
|
137
|
-
type:
|
|
137
|
+
type: _lssm_lib_schema445.FieldType<string, string>;
|
|
138
138
|
isOptional: true;
|
|
139
139
|
};
|
|
140
140
|
counterpartyAccount: {
|
|
141
|
-
type:
|
|
141
|
+
type: _lssm_lib_schema445.FieldType<string, string>;
|
|
142
142
|
isOptional: true;
|
|
143
143
|
};
|
|
144
144
|
merchantCategoryCode: {
|
|
145
|
-
type:
|
|
145
|
+
type: _lssm_lib_schema445.FieldType<string, string>;
|
|
146
146
|
isOptional: true;
|
|
147
147
|
};
|
|
148
148
|
rawCategory: {
|
|
149
|
-
type:
|
|
149
|
+
type: _lssm_lib_schema445.FieldType<string, string>;
|
|
150
150
|
isOptional: true;
|
|
151
151
|
};
|
|
152
152
|
standardizedCategory: {
|
|
153
|
-
type:
|
|
153
|
+
type: _lssm_lib_schema445.FieldType<string, string>;
|
|
154
154
|
isOptional: true;
|
|
155
155
|
};
|
|
156
156
|
transactionType: {
|
|
157
|
-
type:
|
|
157
|
+
type: _lssm_lib_schema445.FieldType<string, string>;
|
|
158
158
|
isOptional: false;
|
|
159
159
|
};
|
|
160
160
|
status: {
|
|
161
|
-
type:
|
|
161
|
+
type: _lssm_lib_schema445.FieldType<string, string>;
|
|
162
162
|
isOptional: false;
|
|
163
163
|
};
|
|
164
164
|
runningBalance: {
|
|
165
|
-
type:
|
|
165
|
+
type: _lssm_lib_schema445.FieldType<number, number>;
|
|
166
166
|
isOptional: true;
|
|
167
167
|
};
|
|
168
168
|
metadata: {
|
|
169
|
-
type:
|
|
169
|
+
type: _lssm_lib_schema445.FieldType<Record<string, unknown>, Record<string, unknown>>;
|
|
170
170
|
isOptional: true;
|
|
171
171
|
};
|
|
172
172
|
createdAt: {
|
|
173
|
-
type:
|
|
173
|
+
type: _lssm_lib_schema445.FieldType<Date, string>;
|
|
174
174
|
isOptional: false;
|
|
175
175
|
};
|
|
176
176
|
updatedAt: {
|
|
177
|
-
type:
|
|
177
|
+
type: _lssm_lib_schema445.FieldType<Date, string>;
|
|
178
178
|
isOptional: false;
|
|
179
179
|
};
|
|
180
180
|
}>;
|
|
181
181
|
declare const AccountBalanceRecord: SchemaModel<{
|
|
182
182
|
id: {
|
|
183
|
-
type:
|
|
183
|
+
type: _lssm_lib_schema445.FieldType<string, string>;
|
|
184
184
|
isOptional: false;
|
|
185
185
|
};
|
|
186
186
|
accountId: {
|
|
187
|
-
type:
|
|
187
|
+
type: _lssm_lib_schema445.FieldType<string, string>;
|
|
188
188
|
isOptional: false;
|
|
189
189
|
};
|
|
190
190
|
tenantId: {
|
|
191
|
-
type:
|
|
191
|
+
type: _lssm_lib_schema445.FieldType<string, string>;
|
|
192
192
|
isOptional: false;
|
|
193
193
|
};
|
|
194
194
|
connectionId: {
|
|
195
|
-
type:
|
|
195
|
+
type: _lssm_lib_schema445.FieldType<string, string>;
|
|
196
196
|
isOptional: false;
|
|
197
197
|
};
|
|
198
198
|
balanceType: {
|
|
199
|
-
type:
|
|
199
|
+
type: _lssm_lib_schema445.FieldType<string, string>;
|
|
200
200
|
isOptional: false;
|
|
201
201
|
};
|
|
202
202
|
currentBalance: {
|
|
203
|
-
type:
|
|
203
|
+
type: _lssm_lib_schema445.FieldType<number, number>;
|
|
204
204
|
isOptional: false;
|
|
205
205
|
};
|
|
206
206
|
availableBalance: {
|
|
207
|
-
type:
|
|
207
|
+
type: _lssm_lib_schema445.FieldType<number, number>;
|
|
208
208
|
isOptional: true;
|
|
209
209
|
};
|
|
210
210
|
currency: {
|
|
211
|
-
type:
|
|
211
|
+
type: _lssm_lib_schema445.FieldType<string, string>;
|
|
212
212
|
isOptional: false;
|
|
213
213
|
};
|
|
214
214
|
lastUpdatedAt: {
|
|
215
|
-
type:
|
|
215
|
+
type: _lssm_lib_schema445.FieldType<Date, string>;
|
|
216
216
|
isOptional: false;
|
|
217
217
|
};
|
|
218
218
|
createdAt: {
|
|
219
|
-
type:
|
|
219
|
+
type: _lssm_lib_schema445.FieldType<Date, string>;
|
|
220
220
|
isOptional: false;
|
|
221
221
|
};
|
|
222
222
|
metadata: {
|
|
223
|
-
type:
|
|
223
|
+
type: _lssm_lib_schema445.FieldType<Record<string, unknown>, Record<string, unknown>>;
|
|
224
224
|
isOptional: true;
|
|
225
225
|
};
|
|
226
226
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.js","names":["SchemaModel","ScalarTypeEnum"],"sources":["../../../src/integrations/openbanking/models.ts"],"sourcesContent":["import {\n ScalarTypeEnum,\n SchemaModel,\n} from '@lssm/lib.schema';\n\nexport const BankAccountRecord = new SchemaModel({\n name: 'BankAccountRecord',\n description:\n 'Canonical representation of a bank account synced from an open banking provider.',\n fields: {\n id: { type: ScalarTypeEnum.ID(), isOptional: false },\n tenantId: { type: ScalarTypeEnum.ID(), isOptional: false },\n userId: { type: ScalarTypeEnum.ID(), isOptional: false },\n connectionId: { type: ScalarTypeEnum.ID(), isOptional: false },\n externalId: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },\n institutionId: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },\n institutionName: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },\n institutionLogoUrl: { type: ScalarTypeEnum.URL(), isOptional: true },\n iban: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n bic: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n accountType: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },\n currency: { type: ScalarTypeEnum.Currency(), isOptional: false },\n displayName: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },\n accountNumberMasked: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n productCode: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n balance: { type: ScalarTypeEnum.Float_unsecure(), isOptional: true },\n availableBalance: { type: ScalarTypeEnum.Float_unsecure(), isOptional: true },\n lastSyncedAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n createdAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n updatedAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n metadata: { type: ScalarTypeEnum.JSONObject(), isOptional: true },\n },\n});\n\nexport const BankTransactionRecord = new SchemaModel({\n name: 'BankTransactionRecord',\n description:\n 'Canonical transaction entry mapped from Powens into the open banking ledger.',\n fields: {\n id: { type: ScalarTypeEnum.ID(), isOptional: false },\n accountId: { type: ScalarTypeEnum.ID(), isOptional: false },\n tenantId: { type: ScalarTypeEnum.ID(), isOptional: false },\n connectionId: { type: ScalarTypeEnum.ID(), isOptional: false },\n externalId: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },\n amount: { type: ScalarTypeEnum.Float_unsecure(), isOptional: false },\n currency: { type: ScalarTypeEnum.Currency(), isOptional: false },\n date: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n bookingDate: { type: ScalarTypeEnum.DateTime(), isOptional: true },\n valueDate: { type: ScalarTypeEnum.DateTime(), isOptional: true },\n description: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n counterpartyName: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n counterpartyAccount: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n merchantCategoryCode: {\n type: ScalarTypeEnum.String_unsecure(),\n isOptional: true,\n },\n rawCategory: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n standardizedCategory: {\n type: ScalarTypeEnum.String_unsecure(),\n isOptional: true,\n },\n transactionType: {\n type: ScalarTypeEnum.NonEmptyString(),\n isOptional: false,\n },\n status: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },\n runningBalance: { type: ScalarTypeEnum.Float_unsecure(), isOptional: true },\n metadata: { type: ScalarTypeEnum.JSONObject(), isOptional: true },\n createdAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n updatedAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n },\n});\n\nexport const AccountBalanceRecord = new SchemaModel({\n name: 'AccountBalanceRecord',\n description:\n 'Canonical balance snapshot computed from Powens balance payloads.',\n fields: {\n id: { type: ScalarTypeEnum.ID(), isOptional: false },\n accountId: { type: ScalarTypeEnum.ID(), isOptional: false },\n tenantId: { type: ScalarTypeEnum.ID(), isOptional: false },\n connectionId: { type: ScalarTypeEnum.ID(), isOptional: false },\n balanceType: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },\n currentBalance: { type: ScalarTypeEnum.Float_unsecure(), isOptional: false },\n availableBalance: {\n type: ScalarTypeEnum.Float_unsecure(),\n isOptional: true,\n },\n currency: { type: ScalarTypeEnum.Currency(), isOptional: false },\n lastUpdatedAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n createdAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n metadata: { type: ScalarTypeEnum.JSONObject(), isOptional: true },\n },\n});\n\n\n\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"models.js","names":["SchemaModel","ScalarTypeEnum"],"sources":["../../../src/integrations/openbanking/models.ts"],"sourcesContent":["import {\n ScalarTypeEnum,\n SchemaModel,\n} from '@lssm/lib.schema';\n\nexport const BankAccountRecord = new SchemaModel({\n name: 'BankAccountRecord',\n description:\n 'Canonical representation of a bank account synced from an open banking provider.',\n fields: {\n id: { type: ScalarTypeEnum.ID(), isOptional: false },\n tenantId: { type: ScalarTypeEnum.ID(), isOptional: false },\n userId: { type: ScalarTypeEnum.ID(), isOptional: false },\n connectionId: { type: ScalarTypeEnum.ID(), isOptional: false },\n externalId: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },\n institutionId: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },\n institutionName: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },\n institutionLogoUrl: { type: ScalarTypeEnum.URL(), isOptional: true },\n iban: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n bic: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n accountType: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },\n currency: { type: ScalarTypeEnum.Currency(), isOptional: false },\n displayName: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },\n accountNumberMasked: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n productCode: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n balance: { type: ScalarTypeEnum.Float_unsecure(), isOptional: true },\n availableBalance: { type: ScalarTypeEnum.Float_unsecure(), isOptional: true },\n lastSyncedAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n createdAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n updatedAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n metadata: { type: ScalarTypeEnum.JSONObject(), isOptional: true },\n },\n});\n\nexport const BankTransactionRecord = new SchemaModel({\n name: 'BankTransactionRecord',\n description:\n 'Canonical transaction entry mapped from Powens into the open banking ledger.',\n fields: {\n id: { type: ScalarTypeEnum.ID(), isOptional: false },\n accountId: { type: ScalarTypeEnum.ID(), isOptional: false },\n tenantId: { type: ScalarTypeEnum.ID(), isOptional: false },\n connectionId: { type: ScalarTypeEnum.ID(), isOptional: false },\n externalId: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },\n amount: { type: ScalarTypeEnum.Float_unsecure(), isOptional: false },\n currency: { type: ScalarTypeEnum.Currency(), isOptional: false },\n date: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n bookingDate: { type: ScalarTypeEnum.DateTime(), isOptional: true },\n valueDate: { type: ScalarTypeEnum.DateTime(), isOptional: true },\n description: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n counterpartyName: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n counterpartyAccount: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n merchantCategoryCode: {\n type: ScalarTypeEnum.String_unsecure(),\n isOptional: true,\n },\n rawCategory: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n standardizedCategory: {\n type: ScalarTypeEnum.String_unsecure(),\n isOptional: true,\n },\n transactionType: {\n type: ScalarTypeEnum.NonEmptyString(),\n isOptional: false,\n },\n status: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },\n runningBalance: { type: ScalarTypeEnum.Float_unsecure(), isOptional: true },\n metadata: { type: ScalarTypeEnum.JSONObject(), isOptional: true },\n createdAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n updatedAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n },\n});\n\nexport const AccountBalanceRecord = new SchemaModel({\n name: 'AccountBalanceRecord',\n description:\n 'Canonical balance snapshot computed from Powens balance payloads.',\n fields: {\n id: { type: ScalarTypeEnum.ID(), isOptional: false },\n accountId: { type: ScalarTypeEnum.ID(), isOptional: false },\n tenantId: { type: ScalarTypeEnum.ID(), isOptional: false },\n connectionId: { type: ScalarTypeEnum.ID(), isOptional: false },\n balanceType: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },\n currentBalance: { type: ScalarTypeEnum.Float_unsecure(), isOptional: false },\n availableBalance: {\n type: ScalarTypeEnum.Float_unsecure(),\n isOptional: true,\n },\n currency: { type: ScalarTypeEnum.Currency(), isOptional: false },\n lastUpdatedAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n createdAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n metadata: { type: ScalarTypeEnum.JSONObject(), isOptional: true },\n },\n});\n\n\n\n\n\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telemetry.js","names":["redacted: Record<string, unknown>"],"sources":["../../../src/integrations/openbanking/telemetry.ts"],"sourcesContent":["export const OPENBANKING_PII_FIELDS = [\n 'iban',\n 'bic',\n 'accountNumberMasked',\n 'accountNumber',\n 'counterpartyName',\n 'counterpartyAccount',\n 'description',\n 'merchantName',\n 'merchantCategoryCode',\n 'reference',\n] as const;\n\nexport const OPENBANKING_TELEMETRY_EVENTS = {\n accountsSynced: 'openbanking.accounts.synced',\n accountsSyncFailed: 'openbanking.accounts.sync_failed',\n transactionsSynced: 'openbanking.transactions.synced',\n transactionsSyncFailed: 'openbanking.transactions.sync_failed',\n balancesRefreshed: 'openbanking.balances.refreshed',\n balancesRefreshFailed: 'openbanking.balances.refresh_failed',\n overviewGenerated: 'openbanking.overview.generated',\n} as const;\n\nexport type OpenBankingTelemetryEvent =\n (typeof OPENBANKING_TELEMETRY_EVENTS)[keyof typeof OPENBANKING_TELEMETRY_EVENTS];\n\nexport function redactOpenBankingTelemetryPayload<\n T extends Record<string, unknown>\n>(payload: T): T {\n const redacted: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(payload)) {\n if (OPENBANKING_PII_FIELDS.includes(key as (typeof OPENBANKING_PII_FIELDS)[number])) {\n redacted[key] = maskValue(value);\n } else if (Array.isArray(value)) {\n redacted[key] = value.map((item) =>\n typeof item === 'object' && item !== null\n ? redactOpenBankingTelemetryPayload(item as Record<string, unknown>)\n : item\n );\n } else if (typeof value === 'object' && value !== null) {\n redacted[key] = redactOpenBankingTelemetryPayload(\n value as Record<string, unknown>\n );\n } else {\n redacted[key] = value;\n }\n }\n return redacted as T;\n}\n\nfunction maskValue(value: unknown): string {\n if (value == null) return '';\n const str = String(value);\n if (str.length <= 4) return '*'.repeat(str.length);\n return `${'*'.repeat(Math.max(str.length - 4, 0))}${str.slice(-4)}`;\n}\n\n\n"],"mappings":"AAAA,MAAa,EAAyB,CACpC,OACA,MACA,sBACA,gBACA,mBACA,sBACA,cACA,eACA,uBACA,YACD,CAEY,EAA+B,CAC1C,eAAgB,8BAChB,mBAAoB,mCACpB,mBAAoB,kCACpB,uBAAwB,uCACxB,kBAAmB,iCACnB,sBAAuB,sCACvB,kBAAmB,iCACpB,CAKD,SAAgB,EAEd,EAAe,CACf,IAAMA,EAAoC,EAAE,CAC5C,IAAK,GAAM,CAAC,EAAK,KAAU,OAAO,QAAQ,EAAQ,CAC5C,EAAuB,SAAS,EAA+C,CACjF,EAAS,GAAO,EAAU,EAAM,CACvB,MAAM,QAAQ,EAAM,CAC7B,EAAS,GAAO,EAAM,IAAK,GACzB,OAAO,GAAS,UAAY,EACxB,EAAkC,EAAgC,CAClE,EACL,CACQ,OAAO,GAAU,UAAY,EACtC,EAAS,GAAO,EACd,EACD,CAED,EAAS,GAAO,EAGpB,OAAO,EAGT,SAAS,EAAU,EAAwB,CACzC,GAAI,GAAS,KAAM,MAAO,GAC1B,IAAM,EAAM,OAAO,EAAM,CAEzB,OADI,EAAI,QAAU,EAAU,IAAI,OAAO,EAAI,OAAO,CAC3C,GAAG,IAAI,OAAO,KAAK,IAAI,EAAI,OAAS,EAAG,EAAE,CAAC,GAAG,EAAI,MAAM,GAAG"}
|
|
1
|
+
{"version":3,"file":"telemetry.js","names":["redacted: Record<string, unknown>"],"sources":["../../../src/integrations/openbanking/telemetry.ts"],"sourcesContent":["export const OPENBANKING_PII_FIELDS = [\n 'iban',\n 'bic',\n 'accountNumberMasked',\n 'accountNumber',\n 'counterpartyName',\n 'counterpartyAccount',\n 'description',\n 'merchantName',\n 'merchantCategoryCode',\n 'reference',\n] as const;\n\nexport const OPENBANKING_TELEMETRY_EVENTS = {\n accountsSynced: 'openbanking.accounts.synced',\n accountsSyncFailed: 'openbanking.accounts.sync_failed',\n transactionsSynced: 'openbanking.transactions.synced',\n transactionsSyncFailed: 'openbanking.transactions.sync_failed',\n balancesRefreshed: 'openbanking.balances.refreshed',\n balancesRefreshFailed: 'openbanking.balances.refresh_failed',\n overviewGenerated: 'openbanking.overview.generated',\n} as const;\n\nexport type OpenBankingTelemetryEvent =\n (typeof OPENBANKING_TELEMETRY_EVENTS)[keyof typeof OPENBANKING_TELEMETRY_EVENTS];\n\nexport function redactOpenBankingTelemetryPayload<\n T extends Record<string, unknown>\n>(payload: T): T {\n const redacted: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(payload)) {\n if (OPENBANKING_PII_FIELDS.includes(key as (typeof OPENBANKING_PII_FIELDS)[number])) {\n redacted[key] = maskValue(value);\n } else if (Array.isArray(value)) {\n redacted[key] = value.map((item) =>\n typeof item === 'object' && item !== null\n ? redactOpenBankingTelemetryPayload(item as Record<string, unknown>)\n : item\n );\n } else if (typeof value === 'object' && value !== null) {\n redacted[key] = redactOpenBankingTelemetryPayload(\n value as Record<string, unknown>\n );\n } else {\n redacted[key] = value;\n }\n }\n return redacted as T;\n}\n\nfunction maskValue(value: unknown): string {\n if (value == null) return '';\n const str = String(value);\n if (str.length <= 4) return '*'.repeat(str.length);\n return `${'*'.repeat(Math.max(str.length - 4, 0))}${str.slice(-4)}`;\n}\n\n\n\n\n"],"mappings":"AAAA,MAAa,EAAyB,CACpC,OACA,MACA,sBACA,gBACA,mBACA,sBACA,cACA,eACA,uBACA,YACD,CAEY,EAA+B,CAC1C,eAAgB,8BAChB,mBAAoB,mCACpB,mBAAoB,kCACpB,uBAAwB,uCACxB,kBAAmB,iCACnB,sBAAuB,sCACvB,kBAAmB,iCACpB,CAKD,SAAgB,EAEd,EAAe,CACf,IAAMA,EAAoC,EAAE,CAC5C,IAAK,GAAM,CAAC,EAAK,KAAU,OAAO,QAAQ,EAAQ,CAC5C,EAAuB,SAAS,EAA+C,CACjF,EAAS,GAAO,EAAU,EAAM,CACvB,MAAM,QAAQ,EAAM,CAC7B,EAAS,GAAO,EAAM,IAAK,GACzB,OAAO,GAAS,UAAY,EACxB,EAAkC,EAAgC,CAClE,EACL,CACQ,OAAO,GAAU,UAAY,EACtC,EAAS,GAAO,EACd,EACD,CAED,EAAS,GAAO,EAGpB,OAAO,EAGT,SAAS,EAAU,EAAwB,CACzC,GAAI,GAAS,KAAM,MAAO,GAC1B,IAAM,EAAM,OAAO,EAAM,CAEzB,OADI,EAAI,QAAU,EAAU,IAAI,OAAO,EAAI,OAAO,CAC3C,GAAG,IAAI,OAAO,KAAK,IAAI,EAAI,OAAS,EAAG,EAAE,CAAC,GAAG,EAAI,MAAM,GAAG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"powens.js","names":["powensIntegrationSpec: IntegrationSpec"],"sources":["../../../src/integrations/providers/powens.ts"],"sourcesContent":["import { StabilityEnum } from '../../ownership';\nimport type { IntegrationSpec } from '../spec';\nimport type { IntegrationSpecRegistry } from '../spec';\n\nexport const powensIntegrationSpec: IntegrationSpec = {\n meta: {\n key: 'openbanking.powens',\n version: 1,\n category: 'open-banking',\n displayName: 'Powens Open Banking',\n title: 'Powens Open Banking (Read)',\n description:\n 'Read-only Open Banking integration powered by Powens, exposing accounts, transactions, and balances.',\n domain: 'finance',\n owners: ['platform.finance'],\n tags: ['open-banking', 'powens', 'finance'],\n stability: StabilityEnum.Experimental,\n },\n supportedModes: ['byok'],\n capabilities: {\n provides: [\n { key: 'openbanking.accounts.read', version: 1 },\n { key: 'openbanking.transactions.read', version: 1 },\n { key: 'openbanking.balances.read', version: 1 },\n ],\n },\n configSchema: {\n schema: {\n type: 'object',\n required: ['environment'],\n properties: {\n environment: {\n type: 'string',\n enum: ['sandbox', 'production'],\n description:\n 'Powens environment to target. Sandbox uses Powens test API base URL, production uses live endpoints.',\n },\n baseUrl: {\n type: 'string',\n description:\n 'Optional override for the Powens API base URL. Defaults to Powens environment defaults.',\n },\n region: {\n type: 'string',\n description:\n 'Optional Powens region identifier when targeting a specific data residency cluster.',\n },\n pollingIntervalMs: {\n type: 'number',\n description:\n 'Optional custom polling interval in milliseconds for background sync jobs (defaults to platform standard).',\n },\n },\n },\n example: {\n environment: 'sandbox',\n baseUrl: 'https://api-sandbox.powens.com/v2',\n region: 'eu-west-1',\n pollingIntervalMs: 300000,\n },\n },\n secretSchema: {\n schema: {\n type: 'object',\n required: ['clientId', 'clientSecret'],\n properties: {\n clientId: {\n type: 'string',\n description:\n 'Powens OAuth client identifier obtained from the Powens Console (BYOK project).',\n },\n clientSecret: {\n type: 'string',\n description:\n 'Powens OAuth client secret used to exchange for access tokens.',\n },\n apiKey: {\n type: 'string',\n description:\n 'Optional Powens API key (if the tenant project exposes a dedicated API token).',\n },\n webhookSecret: {\n type: 'string',\n description:\n 'Optional webhook signing secret used to verify Powens webhook payloads.',\n },\n },\n },\n example: {\n clientId: 'powens-client-id',\n clientSecret: 'powens-client-secret',\n apiKey: 'powens-api-key',\n webhookSecret: 'powens-webhook-secret',\n },\n },\n healthCheck: {\n method: 'ping',\n timeoutMs: 8000,\n },\n docsUrl: 'https://docs.powens.com/',\n constraints: {\n rateLimit: {\n rph: 10000,\n rpm: 600,\n },\n },\n byokSetup: {\n setupInstructions:\n 'Create a Powens BYOK project, generate OAuth credentials, and optionally configure webhook delivery for account/transaction updates.',\n requiredScopes: ['accounts:read', 'transactions:read', 'balances:read'],\n },\n};\n\nexport function registerPowensIntegration(\n registry: IntegrationSpecRegistry\n): IntegrationSpecRegistry {\n return registry.register(powensIntegrationSpec);\n}\n\n\n"],"mappings":"mDAIA,MAAaA,EAAyC,CACpD,KAAM,CACJ,IAAK,qBACL,QAAS,EACT,SAAU,eACV,YAAa,sBACb,MAAO,6BACP,YACE,uGACF,OAAQ,UACR,OAAQ,CAAC,mBAAmB,CAC5B,KAAM,CAAC,eAAgB,SAAU,UAAU,CAC3C,UAAW,EAAc,aAC1B,CACD,eAAgB,CAAC,OAAO,CACxB,aAAc,CACZ,SAAU,CACR,CAAE,IAAK,4BAA6B,QAAS,EAAG,CAChD,CAAE,IAAK,gCAAiC,QAAS,EAAG,CACpD,CAAE,IAAK,4BAA6B,QAAS,EAAG,CACjD,CACF,CACD,aAAc,CACZ,OAAQ,CACN,KAAM,SACN,SAAU,CAAC,cAAc,CACzB,WAAY,CACV,YAAa,CACX,KAAM,SACN,KAAM,CAAC,UAAW,aAAa,CAC/B,YACE,uGACH,CACD,QAAS,CACP,KAAM,SACN,YACE,0FACH,CACD,OAAQ,CACN,KAAM,SACN,YACE,sFACH,CACD,kBAAmB,CACjB,KAAM,SACN,YACE,6GACH,CACF,CACF,CACD,QAAS,CACP,YAAa,UACb,QAAS,oCACT,OAAQ,YACR,kBAAmB,IACpB,CACF,CACD,aAAc,CACZ,OAAQ,CACN,KAAM,SACN,SAAU,CAAC,WAAY,eAAe,CACtC,WAAY,CACV,SAAU,CACR,KAAM,SACN,YACE,kFACH,CACD,aAAc,CACZ,KAAM,SACN,YACE,iEACH,CACD,OAAQ,CACN,KAAM,SACN,YACE,iFACH,CACD,cAAe,CACb,KAAM,SACN,YACE,0EACH,CACF,CACF,CACD,QAAS,CACP,SAAU,mBACV,aAAc,uBACd,OAAQ,iBACR,cAAe,wBAChB,CACF,CACD,YAAa,CACX,OAAQ,OACR,UAAW,IACZ,CACD,QAAS,2BACT,YAAa,CACX,UAAW,CACT,IAAK,IACL,IAAK,IACN,CACF,CACD,UAAW,CACT,kBACE,uIACF,eAAgB,CAAC,gBAAiB,oBAAqB,gBAAgB,CACxE,CACF,CAED,SAAgB,EACd,EACyB,CACzB,OAAO,EAAS,SAAS,EAAsB"}
|
|
1
|
+
{"version":3,"file":"powens.js","names":["powensIntegrationSpec: IntegrationSpec"],"sources":["../../../src/integrations/providers/powens.ts"],"sourcesContent":["import { StabilityEnum } from '../../ownership';\nimport type { IntegrationSpec } from '../spec';\nimport type { IntegrationSpecRegistry } from '../spec';\n\nexport const powensIntegrationSpec: IntegrationSpec = {\n meta: {\n key: 'openbanking.powens',\n version: 1,\n category: 'open-banking',\n displayName: 'Powens Open Banking',\n title: 'Powens Open Banking (Read)',\n description:\n 'Read-only Open Banking integration powered by Powens, exposing accounts, transactions, and balances.',\n domain: 'finance',\n owners: ['platform.finance'],\n tags: ['open-banking', 'powens', 'finance'],\n stability: StabilityEnum.Experimental,\n },\n supportedModes: ['byok'],\n capabilities: {\n provides: [\n { key: 'openbanking.accounts.read', version: 1 },\n { key: 'openbanking.transactions.read', version: 1 },\n { key: 'openbanking.balances.read', version: 1 },\n ],\n },\n configSchema: {\n schema: {\n type: 'object',\n required: ['environment'],\n properties: {\n environment: {\n type: 'string',\n enum: ['sandbox', 'production'],\n description:\n 'Powens environment to target. Sandbox uses Powens test API base URL, production uses live endpoints.',\n },\n baseUrl: {\n type: 'string',\n description:\n 'Optional override for the Powens API base URL. Defaults to Powens environment defaults.',\n },\n region: {\n type: 'string',\n description:\n 'Optional Powens region identifier when targeting a specific data residency cluster.',\n },\n pollingIntervalMs: {\n type: 'number',\n description:\n 'Optional custom polling interval in milliseconds for background sync jobs (defaults to platform standard).',\n },\n },\n },\n example: {\n environment: 'sandbox',\n baseUrl: 'https://api-sandbox.powens.com/v2',\n region: 'eu-west-1',\n pollingIntervalMs: 300000,\n },\n },\n secretSchema: {\n schema: {\n type: 'object',\n required: ['clientId', 'clientSecret'],\n properties: {\n clientId: {\n type: 'string',\n description:\n 'Powens OAuth client identifier obtained from the Powens Console (BYOK project).',\n },\n clientSecret: {\n type: 'string',\n description:\n 'Powens OAuth client secret used to exchange for access tokens.',\n },\n apiKey: {\n type: 'string',\n description:\n 'Optional Powens API key (if the tenant project exposes a dedicated API token).',\n },\n webhookSecret: {\n type: 'string',\n description:\n 'Optional webhook signing secret used to verify Powens webhook payloads.',\n },\n },\n },\n example: {\n clientId: 'powens-client-id',\n clientSecret: 'powens-client-secret',\n apiKey: 'powens-api-key',\n webhookSecret: 'powens-webhook-secret',\n },\n },\n healthCheck: {\n method: 'ping',\n timeoutMs: 8000,\n },\n docsUrl: 'https://docs.powens.com/',\n constraints: {\n rateLimit: {\n rph: 10000,\n rpm: 600,\n },\n },\n byokSetup: {\n setupInstructions:\n 'Create a Powens BYOK project, generate OAuth credentials, and optionally configure webhook delivery for account/transaction updates.',\n requiredScopes: ['accounts:read', 'transactions:read', 'balances:read'],\n },\n};\n\nexport function registerPowensIntegration(\n registry: IntegrationSpecRegistry\n): IntegrationSpecRegistry {\n return registry.register(powensIntegrationSpec);\n}\n\n\n\n\n"],"mappings":"mDAIA,MAAaA,EAAyC,CACpD,KAAM,CACJ,IAAK,qBACL,QAAS,EACT,SAAU,eACV,YAAa,sBACb,MAAO,6BACP,YACE,uGACF,OAAQ,UACR,OAAQ,CAAC,mBAAmB,CAC5B,KAAM,CAAC,eAAgB,SAAU,UAAU,CAC3C,UAAW,EAAc,aAC1B,CACD,eAAgB,CAAC,OAAO,CACxB,aAAc,CACZ,SAAU,CACR,CAAE,IAAK,4BAA6B,QAAS,EAAG,CAChD,CAAE,IAAK,gCAAiC,QAAS,EAAG,CACpD,CAAE,IAAK,4BAA6B,QAAS,EAAG,CACjD,CACF,CACD,aAAc,CACZ,OAAQ,CACN,KAAM,SACN,SAAU,CAAC,cAAc,CACzB,WAAY,CACV,YAAa,CACX,KAAM,SACN,KAAM,CAAC,UAAW,aAAa,CAC/B,YACE,uGACH,CACD,QAAS,CACP,KAAM,SACN,YACE,0FACH,CACD,OAAQ,CACN,KAAM,SACN,YACE,sFACH,CACD,kBAAmB,CACjB,KAAM,SACN,YACE,6GACH,CACF,CACF,CACD,QAAS,CACP,YAAa,UACb,QAAS,oCACT,OAAQ,YACR,kBAAmB,IACpB,CACF,CACD,aAAc,CACZ,OAAQ,CACN,KAAM,SACN,SAAU,CAAC,WAAY,eAAe,CACtC,WAAY,CACV,SAAU,CACR,KAAM,SACN,YACE,kFACH,CACD,aAAc,CACZ,KAAM,SACN,YACE,iEACH,CACD,OAAQ,CACN,KAAM,SACN,YACE,iFACH,CACD,cAAe,CACb,KAAM,SACN,YACE,0EACH,CACF,CACF,CACD,QAAS,CACP,SAAU,mBACV,aAAc,uBACd,OAAQ,iBACR,cAAe,wBAChB,CACF,CACD,YAAa,CACX,OAAQ,OACR,UAAW,IACZ,CACD,QAAS,2BACT,YAAa,CACX,UAAW,CACT,IAAK,IACL,IAAK,IACN,CACF,CACD,UAAW,CACT,kBACE,uIACF,eAAgB,CAAC,gBAAiB,oBAAqB,gBAAgB,CACxE,CACF,CAED,SAAgB,EACd,EACyB,CACzB,OAAO,EAAS,SAAS,EAAsB"}
|