n8n-nodes-sqlaccounting 1.0.0 → 1.1.1

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 (91) hide show
  1. package/README.md +119 -93
  2. package/dist/credentials/SqlAccountingApi.credentials.d.ts.map +1 -1
  3. package/dist/credentials/SqlAccountingApi.credentials.js +32 -27
  4. package/dist/nodes/SqlAccounting/SqlAccounting.node.d.ts +3 -0
  5. package/dist/nodes/SqlAccounting/SqlAccounting.node.d.ts.map +1 -1
  6. package/dist/nodes/SqlAccounting/SqlAccounting.node.js +23 -318
  7. package/dist/nodes/SqlAccounting/config.d.ts +8 -0
  8. package/dist/nodes/SqlAccounting/config.d.ts.map +1 -0
  9. package/dist/nodes/SqlAccounting/config.js +12 -0
  10. package/dist/nodes/SqlAccounting/contractTypes.d.ts +48 -0
  11. package/dist/nodes/SqlAccounting/contractTypes.d.ts.map +1 -0
  12. package/dist/nodes/SqlAccounting/contractTypes.js +12 -0
  13. package/dist/nodes/SqlAccounting/errors.d.ts +17 -0
  14. package/dist/nodes/SqlAccounting/errors.d.ts.map +1 -0
  15. package/dist/nodes/SqlAccounting/errors.js +47 -0
  16. package/dist/nodes/SqlAccounting/execute/readBody.d.ts +6 -0
  17. package/dist/nodes/SqlAccounting/execute/readBody.d.ts.map +1 -0
  18. package/dist/nodes/SqlAccounting/execute/readBody.js +67 -0
  19. package/dist/nodes/SqlAccounting/execute/readFilters.d.ts +4 -0
  20. package/dist/nodes/SqlAccounting/execute/readFilters.d.ts.map +1 -0
  21. package/dist/nodes/SqlAccounting/execute/readFilters.js +11 -0
  22. package/dist/nodes/SqlAccounting/execute/runOperation.d.ts +13 -0
  23. package/dist/nodes/SqlAccounting/execute/runOperation.d.ts.map +1 -0
  24. package/dist/nodes/SqlAccounting/execute/runOperation.js +68 -0
  25. package/dist/nodes/SqlAccounting/lookups.d.ts +6 -0
  26. package/dist/nodes/SqlAccounting/lookups.d.ts.map +1 -0
  27. package/dist/nodes/SqlAccounting/lookups.js +53 -0
  28. package/dist/nodes/SqlAccounting/normalize.d.ts +5 -0
  29. package/dist/nodes/SqlAccounting/normalize.d.ts.map +1 -0
  30. package/dist/nodes/SqlAccounting/normalize.js +18 -0
  31. package/dist/nodes/SqlAccounting/pagination.d.ts +10 -0
  32. package/dist/nodes/SqlAccounting/pagination.d.ts.map +1 -0
  33. package/dist/nodes/SqlAccounting/pagination.js +29 -0
  34. package/dist/nodes/SqlAccounting/registry.d.ts +30 -0
  35. package/dist/nodes/SqlAccounting/registry.d.ts.map +1 -0
  36. package/dist/nodes/SqlAccounting/registry.generated.d.ts +17 -0
  37. package/dist/nodes/SqlAccounting/registry.generated.d.ts.map +1 -0
  38. package/dist/nodes/SqlAccounting/registry.generated.js +1251 -0
  39. package/dist/nodes/SqlAccounting/registry.js +61 -0
  40. package/dist/nodes/SqlAccounting/request.d.ts +9 -0
  41. package/dist/nodes/SqlAccounting/request.d.ts.map +1 -0
  42. package/dist/nodes/SqlAccounting/request.js +44 -0
  43. package/dist/nodes/SqlAccounting/schema/assets.d.ts +3 -0
  44. package/dist/nodes/SqlAccounting/schema/assets.d.ts.map +1 -0
  45. package/dist/nodes/SqlAccounting/schema/assets.js +34 -0
  46. package/dist/nodes/SqlAccounting/schema/cast.d.ts +5 -0
  47. package/dist/nodes/SqlAccounting/schema/cast.d.ts.map +1 -0
  48. package/dist/nodes/SqlAccounting/schema/cast.js +99 -0
  49. package/dist/nodes/SqlAccounting/schema/documents.d.ts +3 -0
  50. package/dist/nodes/SqlAccounting/schema/documents.d.ts.map +1 -0
  51. package/dist/nodes/SqlAccounting/schema/documents.js +93 -0
  52. package/dist/nodes/SqlAccounting/schema/finance.d.ts +3 -0
  53. package/dist/nodes/SqlAccounting/schema/finance.d.ts.map +1 -0
  54. package/dist/nodes/SqlAccounting/schema/finance.js +81 -0
  55. package/dist/nodes/SqlAccounting/schema/index.d.ts +8 -0
  56. package/dist/nodes/SqlAccounting/schema/index.d.ts.map +1 -0
  57. package/dist/nodes/SqlAccounting/schema/index.js +48 -0
  58. package/dist/nodes/SqlAccounting/schema/parties.d.ts +3 -0
  59. package/dist/nodes/SqlAccounting/schema/parties.d.ts.map +1 -0
  60. package/dist/nodes/SqlAccounting/schema/parties.js +64 -0
  61. package/dist/nodes/SqlAccounting/schema/simple.d.ts +11 -0
  62. package/dist/nodes/SqlAccounting/schema/simple.d.ts.map +1 -0
  63. package/dist/nodes/SqlAccounting/schema/simple.js +41 -0
  64. package/dist/nodes/SqlAccounting/schema/stock.d.ts +3 -0
  65. package/dist/nodes/SqlAccounting/schema/stock.d.ts.map +1 -0
  66. package/dist/nodes/SqlAccounting/schema/stock.js +46 -0
  67. package/dist/nodes/SqlAccounting/schema/types.d.ts +31 -0
  68. package/dist/nodes/SqlAccounting/schema/types.d.ts.map +1 -0
  69. package/dist/nodes/SqlAccounting/schema/types.js +3 -0
  70. package/dist/nodes/SqlAccounting/templates.d.ts +2 -0
  71. package/dist/nodes/SqlAccounting/templates.d.ts.map +1 -0
  72. package/dist/nodes/SqlAccounting/templates.js +50 -0
  73. package/dist/nodes/SqlAccounting/transport.d.ts +6 -0
  74. package/dist/nodes/SqlAccounting/transport.d.ts.map +1 -0
  75. package/dist/nodes/SqlAccounting/transport.js +30 -0
  76. package/dist/nodes/SqlAccounting/ui/fieldProps.d.ts +5 -0
  77. package/dist/nodes/SqlAccounting/ui/fieldProps.d.ts.map +1 -0
  78. package/dist/nodes/SqlAccounting/ui/fieldProps.js +35 -0
  79. package/dist/nodes/SqlAccounting/ui/names.d.ts +15 -0
  80. package/dist/nodes/SqlAccounting/ui/names.d.ts.map +1 -0
  81. package/dist/nodes/SqlAccounting/ui/names.js +28 -0
  82. package/dist/nodes/SqlAccounting/ui/properties.d.ts +3 -0
  83. package/dist/nodes/SqlAccounting/ui/properties.d.ts.map +1 -0
  84. package/dist/nodes/SqlAccounting/ui/properties.js +296 -0
  85. package/dist/nodes/SqlAccounting/validation.d.ts +7 -0
  86. package/dist/nodes/SqlAccounting/validation.d.ts.map +1 -0
  87. package/dist/nodes/SqlAccounting/validation.js +74 -0
  88. package/package.json +22 -8
  89. package/dist/nodes/SqlAccounting/operations.d.ts +0 -34
  90. package/dist/nodes/SqlAccounting/operations.d.ts.map +0 -1
  91. package/dist/nodes/SqlAccounting/operations.js +0 -177
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.readBody = readBody;
4
+ const errors_1 = require("../errors");
5
+ const cast_1 = require("../schema/cast");
6
+ const schema_1 = require("../schema");
7
+ const validation_1 = require("../validation");
8
+ const names_1 = require("../ui/names");
9
+ function readLines(ctx, i, resource, fields) {
10
+ var _a;
11
+ const data = ctx.getNodeParameter((0, names_1.linesParam)(resource), i, {});
12
+ const raw = (_a = data.line) !== null && _a !== void 0 ? _a : [];
13
+ const issues = [];
14
+ const lines = raw.map((line, idx) => {
15
+ const out = { dtlkey: 0 };
16
+ for (const f of fields) {
17
+ const v = line[f.name];
18
+ if (v === undefined || v === null || v === '') {
19
+ if (f.required)
20
+ issues.push(`Line ${idx + 1}: ${f.label} is required.`);
21
+ continue;
22
+ }
23
+ try {
24
+ out[f.name] = (0, cast_1.castValue)(f, v);
25
+ }
26
+ catch (e) {
27
+ issues.push(`Line ${idx + 1}: ${e.message}.`);
28
+ }
29
+ }
30
+ return out;
31
+ });
32
+ if (issues.length)
33
+ throw new errors_1.ValidationError(issues);
34
+ return lines;
35
+ }
36
+ function readTypedValues(ctx, i, op, fields) {
37
+ if (op.op === 'update')
38
+ return ctx.getNodeParameter((0, names_1.updateParam)(op.resource), i, {});
39
+ const values = {};
40
+ for (const f of fields.filter((x) => x.required)) {
41
+ values[f.name] = ctx.getNodeParameter((0, names_1.fieldParam)(op.resource, f.name), i, '');
42
+ }
43
+ return { ...values, ...ctx.getNodeParameter((0, names_1.additionalParam)(op.resource), i, {}) };
44
+ }
45
+ function readBody(ctx, i, op) {
46
+ const mode = op.op === 'update' ? 'update' : 'create';
47
+ const schema = (0, schema_1.getSchema)(op.resource);
48
+ const useRaw = op.kind === 'transactional' &&
49
+ (!schema || mode === 'update' || ctx.getNodeParameter((0, names_1.useRawParam)(op.resource), i, false) === true);
50
+ if (useRaw) {
51
+ const raw = ctx.getNodeParameter((0, names_1.rawBodyParam)(op.resource, mode), i, '{}');
52
+ const body = (0, cast_1.parseJsonObject)(raw, 'Request Body (JSON)');
53
+ (0, validation_1.assertValidDocument)(op.resource, body, mode);
54
+ return body;
55
+ }
56
+ if (!schema)
57
+ throw new errors_1.ValidationError([`No field schema for ${op.resource}; use the JSON body.`]);
58
+ const extra = (0, cast_1.parseJsonObject)(ctx.getNodeParameter((0, names_1.extraJsonParam)(op.resource), i, '{}'), 'Extra Fields (JSON)');
59
+ const body = (0, cast_1.buildFieldsBody)(schema, readTypedValues(ctx, i, op, schema.fields), mode, extra);
60
+ if (op.kind === 'transactional') {
61
+ if (schema.lineFields)
62
+ body.sdsdocdetail = readLines(ctx, i, op.resource, schema.lineFields);
63
+ (0, validation_1.assertValidDocument)(op.resource, body, mode);
64
+ }
65
+ return body;
66
+ }
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZEJvZHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9ub2Rlcy9TcWxBY2NvdW50aW5nL2V4ZWN1dGUvcmVhZEJvZHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUE0Q0EsNEJBc0JDO0FBakVELHNDQUE0QztBQUU1Qyx5Q0FBNkU7QUFDN0Usc0NBQXNDO0FBRXRDLDhDQUFvRDtBQUNwRCx1Q0FBOEg7QUFJOUgsU0FBUyxTQUFTLENBQUMsR0FBc0IsRUFBRSxDQUFTLEVBQUUsUUFBZ0IsRUFBRSxNQUFrQjs7SUFDekYsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLGdCQUFnQixDQUFDLElBQUEsa0JBQVUsRUFBQyxRQUFRLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFnQixDQUFDO0lBQzlFLE1BQU0sR0FBRyxHQUFHLE1BQUMsSUFBSSxDQUFDLElBQWtDLG1DQUFJLEVBQUUsQ0FBQztJQUMzRCxNQUFNLE1BQU0sR0FBYSxFQUFFLENBQUM7SUFDNUIsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRTtRQUNuQyxNQUFNLEdBQUcsR0FBUyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUNoQyxLQUFLLE1BQU0sQ0FBQyxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ3hCLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdkIsSUFBSSxDQUFDLEtBQUssU0FBUyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDO2dCQUMvQyxJQUFJLENBQUMsQ0FBQyxRQUFRO29CQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLGVBQWUsQ0FBQyxDQUFDO2dCQUN4RSxTQUFTO1lBQ1YsQ0FBQztZQUNELElB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
@@ -0,0 +1,4 @@
1
+ import type { IExecuteFunctions } from 'n8n-workflow';
2
+ import type { FilterInput } from '../request';
3
+ export declare function readFilters(ctx: IExecuteFunctions, i: number, resource: string): FilterInput[];
4
+ //# sourceMappingURL=readFilters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readFilters.d.ts","sourceRoot":"","sources":["../../../../nodes/SqlAccounting/execute/readFilters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAe,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAK9C,wBAAgB,WAAW,CAAC,GAAG,EAAE,iBAAiB,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW,EAAE,CAI9F"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.readFilters = readFilters;
4
+ const names_1 = require("../ui/names");
5
+ const rows = (data) => { var _a; return (_a = data.filter) !== null && _a !== void 0 ? _a : []; };
6
+ function readFilters(ctx, i, resource) {
7
+ const typed = ctx.getNodeParameter((0, names_1.filtersParam)(resource), i, {});
8
+ const custom = ctx.getNodeParameter('customFilters', i, {});
9
+ return [...rows(typed), ...rows(custom)];
10
+ }
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZEZpbHRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9ub2Rlcy9TcWxBY2NvdW50aW5nL2V4ZWN1dGUvcmVhZEZpbHRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFNQSxrQ0FJQztBQVJELHVDQUEyQztBQUUzQyxNQUFNLElBQUksR0FBRyxDQUFDLElBQWlCLEVBQWlCLEVBQUUsV0FBQyxPQUFBLE1BQUMsSUFBSSxDQUFDLE1BQW9DLG1DQUFJLEVBQUUsQ0FBQSxFQUFBLENBQUM7QUFFcEcsU0FBZ0IsV0FBVyxDQUFDLEdBQXNCLEVBQUUsQ0FBUyxFQUFFLFFBQWdCO0lBQzlFLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFBLG9CQUFZLEVBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBZ0IsQ0FBQztJQUNqRixNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQWdCLENBQUM7SUFDM0UsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFDMUMsQ0FBQyJ9
@@ -0,0 +1,13 @@
1
+ import type { IDataObject, IExecuteFunctions } from 'n8n-workflow';
2
+ import { OperationDef } from '../registry';
3
+ export interface SqlCredentials {
4
+ platformApiKey: string;
5
+ sqlAccessKey: string;
6
+ sqlSecretKey: string;
7
+ service: string;
8
+ region: string;
9
+ proxyBaseUrl: string;
10
+ }
11
+ export declare function runOperation(ctx: IExecuteFunctions, i: number, op: OperationDef, creds: SqlCredentials): Promise<IDataObject[]>;
12
+ export declare function errorToJson(error: unknown): IDataObject;
13
+ //# sourceMappingURL=runOperation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runOperation.d.ts","sourceRoot":"","sources":["../../../../nodes/SqlAccounting/execute/runOperation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EAA+B,YAAY,EAAE,MAAM,aAAa,CAAC;AAYxE,MAAM,WAAW,cAAc;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;CACrB;AA8BD,wBAAsB,YAAY,CACjC,GAAG,EAAE,iBAAiB,EACtB,CAAC,EAAE,MAAM,EACT,EAAE,EAAE,YAAY,EAChB,KAAK,EAAE,cAAc,GACnB,OAAO,CAAC,WAAW,EAAE,CAAC,CA6BxB;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CAQvD"}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.runOperation = runOperation;
4
+ exports.errorToJson = errorToJson;
5
+ const registry_1 = require("../registry");
6
+ const config_1 = require("../config");
7
+ const errors_1 = require("../errors");
8
+ const normalize_1 = require("../normalize");
9
+ const pagination_1 = require("../pagination");
10
+ const request_1 = require("../request");
11
+ const transport_1 = require("../transport");
12
+ const names_1 = require("../ui/names");
13
+ const readBody_1 = require("./readBody");
14
+ const readFilters_1 = require("./readFilters");
15
+ function readPathParam(ctx, i, op) {
16
+ if (!op.pathParam)
17
+ return null;
18
+ const raw = ctx.getNodeParameter(names_1.PATH_PARAM_NAME[op.pathParam], i, '');
19
+ return (0, request_1.parsePathParam)(op.pathParam, raw, (0, request_1.pathParamLabel)(op.pathParam));
20
+ }
21
+ function buildRequest(op, creds, pathParam, body, query) {
22
+ return {
23
+ contract_version: registry_1.CONTRACT_VERSION,
24
+ sql: {
25
+ access_key: creds.sqlAccessKey,
26
+ secret_key: creds.sqlSecretKey,
27
+ region: creds.region || config_1.DEFAULT_REGION,
28
+ service: creds.service || config_1.DEFAULT_SERVICE,
29
+ },
30
+ operation: op.key,
31
+ path_param: pathParam,
32
+ query,
33
+ body,
34
+ };
35
+ }
36
+ async function runOperation(ctx, i, op, creds) {
37
+ const pathParam = readPathParam(ctx, i, op);
38
+ const body = op.writesBody ? (0, readBody_1.readBody)(ctx, i, op) : null;
39
+ const send = (query) => (0, transport_1.callProxy)(ctx, creds.proxyBaseUrl, buildRequest(op, creds, pathParam, body, query));
40
+ if (!op.isPaginated) {
41
+ const res = await send({});
42
+ return (0, normalize_1.normalizeData)(op, res.data, pathParam);
43
+ }
44
+ const filters = (0, readFilters_1.readFilters)(ctx, i, op.resource);
45
+ const startOffset = ctx.getNodeParameter('offset', i, 0);
46
+ if (ctx.getNodeParameter('returnAll', i, false)) {
47
+ const maxPages = ctx.getNodeParameter('maxPages', i, config_1.MAX_PAGES_DEFAULT);
48
+ const rows = await (0, pagination_1.fetchAllPages)(async (offset) => {
49
+ const res = await send((0, request_1.buildQuery)(offset, filters));
50
+ return { data: (0, normalize_1.toArray)(res.data), pagination: res.pagination };
51
+ }, { startOffset, maxPages });
52
+ return rows;
53
+ }
54
+ const res = await send((0, request_1.buildQuery)(startOffset, filters));
55
+ const limit = ctx.getNodeParameter('limit', i, registry_1.PAGE_SIZE);
56
+ return (0, normalize_1.toArray)(res.data).slice(0, limit);
57
+ }
58
+ function errorToJson(error) {
59
+ var _a;
60
+ if (error instanceof errors_1.ValidationError) {
61
+ return { error: error.message, code: 'validation_failed', issues: error.issues };
62
+ }
63
+ if (error instanceof errors_1.ProxyCallError) {
64
+ return { error: error.message, code: error.proxyCode, field: (_a = error.field) !== null && _a !== void 0 ? _a : null };
65
+ }
66
+ return { error: error instanceof Error ? error.message : String(error) };
67
+ }
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuT3BlcmF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbm9kZXMvU3FsQWNjb3VudGluZy9leGVjdXRlL3J1bk9wZXJhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWtEQSxvQ0FrQ0M7QUFFRCxrQ0FRQztBQTdGRCwwQ0FBd0U7QUFDeEUsc0NBQStFO0FBQy9FLHNDQUE0RDtBQUM1RCw0Q0FBc0Q7QUFDdEQsOENBQThDO0FBQzlDLHdDQUF3RTtBQUN4RSw0Q0FBeUM7QUFFekMsdUNBQThDO0FBQzlDLHlDQUFzQztBQUN0QywrQ0FBNEM7QUFXNUMsU0FBUyxhQUFhLENBQUMsR0FBc0IsRUFBRSxDQUFTLEVBQUUsRUFBZ0I7SUFDekUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTO1FBQUUsT0FBTyxJQUFJLENBQUM7SUFDL0IsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLGdCQUFnQixDQUFDLHVCQUFlLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN2RSxPQUFPLElBQUEsd0JBQWMsRUFBQyxFQUFFLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRSxJQUFBLHdCQUFjLEVBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7QUFDeEUsQ0FBQztBQUVELFNBQVMsWUFBWSxDQUNwQixFQUFnQixFQUNoQixLQUFxQixFQUNyQixTQUFpQyxFQUNqQyxJQUFvQyxFQUNwQyxLQUFnRDtJQUVoRCxPQUFPO1FBQ04sZ0JBQWdCLEVBQUUsMkJBQWdCO1FBQ2xDLEdBQUcsRUFBRTtZQUNKLFVBQVUsRUFBRSxLQUFLLENBQUMsWUFBWTtZQUM5QixVQUFVLEVBQUUsS0FBSyxDQUFDLFlBQVk7WUFDOUIsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLElBQUksdUJBQWM7WUFDdEMsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLElBQUksd0JBQWU7U0FDekM7UUFD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
@@ -0,0 +1,6 @@
1
+ import type { ILoadOptionsFunctions, INodePropertyOptions } from 'n8n-workflow';
2
+ type Row = Record<string, unknown>;
3
+ export declare const toOption: (row: Row, valueField: string) => INodePropertyOptions;
4
+ export declare const lookupMethods: Record<string, (this: ILoadOptionsFunctions) => Promise<INodePropertyOptions[]>>;
5
+ export {};
6
+ //# sourceMappingURL=lookups.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lookups.d.ts","sourceRoot":"","sources":["../../../nodes/SqlAccounting/lookups.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAShF,KAAK,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAgCnC,eAAO,MAAM,QAAQ,GAAI,KAAK,GAAG,EAAE,YAAY,MAAM,KAAG,oBAIvD,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,qBAAqB,KAAK,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAWzG,CAAC"}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.lookupMethods = exports.toOption = void 0;
4
+ const registry_1 = require("./registry");
5
+ const config_1 = require("./config");
6
+ const pagination_1 = require("./pagination");
7
+ const normalize_1 = require("./normalize");
8
+ const transport_1 = require("./transport");
9
+ const schema_1 = require("./schema");
10
+ const names_1 = require("./ui/names");
11
+ const cache = new Map();
12
+ async function fetchRows(ctx, resource) {
13
+ const creds = await ctx.getCredentials('sqlAccountingApi');
14
+ const key = `${String(creds.proxyBaseUrl)}|${String(creds.sqlAccessKey)}|${resource}`;
15
+ const hit = cache.get(key);
16
+ if (hit && Date.now() - hit.at < config_1.LOOKUP_CACHE_MS)
17
+ return hit.rows;
18
+ const rows = (await (0, pagination_1.fetchAllPages)(async (offset) => {
19
+ const res = await (0, transport_1.callProxy)(ctx, String(creds.proxyBaseUrl), {
20
+ contract_version: registry_1.CONTRACT_VERSION,
21
+ sql: {
22
+ access_key: String(creds.sqlAccessKey),
23
+ secret_key: String(creds.sqlSecretKey),
24
+ region: String(creds.region || config_1.DEFAULT_REGION),
25
+ service: String(creds.service || config_1.DEFAULT_SERVICE),
26
+ },
27
+ operation: `${resource}.list`,
28
+ path_param: null,
29
+ query: { offset },
30
+ body: null,
31
+ });
32
+ return { data: (0, normalize_1.toArray)(res.data), pagination: res.pagination };
33
+ }, { startOffset: 0, maxPages: config_1.LOOKUP_MAX_PAGES }));
34
+ cache.set(key, { at: Date.now(), rows });
35
+ return rows;
36
+ }
37
+ const toOption = (row, valueField) => {
38
+ var _a, _b, _c, _d, _e, _f;
39
+ const label = String((_c = (_b = (_a = row.description) !== null && _a !== void 0 ? _a : row.companyname) !== null && _b !== void 0 ? _b : row.name) !== null && _c !== void 0 ? _c : '');
40
+ const code = String((_e = (_d = row.code) !== null && _d !== void 0 ? _d : row[valueField]) !== null && _e !== void 0 ? _e : '');
41
+ return { name: label ? `${code} - ${label}` : code, value: String((_f = row[valueField]) !== null && _f !== void 0 ? _f : '') };
42
+ };
43
+ exports.toOption = toOption;
44
+ exports.lookupMethods = Object.fromEntries((0, schema_1.lookupPairs)().map(({ resource, valueField }) => [
45
+ (0, names_1.lookupMethodName)(resource, valueField),
46
+ async function () {
47
+ const rows = await fetchRows(this, resource);
48
+ return rows
49
+ .filter((r) => r[valueField] !== undefined && r[valueField] !== null)
50
+ .map((r) => (0, exports.toOption)(r, valueField));
51
+ },
52
+ ]));
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3Vwcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL25vZGVzL1NxbEFjY291bnRpbmcvbG9va3Vwcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSx5Q0FBOEM7QUFDOUMscUNBQThGO0FBQzlGLDZDQUE2QztBQUM3QywyQ0FBc0M7QUFDdEMsMkNBQXdDO0FBQ3hDLHFDQUF1QztBQUN2QyxzQ0FBOEM7QUFHOUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLEVBQXVDLENBQUM7QUFFN0QsS0FBSyxVQUFVLFNBQVMsQ0FBQyxHQUEwQixFQUFFLFFBQWdCO0lBQ3BFLE1BQU0sS0FBSyxHQUFHLE1BQU0sR0FBRyxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQzNELE1BQU0sR0FBRyxHQUFHLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLFFBQVEsRUFBRSxDQUFDO0lBQ3RGLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0IsSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEdBQUcsQ0FBQyxFQUFFLEdBQUcsd0JBQWU7UUFBRSxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUM7SUFFbEUsTUFBTSxJQUFJLEdBQUcsQ0FBQyxNQUFNLElBQUEsMEJBQWEsRUFDaEMsS0FBSyxFQUFFLE1BQU0sRUFBRSxFQUFFO1FBQ2hCLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBQSxxQkFBUyxFQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQzVELGdCQUFnQixFQUFFLDJCQUFnQjtZQUNsQyxHQUFHLEVBQUU7Z0JBQ0osVUFBVSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDO2dCQUN0QyxVQUFVLEVBQUUs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
@@ -0,0 +1,5 @@
1
+ import type { IDataObject } from 'n8n-workflow';
2
+ import type { OperationDef } from './registry';
3
+ export declare function toArray(data: unknown): unknown[];
4
+ export declare function normalizeData(op: OperationDef, data: unknown, pathParam: string | number | null): IDataObject[];
5
+ //# sourceMappingURL=normalize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../../nodes/SqlAccounting/normalize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,wBAAgB,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,EAAE,CAIhD;AAED,wBAAgB,aAAa,CAC5B,EAAE,EAAE,YAAY,EAChB,IAAI,EAAE,OAAO,EACb,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAC/B,WAAW,EAAE,CAKf"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toArray = toArray;
4
+ exports.normalizeData = normalizeData;
5
+ function toArray(data) {
6
+ if (Array.isArray(data))
7
+ return data;
8
+ if (data !== null && typeof data === 'object')
9
+ return [data];
10
+ return [];
11
+ }
12
+ function normalizeData(op, data, pathParam) {
13
+ if (op.op === 'delete') {
14
+ return [{ success: true, resource: op.resource, deleted: pathParam }];
15
+ }
16
+ return toArray(data);
17
+ }
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9ybWFsaXplLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbm9kZXMvU3FsQWNjb3VudGluZy9ub3JtYWxpemUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFHQSwwQkFJQztBQUVELHNDQVNDO0FBZkQsU0FBZ0IsT0FBTyxDQUFDLElBQWE7SUFDcEMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztRQUFFLE9BQU8sSUFBSSxDQUFDO0lBQ3JDLElBQUksSUFBSSxLQUFLLElBQUksSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRO1FBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdELE9BQU8sRUFBRSxDQUFDO0FBQ1gsQ0FBQztBQUVELFNBQWdCLGFBQWEsQ0FDNUIsRUFBZ0IsRUFDaEIsSUFBYSxFQUNiLFNBQWlDO0lBRWpDLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUN4QixPQUFPLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFDRCxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQWtCLENBQUM7QUFDdkMsQ0FBQyJ9
@@ -0,0 +1,10 @@
1
+ import type { Pagination } from './contractTypes';
2
+ export interface PageResult {
3
+ data: unknown[];
4
+ pagination?: Pagination;
5
+ }
6
+ export declare function fetchAllPages(fetchPage: (offset: number) => Promise<PageResult>, opts: {
7
+ startOffset: number;
8
+ maxPages: number;
9
+ }): Promise<unknown[]>;
10
+ //# sourceMappingURL=pagination.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../../nodes/SqlAccounting/pagination.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,WAAW,UAAU;IAC1B,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,UAAU,CAAC,EAAE,UAAU,CAAC;CACxB;AAED,wBAAsB,aAAa,CAClC,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,EAClD,IAAI,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC7C,OAAO,CAAC,OAAO,EAAE,CAAC,CAyBpB"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fetchAllPages = fetchAllPages;
4
+ async function fetchAllPages(fetchPage, opts) {
5
+ const all = [];
6
+ let offset = opts.startOffset;
7
+ for (let page = 1; page <= opts.maxPages; page++) {
8
+ let result;
9
+ try {
10
+ result = await fetchPage(offset);
11
+ }
12
+ catch (error) {
13
+ // Keep the original error object (its code/field are used by continueOnFail); only prefix the message.
14
+ if (error instanceof Error)
15
+ error.message = `Page ${page} (offset ${offset}): ${error.message}`;
16
+ throw error;
17
+ }
18
+ all.push(...result.data);
19
+ const p = result.pagination;
20
+ if (!p || !p.has_more)
21
+ return all;
22
+ const next = p.offset + p.limit;
23
+ if (next <= offset)
24
+ throw new Error('Pagination did not advance; aborting to avoid an endless loop.');
25
+ offset = next;
26
+ }
27
+ throw new Error(`Stopped after ${opts.maxPages} pages with more data available. Increase Max Pages or add filters.`);
28
+ }
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL25vZGVzL1NxbEFjY291bnRpbmcvcGFnaW5hdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQU9BLHNDQTRCQztBQTVCTSxLQUFLLFVBQVUsYUFBYSxDQUNsQyxTQUFrRCxFQUNsRCxJQUErQztJQUUvQyxNQUFNLEdBQUcsR0FBYyxFQUFFLENBQUM7SUFDMUIsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUU5QixLQUFLLElBQUksSUFBSSxHQUFHLENBQUMsRUFBRSxJQUFJLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDO1FBQ2xELElBQUksTUFBa0IsQ0FBQztRQUN2QixJQUFJLENBQUM7WUFDSixNQUFNLEdBQUcsTUFBTSxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEMsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDaEIsdUdBQXVHO1lBQ3ZHLElBQUksS0FBSyxZQUFZLEtBQUs7Z0JBQUUsS0FBSyxDQUFDLE9BQU8sR0FBRyxRQUFRLElBQUksWUFBWSxNQUFNLE1BQU0sS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2hHLE1BQU0sS0FBSyxDQUFDO1FBQ2IsQ0FBQztRQUNELEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFekIsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQztRQUM1QixJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVE7WUFBRSxPQUFPLEdBQUcsQ0FBQztRQUVsQyxNQUFNLElBQUksR0FBRyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDaEMsSUFBSSxJQUFJLElBQUksTUFBTTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0VBQWdFLENBQUMsQ0FBQztRQUN0RyxNQUFNLEdBQUcsSUFBSSxDQUFDO0lBQ2YsQ0FBQztJQUNELE1BQU0sSUFBSSxLQUFLLENBQ2QsaUJBQWlCLElBQUksQ0FBQyxRQUFRLHFFQUFxRSxDQUNuRyxDQUFDO0FBQ0gsQ0FBQyJ9
@@ -0,0 +1,30 @@
1
+ import { PAGE_SIZE, CONTRACT_VERSION, OpName, PathParamType, ResourceKind } from './registry.generated';
2
+ export { PAGE_SIZE, CONTRACT_VERSION };
3
+ export interface OperationDef {
4
+ key: string;
5
+ resource: string;
6
+ op: OpName;
7
+ name: string;
8
+ description: string;
9
+ pathParam: PathParamType;
10
+ kind: ResourceKind;
11
+ group: string | null;
12
+ isPaginated: boolean;
13
+ writesBody: boolean;
14
+ }
15
+ export interface ResourceDef {
16
+ name: string;
17
+ value: string;
18
+ kind: ResourceKind;
19
+ operations: OperationDef[];
20
+ }
21
+ export declare const opKey: (resource: string, op: OpName) => string;
22
+ export declare const RESOURCE_DEFS: ResourceDef[];
23
+ export declare const OPERATION_MAP: Record<string, OperationDef>;
24
+ export declare function getOperation(key: string): OperationDef;
25
+ export declare const OPS_WITH_PATH_PARAM: string[];
26
+ export declare const OPS_PAGINATED: string[];
27
+ export declare const OPS_LIST: string[];
28
+ export declare const OPS_CREATE: string[];
29
+ export declare const OPS_UPDATE: string[];
30
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../nodes/SqlAccounting/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,SAAS,EACT,gBAAgB,EAChB,MAAM,EACN,aAAa,EACb,YAAY,EACZ,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;AAEvC,MAAM,WAAW,YAAY;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,aAAa,CAAC;IACzB,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,YAAY,CAAC;IACnB,UAAU,EAAE,YAAY,EAAE,CAAC;CAC3B;AAUD,eAAO,MAAM,KAAK,GAAI,UAAU,MAAM,EAAE,IAAI,MAAM,KAAG,MAA6B,CAAC;AAcnF,eAAO,MAAM,aAAa,EAAE,WAAW,EAgBpC,CAAC;AAEJ,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAEtD,CAAC;AAEF,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAItD;AAOD,eAAO,MAAM,mBAAmB,UAAyC,CAAC;AAC1E,eAAO,MAAM,aAAa,UAAkC,CAAC;AAC7D,eAAO,MAAM,QAAQ,UAAyD,CAAC;AAC/E,eAAO,MAAM,UAAU,UAAsC,CAAC;AAC9D,eAAO,MAAM,UAAU,UAAsC,CAAC"}
@@ -0,0 +1,17 @@
1
+ export declare const CONTRACT_VERSION = 1;
2
+ export declare const PAGE_SIZE = 50;
3
+ export type PathParamType = 'CODE' | 'DOCKEY' | 'AUTOKEY' | null;
4
+ export type OpName = 'list' | 'get' | 'create' | 'update' | 'delete';
5
+ export type ResourceKind = 'master' | 'transactional' | 'report';
6
+ export interface RegistryEntry {
7
+ resource: string;
8
+ name: string;
9
+ pathParam: PathParamType;
10
+ kind: ResourceKind;
11
+ group: string | null;
12
+ ops: OpName[];
13
+ verifyGet: boolean;
14
+ verifyEndpoint: boolean;
15
+ }
16
+ export declare const REGISTRY: RegistryEntry[];
17
+ //# sourceMappingURL=registry.generated.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.generated.d.ts","sourceRoot":"","sources":["../../../nodes/SqlAccounting/registry.generated.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAClC,eAAO,MAAM,SAAS,KAAK,CAAC;AAC5B,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,IAAI,CAAC;AACjE,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AACrE,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,eAAe,GAAG,QAAQ,CAAC;AACjE,MAAM,WAAW,aAAa;IAC7B,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,YAAY,CAAC;IAC7E,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,GAAG,EAAE,MAAM,EAAE,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,cAAc,EAAE,OAAO,CAAC;CACjF;AACD,eAAO,MAAM,QAAQ,EAAE,aAAa,EA2tCnC,CAAC"}