@lssm/lib.contracts 1.7.2 → 1.7.3
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 +49 -51
- package/dist/app-config/contracts.d.ts.map +1 -1
- package/dist/app-config/contracts.js +1 -1
- package/dist/app-config/contracts.js.map +1 -1
- package/dist/app-config/events.d.ts +26 -28
- package/dist/app-config/events.d.ts.map +1 -1
- package/dist/app-config/events.js +1 -1
- package/dist/app-config/events.js.map +1 -1
- package/dist/app-config/lifecycle-contracts.d.ts +79 -81
- package/dist/app-config/lifecycle-contracts.d.ts.map +1 -1
- package/dist/app-config/lifecycle-contracts.js +1 -1
- package/dist/app-config/lifecycle-contracts.js.map +1 -1
- package/dist/capabilities/openbanking.js.map +1 -1
- package/dist/client/react/form-render.d.ts +0 -1
- package/dist/client/react/form-render.d.ts.map +1 -1
- package/dist/contracts-adapter-input.d.ts +0 -1
- package/dist/contracts-adapter-input.d.ts.map +1 -1
- package/dist/events.d.ts +0 -1
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +1 -1
- package/dist/events.js.map +1 -1
- package/dist/forms.d.ts +0 -1
- package/dist/forms.d.ts.map +1 -1
- package/dist/install.d.ts +0 -1
- package/dist/install.d.ts.map +1 -1
- package/dist/integrations/contracts.d.ts +101 -103
- package/dist/integrations/contracts.d.ts.map +1 -1
- package/dist/integrations/contracts.js +1 -1
- package/dist/integrations/contracts.js.map +1 -1
- package/dist/integrations/openbanking/contracts/accounts.d.ts +65 -67
- package/dist/integrations/openbanking/contracts/accounts.d.ts.map +1 -1
- package/dist/integrations/openbanking/contracts/accounts.js +1 -1
- package/dist/integrations/openbanking/contracts/accounts.js.map +1 -1
- package/dist/integrations/openbanking/contracts/balances.d.ts +33 -35
- package/dist/integrations/openbanking/contracts/balances.d.ts.map +1 -1
- package/dist/integrations/openbanking/contracts/balances.js +1 -1
- package/dist/integrations/openbanking/contracts/balances.js.map +1 -1
- package/dist/integrations/openbanking/contracts/index.js.map +1 -1
- package/dist/integrations/openbanking/contracts/transactions.d.ts +47 -49
- package/dist/integrations/openbanking/contracts/transactions.d.ts.map +1 -1
- package/dist/integrations/openbanking/contracts/transactions.js +1 -1
- package/dist/integrations/openbanking/contracts/transactions.js.map +1 -1
- package/dist/integrations/openbanking/guards.js.map +1 -1
- package/dist/integrations/openbanking/models.d.ts +54 -57
- package/dist/integrations/openbanking/models.d.ts.map +1 -1
- package/dist/integrations/openbanking/models.js +1 -1
- 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/jsonschema.d.ts +1 -1
- package/dist/jsonschema.d.ts.map +1 -1
- package/dist/knowledge/contracts.d.ts +65 -67
- package/dist/knowledge/contracts.d.ts.map +1 -1
- package/dist/knowledge/contracts.js +1 -1
- 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 +28 -30
- package/dist/onboarding-base.d.ts.map +1 -1
- package/dist/onboarding-base.js +1 -1
- package/dist/onboarding-base.js.map +1 -1
- package/dist/presentations.d.ts +0 -1
- package/dist/presentations.d.ts.map +1 -1
- package/dist/presentations.v2.d.ts +0 -1
- package/dist/presentations.v2.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/registry.d.ts +0 -1
- package/dist/registry.d.ts.map +1 -1
- package/dist/resources.d.ts.map +1 -1
- package/dist/schema/{dist → src}/FieldType.js +1 -1
- package/dist/schema/src/FieldType.js.map +1 -0
- package/dist/schema/src/ScalarTypeEnum.js +2 -0
- package/dist/schema/src/ScalarTypeEnum.js.map +1 -0
- package/dist/schema/{dist → src}/SchemaModel.js +1 -1
- package/dist/schema/src/SchemaModel.js.map +1 -0
- package/dist/schema/src/index.js +1 -0
- package/dist/spec.d.ts +0 -1
- package/dist/spec.d.ts.map +1 -1
- package/dist/workflow/spec.d.ts.map +1 -1
- package/package.json +339 -168
- package/dist/schema/dist/FieldType.js.map +0 -1
- package/dist/schema/dist/ScalarTypeEnum.js +0 -2
- package/dist/schema/dist/ScalarTypeEnum.js.map +0 -1
- package/dist/schema/dist/SchemaModel.js.map +0 -1
- package/dist/schema/dist/index.js +0 -1
- /package/dist/schema/{dist → src}/EnumType.js +0 -0
|
@@ -1,226 +1,223 @@
|
|
|
1
|
-
import * as _lssm_lib_schema246 from "@lssm/lib.schema";
|
|
2
|
-
import { SchemaModel } from "@lssm/lib.schema";
|
|
3
|
-
|
|
4
1
|
//#region src/integrations/openbanking/models.d.ts
|
|
5
2
|
declare const BankAccountRecord: SchemaModel<{
|
|
6
3
|
id: {
|
|
7
|
-
type:
|
|
4
|
+
type: void 0<string, string>;
|
|
8
5
|
isOptional: false;
|
|
9
6
|
};
|
|
10
7
|
tenantId: {
|
|
11
|
-
type:
|
|
8
|
+
type: void 0<string, string>;
|
|
12
9
|
isOptional: false;
|
|
13
10
|
};
|
|
14
11
|
userId: {
|
|
15
|
-
type:
|
|
12
|
+
type: void 0<string, string>;
|
|
16
13
|
isOptional: false;
|
|
17
14
|
};
|
|
18
15
|
connectionId: {
|
|
19
|
-
type:
|
|
16
|
+
type: void 0<string, string>;
|
|
20
17
|
isOptional: false;
|
|
21
18
|
};
|
|
22
19
|
externalId: {
|
|
23
|
-
type:
|
|
20
|
+
type: void 0<string, string>;
|
|
24
21
|
isOptional: false;
|
|
25
22
|
};
|
|
26
23
|
institutionId: {
|
|
27
|
-
type:
|
|
24
|
+
type: void 0<string, string>;
|
|
28
25
|
isOptional: false;
|
|
29
26
|
};
|
|
30
27
|
institutionName: {
|
|
31
|
-
type:
|
|
28
|
+
type: void 0<string, string>;
|
|
32
29
|
isOptional: false;
|
|
33
30
|
};
|
|
34
31
|
institutionLogoUrl: {
|
|
35
|
-
type:
|
|
32
|
+
type: void 0<string, string>;
|
|
36
33
|
isOptional: true;
|
|
37
34
|
};
|
|
38
35
|
iban: {
|
|
39
|
-
type:
|
|
36
|
+
type: void 0<string, string>;
|
|
40
37
|
isOptional: true;
|
|
41
38
|
};
|
|
42
39
|
bic: {
|
|
43
|
-
type:
|
|
40
|
+
type: void 0<string, string>;
|
|
44
41
|
isOptional: true;
|
|
45
42
|
};
|
|
46
43
|
accountType: {
|
|
47
|
-
type:
|
|
44
|
+
type: void 0<string, string>;
|
|
48
45
|
isOptional: false;
|
|
49
46
|
};
|
|
50
47
|
currency: {
|
|
51
|
-
type:
|
|
48
|
+
type: void 0<string, string>;
|
|
52
49
|
isOptional: false;
|
|
53
50
|
};
|
|
54
51
|
displayName: {
|
|
55
|
-
type:
|
|
52
|
+
type: void 0<string, string>;
|
|
56
53
|
isOptional: false;
|
|
57
54
|
};
|
|
58
55
|
accountNumberMasked: {
|
|
59
|
-
type:
|
|
56
|
+
type: void 0<string, string>;
|
|
60
57
|
isOptional: true;
|
|
61
58
|
};
|
|
62
59
|
productCode: {
|
|
63
|
-
type:
|
|
60
|
+
type: void 0<string, string>;
|
|
64
61
|
isOptional: true;
|
|
65
62
|
};
|
|
66
63
|
balance: {
|
|
67
|
-
type:
|
|
64
|
+
type: void 0<number, number>;
|
|
68
65
|
isOptional: true;
|
|
69
66
|
};
|
|
70
67
|
availableBalance: {
|
|
71
|
-
type:
|
|
68
|
+
type: void 0<number, number>;
|
|
72
69
|
isOptional: true;
|
|
73
70
|
};
|
|
74
71
|
lastSyncedAt: {
|
|
75
|
-
type:
|
|
72
|
+
type: void 0<Date, string>;
|
|
76
73
|
isOptional: false;
|
|
77
74
|
};
|
|
78
75
|
createdAt: {
|
|
79
|
-
type:
|
|
76
|
+
type: void 0<Date, string>;
|
|
80
77
|
isOptional: false;
|
|
81
78
|
};
|
|
82
79
|
updatedAt: {
|
|
83
|
-
type:
|
|
80
|
+
type: void 0<Date, string>;
|
|
84
81
|
isOptional: false;
|
|
85
82
|
};
|
|
86
83
|
metadata: {
|
|
87
|
-
type:
|
|
84
|
+
type: void 0<Record<string, unknown>, Record<string, unknown>>;
|
|
88
85
|
isOptional: true;
|
|
89
86
|
};
|
|
90
87
|
}>;
|
|
91
88
|
declare const BankTransactionRecord: SchemaModel<{
|
|
92
89
|
id: {
|
|
93
|
-
type:
|
|
90
|
+
type: void 0<string, string>;
|
|
94
91
|
isOptional: false;
|
|
95
92
|
};
|
|
96
93
|
accountId: {
|
|
97
|
-
type:
|
|
94
|
+
type: void 0<string, string>;
|
|
98
95
|
isOptional: false;
|
|
99
96
|
};
|
|
100
97
|
tenantId: {
|
|
101
|
-
type:
|
|
98
|
+
type: void 0<string, string>;
|
|
102
99
|
isOptional: false;
|
|
103
100
|
};
|
|
104
101
|
connectionId: {
|
|
105
|
-
type:
|
|
102
|
+
type: void 0<string, string>;
|
|
106
103
|
isOptional: false;
|
|
107
104
|
};
|
|
108
105
|
externalId: {
|
|
109
|
-
type:
|
|
106
|
+
type: void 0<string, string>;
|
|
110
107
|
isOptional: false;
|
|
111
108
|
};
|
|
112
109
|
amount: {
|
|
113
|
-
type:
|
|
110
|
+
type: void 0<number, number>;
|
|
114
111
|
isOptional: false;
|
|
115
112
|
};
|
|
116
113
|
currency: {
|
|
117
|
-
type:
|
|
114
|
+
type: void 0<string, string>;
|
|
118
115
|
isOptional: false;
|
|
119
116
|
};
|
|
120
117
|
date: {
|
|
121
|
-
type:
|
|
118
|
+
type: void 0<Date, string>;
|
|
122
119
|
isOptional: false;
|
|
123
120
|
};
|
|
124
121
|
bookingDate: {
|
|
125
|
-
type:
|
|
122
|
+
type: void 0<Date, string>;
|
|
126
123
|
isOptional: true;
|
|
127
124
|
};
|
|
128
125
|
valueDate: {
|
|
129
|
-
type:
|
|
126
|
+
type: void 0<Date, string>;
|
|
130
127
|
isOptional: true;
|
|
131
128
|
};
|
|
132
129
|
description: {
|
|
133
|
-
type:
|
|
130
|
+
type: void 0<string, string>;
|
|
134
131
|
isOptional: true;
|
|
135
132
|
};
|
|
136
133
|
counterpartyName: {
|
|
137
|
-
type:
|
|
134
|
+
type: void 0<string, string>;
|
|
138
135
|
isOptional: true;
|
|
139
136
|
};
|
|
140
137
|
counterpartyAccount: {
|
|
141
|
-
type:
|
|
138
|
+
type: void 0<string, string>;
|
|
142
139
|
isOptional: true;
|
|
143
140
|
};
|
|
144
141
|
merchantCategoryCode: {
|
|
145
|
-
type:
|
|
142
|
+
type: void 0<string, string>;
|
|
146
143
|
isOptional: true;
|
|
147
144
|
};
|
|
148
145
|
rawCategory: {
|
|
149
|
-
type:
|
|
146
|
+
type: void 0<string, string>;
|
|
150
147
|
isOptional: true;
|
|
151
148
|
};
|
|
152
149
|
standardizedCategory: {
|
|
153
|
-
type:
|
|
150
|
+
type: void 0<string, string>;
|
|
154
151
|
isOptional: true;
|
|
155
152
|
};
|
|
156
153
|
transactionType: {
|
|
157
|
-
type:
|
|
154
|
+
type: void 0<string, string>;
|
|
158
155
|
isOptional: false;
|
|
159
156
|
};
|
|
160
157
|
status: {
|
|
161
|
-
type:
|
|
158
|
+
type: void 0<string, string>;
|
|
162
159
|
isOptional: false;
|
|
163
160
|
};
|
|
164
161
|
runningBalance: {
|
|
165
|
-
type:
|
|
162
|
+
type: void 0<number, number>;
|
|
166
163
|
isOptional: true;
|
|
167
164
|
};
|
|
168
165
|
metadata: {
|
|
169
|
-
type:
|
|
166
|
+
type: void 0<Record<string, unknown>, Record<string, unknown>>;
|
|
170
167
|
isOptional: true;
|
|
171
168
|
};
|
|
172
169
|
createdAt: {
|
|
173
|
-
type:
|
|
170
|
+
type: void 0<Date, string>;
|
|
174
171
|
isOptional: false;
|
|
175
172
|
};
|
|
176
173
|
updatedAt: {
|
|
177
|
-
type:
|
|
174
|
+
type: void 0<Date, string>;
|
|
178
175
|
isOptional: false;
|
|
179
176
|
};
|
|
180
177
|
}>;
|
|
181
178
|
declare const AccountBalanceRecord: SchemaModel<{
|
|
182
179
|
id: {
|
|
183
|
-
type:
|
|
180
|
+
type: void 0<string, string>;
|
|
184
181
|
isOptional: false;
|
|
185
182
|
};
|
|
186
183
|
accountId: {
|
|
187
|
-
type:
|
|
184
|
+
type: void 0<string, string>;
|
|
188
185
|
isOptional: false;
|
|
189
186
|
};
|
|
190
187
|
tenantId: {
|
|
191
|
-
type:
|
|
188
|
+
type: void 0<string, string>;
|
|
192
189
|
isOptional: false;
|
|
193
190
|
};
|
|
194
191
|
connectionId: {
|
|
195
|
-
type:
|
|
192
|
+
type: void 0<string, string>;
|
|
196
193
|
isOptional: false;
|
|
197
194
|
};
|
|
198
195
|
balanceType: {
|
|
199
|
-
type:
|
|
196
|
+
type: void 0<string, string>;
|
|
200
197
|
isOptional: false;
|
|
201
198
|
};
|
|
202
199
|
currentBalance: {
|
|
203
|
-
type:
|
|
200
|
+
type: void 0<number, number>;
|
|
204
201
|
isOptional: false;
|
|
205
202
|
};
|
|
206
203
|
availableBalance: {
|
|
207
|
-
type:
|
|
204
|
+
type: void 0<number, number>;
|
|
208
205
|
isOptional: true;
|
|
209
206
|
};
|
|
210
207
|
currency: {
|
|
211
|
-
type:
|
|
208
|
+
type: void 0<string, string>;
|
|
212
209
|
isOptional: false;
|
|
213
210
|
};
|
|
214
211
|
lastUpdatedAt: {
|
|
215
|
-
type:
|
|
212
|
+
type: void 0<Date, string>;
|
|
216
213
|
isOptional: false;
|
|
217
214
|
};
|
|
218
215
|
createdAt: {
|
|
219
|
-
type:
|
|
216
|
+
type: void 0<Date, string>;
|
|
220
217
|
isOptional: false;
|
|
221
218
|
};
|
|
222
219
|
metadata: {
|
|
223
|
-
type:
|
|
220
|
+
type: void 0<Record<string, unknown>, Record<string, unknown>>;
|
|
224
221
|
isOptional: true;
|
|
225
222
|
};
|
|
226
223
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.d.ts","names":[],"sources":["../../../src/integrations/openbanking/models.ts"],"sourcesContent":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"models.d.ts","names":[],"sources":["../../../src/integrations/openbanking/models.ts"],"sourcesContent":[],"mappings":";AAKa,cAAA,iBA2BX,EA3B4B,WA2B5B,CAAA;EAAA,EAAA,EAAA;UAAA,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;IA3B4B,UAAA,EAAA,KAAA;EAAA,CAAA;EA6BjB,kBAAA,EAAA;IAqCX,IAAA,QAAA,CAAA,MAAA,EAAA,MAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IArCgC,UAAA,EAAA,IAAA;EAAA,CAAA;EAuCrB,OAAA,EAAA;IAoBX,IAAA,QAAA,CAAA,MAAA,EAAA,MAAA,CAAA;;;;;;;;;;;;;;;EApB+B,SAAA,EAAA;IAAA,IAAA,QAAA,KAAA,EAAA,MAAA,CAAA;;;;;;;;cAvCpB,uBAAqB;;UAqChC,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAEW,sBAAoB;;UAoB/B,KAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{ScalarTypeEnum as e}from"../../schema/src/ScalarTypeEnum.js";import{SchemaModel as t}from"../../schema/src/SchemaModel.js";import"../../schema/src/index.js";const n=new t({name:`BankAccountRecord`,description:`Canonical representation of a bank account synced from an open banking provider.`,fields:{id:{type:e.ID(),isOptional:!1},tenantId:{type:e.ID(),isOptional:!1},userId:{type:e.ID(),isOptional:!1},connectionId:{type:e.ID(),isOptional:!1},externalId:{type:e.NonEmptyString(),isOptional:!1},institutionId:{type:e.NonEmptyString(),isOptional:!1},institutionName:{type:e.NonEmptyString(),isOptional:!1},institutionLogoUrl:{type:e.URL(),isOptional:!0},iban:{type:e.String_unsecure(),isOptional:!0},bic:{type:e.String_unsecure(),isOptional:!0},accountType:{type:e.NonEmptyString(),isOptional:!1},currency:{type:e.Currency(),isOptional:!1},displayName:{type:e.NonEmptyString(),isOptional:!1},accountNumberMasked:{type:e.String_unsecure(),isOptional:!0},productCode:{type:e.String_unsecure(),isOptional:!0},balance:{type:e.Float_unsecure(),isOptional:!0},availableBalance:{type:e.Float_unsecure(),isOptional:!0},lastSyncedAt:{type:e.DateTime(),isOptional:!1},createdAt:{type:e.DateTime(),isOptional:!1},updatedAt:{type:e.DateTime(),isOptional:!1},metadata:{type:e.JSONObject(),isOptional:!0}}}),r=new t({name:`BankTransactionRecord`,description:`Canonical transaction entry mapped from Powens into the open banking ledger.`,fields:{id:{type:e.ID(),isOptional:!1},accountId:{type:e.ID(),isOptional:!1},tenantId:{type:e.ID(),isOptional:!1},connectionId:{type:e.ID(),isOptional:!1},externalId:{type:e.NonEmptyString(),isOptional:!1},amount:{type:e.Float_unsecure(),isOptional:!1},currency:{type:e.Currency(),isOptional:!1},date:{type:e.DateTime(),isOptional:!1},bookingDate:{type:e.DateTime(),isOptional:!0},valueDate:{type:e.DateTime(),isOptional:!0},description:{type:e.String_unsecure(),isOptional:!0},counterpartyName:{type:e.String_unsecure(),isOptional:!0},counterpartyAccount:{type:e.String_unsecure(),isOptional:!0},merchantCategoryCode:{type:e.String_unsecure(),isOptional:!0},rawCategory:{type:e.String_unsecure(),isOptional:!0},standardizedCategory:{type:e.String_unsecure(),isOptional:!0},transactionType:{type:e.NonEmptyString(),isOptional:!1},status:{type:e.NonEmptyString(),isOptional:!1},runningBalance:{type:e.Float_unsecure(),isOptional:!0},metadata:{type:e.JSONObject(),isOptional:!0},createdAt:{type:e.DateTime(),isOptional:!1},updatedAt:{type:e.DateTime(),isOptional:!1}}}),i=new t({name:`AccountBalanceRecord`,description:`Canonical balance snapshot computed from Powens balance payloads.`,fields:{id:{type:e.ID(),isOptional:!1},accountId:{type:e.ID(),isOptional:!1},tenantId:{type:e.ID(),isOptional:!1},connectionId:{type:e.ID(),isOptional:!1},balanceType:{type:e.NonEmptyString(),isOptional:!1},currentBalance:{type:e.Float_unsecure(),isOptional:!1},availableBalance:{type:e.Float_unsecure(),isOptional:!0},currency:{type:e.Currency(),isOptional:!1},lastUpdatedAt:{type:e.DateTime(),isOptional:!1},createdAt:{type:e.DateTime(),isOptional:!1},metadata:{type:e.JSONObject(),isOptional:!0}}});export{i as AccountBalanceRecord,n as BankAccountRecord,r as BankTransactionRecord};
|
|
2
2
|
//# sourceMappingURL=models.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.js","names":[
|
|
1
|
+
{"version":3,"file":"models.js","names":[],"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"}
|
package/dist/jsonschema.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Stability, Tag } from "./ownership.js";
|
|
2
2
|
import { ContractSpec, OpKind } from "./spec.js";
|
|
3
3
|
import z$1 from "zod";
|
|
4
|
-
import { AnySchemaModel } from "@lssm/lib.schema";
|
|
5
4
|
|
|
6
5
|
//#region src/jsonschema.d.ts
|
|
6
|
+
|
|
7
7
|
declare function jsonSchemaForSpec(spec: ContractSpec<AnySchemaModel, AnySchemaModel>): {
|
|
8
8
|
input: z$1.core.JSONSchema.JSONSchema | null;
|
|
9
9
|
output: z$1.core.JSONSchema.JSONSchema | null;
|
package/dist/jsonschema.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsonschema.d.ts","names":[],"sources":["../src/jsonschema.ts"],"sourcesContent":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"jsonschema.d.ts","names":[],"sources":["../src/jsonschema.ts"],"sourcesContent":[],"mappings":";;;;;;AAQqB,iBADL,iBAAA,CACK,IAAA,EAAb,YAAa,CAAA,cAAA,EAAgB,cAAhB,CAAA,CAAA,EAAA;EAAgB,KAAA,gCAAA,GAAA,IAAA;EAA7B,MAAA,gCAAA,GAAA,IAAA;;;;;;;IAiBQ,SAAA,WAAe;EAKf,CAAA;AAKhB,CAAA;;iBAVgB,eAAA;;iBAKA,cAAA;;iBAKA,eAAA"}
|