@forestadmin/agent-testing 0.1.0 → 1.0.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 (116) hide show
  1. package/dist/benchmark.js +36 -0
  2. package/dist/{integrations/forest-admin-client-mock.d.ts → forest-admin-client-mock.d.ts} +2 -0
  3. package/dist/forest-admin-client-mock.js +83 -0
  4. package/dist/forest-server-sandbox.js +153 -0
  5. package/dist/http-requester-mock.d.ts +7 -0
  6. package/dist/{integrations/http-requester-mock.js → http-requester-mock.js} +4 -4
  7. package/dist/index.d.ts +46 -3
  8. package/dist/index.js +101 -4
  9. package/dist/schema-converter.d.ts +6 -0
  10. package/dist/schema-converter.js +16 -0
  11. package/dist/{integrations/schema-path-manager.js → schema-path-manager.js} +1 -1
  12. package/dist/{integrations/testable-agent-base.d.ts → testable-agent-base.d.ts} +2 -2
  13. package/dist/{integrations/testable-agent-base.js → testable-agent-base.js} +3 -3
  14. package/dist/{integrations/testable-agent.d.ts → testable-agent.d.ts} +1 -1
  15. package/dist/{integrations/testable-agent.js → testable-agent.js} +2 -2
  16. package/dist/types.d.ts +5 -0
  17. package/dist/{units/types.js → types.js} +1 -1
  18. package/package.json +5 -5
  19. package/dist/integrations/benchmark.js +0 -36
  20. package/dist/integrations/forest-admin-client-mock.js +0 -76
  21. package/dist/integrations/forest-server-sandbox.js +0 -153
  22. package/dist/integrations/http-requester-mock.d.ts +0 -8
  23. package/dist/integrations/index.d.ts +0 -43
  24. package/dist/integrations/index.js +0 -119
  25. package/dist/integrations/schema-converter.d.ts +0 -6
  26. package/dist/integrations/schema-converter.js +0 -16
  27. package/dist/integrations/types.d.ts +0 -5
  28. package/dist/integrations/types.js +0 -3
  29. package/dist/remote-agent-client/action-fields/action-field-checkbox-group.d.ts +0 -8
  30. package/dist/remote-agent-client/action-fields/action-field-checkbox-group.js +0 -23
  31. package/dist/remote-agent-client/action-fields/action-field-checkbox.d.ts +0 -6
  32. package/dist/remote-agent-client/action-fields/action-field-checkbox.js +0 -16
  33. package/dist/remote-agent-client/action-fields/action-field-color-picker.d.ts +0 -7
  34. package/dist/remote-agent-client/action-fields/action-field-color-picker.js +0 -19
  35. package/dist/remote-agent-client/action-fields/action-field-date.d.ts +0 -5
  36. package/dist/remote-agent-client/action-fields/action-field-date.js +0 -13
  37. package/dist/remote-agent-client/action-fields/action-field-dropdown.d.ts +0 -7
  38. package/dist/remote-agent-client/action-fields/action-field-dropdown.js +0 -16
  39. package/dist/remote-agent-client/action-fields/action-field-enum.d.ts +0 -6
  40. package/dist/remote-agent-client/action-fields/action-field-enum.js +0 -19
  41. package/dist/remote-agent-client/action-fields/action-field-json.d.ts +0 -5
  42. package/dist/remote-agent-client/action-fields/action-field-json.js +0 -13
  43. package/dist/remote-agent-client/action-fields/action-field-multiple-choice.d.ts +0 -7
  44. package/dist/remote-agent-client/action-fields/action-field-multiple-choice.js +0 -19
  45. package/dist/remote-agent-client/action-fields/action-field-number-list.d.ts +0 -6
  46. package/dist/remote-agent-client/action-fields/action-field-number-list.js +0 -20
  47. package/dist/remote-agent-client/action-fields/action-field-number.d.ts +0 -5
  48. package/dist/remote-agent-client/action-fields/action-field-number.js +0 -13
  49. package/dist/remote-agent-client/action-fields/action-field-radio-group.d.ts +0 -7
  50. package/dist/remote-agent-client/action-fields/action-field-radio-group.js +0 -16
  51. package/dist/remote-agent-client/action-fields/action-field-string-list.d.ts +0 -6
  52. package/dist/remote-agent-client/action-fields/action-field-string-list.js +0 -20
  53. package/dist/remote-agent-client/action-fields/action-field-string.d.ts +0 -5
  54. package/dist/remote-agent-client/action-fields/action-field-string.js +0 -13
  55. package/dist/remote-agent-client/action-fields/action-field.d.ts +0 -15
  56. package/dist/remote-agent-client/action-fields/action-field.js +0 -34
  57. package/dist/remote-agent-client/action-fields/field-form-states.d.ts +0 -25
  58. package/dist/remote-agent-client/action-fields/field-form-states.js +0 -94
  59. package/dist/remote-agent-client/action-fields/field-getter.d.ts +0 -10
  60. package/dist/remote-agent-client/action-fields/field-getter.js +0 -21
  61. package/dist/remote-agent-client/action-fields/types.d.ts +0 -28
  62. package/dist/remote-agent-client/action-fields/types.js +0 -3
  63. package/dist/remote-agent-client/action-layout/action-layout-container.d.ts +0 -9
  64. package/dist/remote-agent-client/action-layout/action-layout-container.js +0 -24
  65. package/dist/remote-agent-client/action-layout/action-layout-element.d.ts +0 -14
  66. package/dist/remote-agent-client/action-layout/action-layout-element.js +0 -47
  67. package/dist/remote-agent-client/action-layout/action-layout-input.d.ts +0 -7
  68. package/dist/remote-agent-client/action-layout/action-layout-input.js +0 -12
  69. package/dist/remote-agent-client/action-layout/action-layout-page.d.ts +0 -8
  70. package/dist/remote-agent-client/action-layout/action-layout-page.js +0 -18
  71. package/dist/remote-agent-client/action-layout/action-layout-root.d.ts +0 -6
  72. package/dist/remote-agent-client/action-layout/action-layout-root.js +0 -19
  73. package/dist/remote-agent-client/action-layout/errors.d.ts +0 -8
  74. package/dist/remote-agent-client/action-layout/errors.js +0 -16
  75. package/dist/remote-agent-client/domains/action.d.ts +0 -59
  76. package/dist/remote-agent-client/domains/action.js +0 -139
  77. package/dist/remote-agent-client/domains/chart.d.ts +0 -21
  78. package/dist/remote-agent-client/domains/chart.js +0 -39
  79. package/dist/remote-agent-client/domains/collection-chart.d.ts +0 -19
  80. package/dist/remote-agent-client/domains/collection-chart.js +0 -40
  81. package/dist/remote-agent-client/domains/collection.d.ts +0 -26
  82. package/dist/remote-agent-client/domains/collection.js +0 -109
  83. package/dist/remote-agent-client/domains/relation.d.ts +0 -11
  84. package/dist/remote-agent-client/domains/relation.js +0 -23
  85. package/dist/remote-agent-client/domains/remote-agent-client.d.ts +0 -41
  86. package/dist/remote-agent-client/domains/remote-agent-client.js +0 -43
  87. package/dist/remote-agent-client/domains/segment.d.ts +0 -14
  88. package/dist/remote-agent-client/domains/segment.js +0 -46
  89. package/dist/remote-agent-client/http-requester.d.ts +0 -30
  90. package/dist/remote-agent-client/http-requester.js +0 -67
  91. package/dist/remote-agent-client/index.d.ts +0 -10
  92. package/dist/remote-agent-client/index.js +0 -18
  93. package/dist/remote-agent-client/query-serializer.d.ts +0 -7
  94. package/dist/remote-agent-client/query-serializer.js +0 -34
  95. package/dist/remote-agent-client/types.d.ts +0 -25
  96. package/dist/remote-agent-client/types.js +0 -3
  97. package/dist/units/add-action.d.ts +0 -16
  98. package/dist/units/add-action.js +0 -70
  99. package/dist/units/add-field.d.ts +0 -3
  100. package/dist/units/add-field.js +0 -18
  101. package/dist/units/add-hook.d.ts +0 -3
  102. package/dist/units/add-hook.js +0 -18
  103. package/dist/units/import-field.d.ts +0 -3
  104. package/dist/units/import-field.js +0 -18
  105. package/dist/units/index.d.ts +0 -9
  106. package/dist/units/index.js +0 -25
  107. package/dist/units/many-to-one-relation.d.ts +0 -3
  108. package/dist/units/many-to-one-relation.js +0 -18
  109. package/dist/units/replace-search.d.ts +0 -3
  110. package/dist/units/replace-search.js +0 -18
  111. package/dist/units/types.d.ts +0 -34
  112. package/dist/units/use-plugin.d.ts +0 -3
  113. package/dist/units/use-plugin.js +0 -18
  114. /package/dist/{integrations/benchmark.d.ts → benchmark.d.ts} +0 -0
  115. /package/dist/{integrations/forest-server-sandbox.d.ts → forest-server-sandbox.d.ts} +0 -0
  116. /package/dist/{integrations/schema-path-manager.d.ts → schema-path-manager.d.ts} +0 -0
@@ -1,36 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const node_perf_hooks_1 = require("node:perf_hooks");
4
- class Benchmark {
5
- constructor() {
6
- this._times = 1;
7
- }
8
- times(times) {
9
- if (times < 1)
10
- throw new Error('Times must be greater than 0');
11
- this._times = times;
12
- return this;
13
- }
14
- async run(func) {
15
- const durations = [];
16
- for (let i = 0; i < this._times; i += 1) {
17
- // eslint-disable-next-line no-await-in-loop
18
- const start = node_perf_hooks_1.performance.now();
19
- // eslint-disable-next-line no-await-in-loop
20
- await func();
21
- const end = node_perf_hooks_1.performance.now();
22
- const duration = end - start;
23
- durations.push(duration);
24
- }
25
- return {
26
- times: this._times,
27
- durations,
28
- average: durations.reduce((acc, curr) => acc + curr, 0) / this._times,
29
- total: durations.reduce((acc, curr) => acc + curr, 0),
30
- min: Math.min(...durations),
31
- max: Math.max(...durations),
32
- };
33
- }
34
- }
35
- exports.default = Benchmark;
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVuY2htYXJrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ludGVncmF0aW9ucy9iZW5jaG1hcmsudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxxREFBOEM7QUFFOUMsTUFBcUIsU0FBUztJQUE5QjtRQUNVLFdBQU0sR0FBRyxDQUFDLENBQUM7SUFzQ3JCLENBQUM7SUFwQ0MsS0FBSyxDQUFDLEtBQWE7UUFDakIsSUFBSSxLQUFLLEdBQUcsQ0FBQztZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsOEJBQThCLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUVwQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxLQUFLLENBQUMsR0FBRyxDQUFDLElBQXlCO1FBUWpDLE1BQU0sU0FBUyxHQUFhLEVBQUUsQ0FBQztRQUUvQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDeEMsNENBQTRDO1lBQzVDLE1BQU0sS0FBSyxHQUFHLDZCQUFXLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDaEMsNENBQTRDO1lBQzVDLE1BQU0sSUFBSSxFQUFFLENBQUM7WUFDYixNQUFNLEdBQUcsR0FBRyw2QkFBVyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQzlCLE1BQU0sUUFBUSxHQUFHLEdBQUcsR0FBRyxLQUFLLENBQUM7WUFDN0IsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMzQixDQUFDO1FBRUQsT0FBTztZQUNMLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNsQixTQUFTO1lBQ1QsT0FBTyxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNO1lBQ3JFLEtBQUssRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLElBQUksRUFBRSxDQUFDLENBQUM7WUFDckQsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxTQUFTLENBQUM7WUFDM0IsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxTQUFTLENBQUM7U0FDNUIsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQXZDRCw0QkF1Q0MifQ==
@@ -1,76 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CURRENT_USER = void 0;
4
- exports.CURRENT_USER = {
5
- id: 1,
6
- email: 'forest@forest.com',
7
- team: 'admin',
8
- rendering_id: 1,
9
- renderingId: 1,
10
- first_name: 'forest',
11
- firstName: 'forest',
12
- last_name: 'admin',
13
- lastName: 'admin',
14
- role: 'Admin',
15
- permissionLevel: 'admin',
16
- permission_level: 'admin',
17
- tags: {},
18
- roleId: 1,
19
- role_id: 1,
20
- };
21
- class ForestAdminClientMock {
22
- constructor() {
23
- this.contextVariablesInstantiator = {
24
- buildContextVariables: () => ({}), // TODO: return actual context variables
25
- };
26
- this.mcpServerConfigService = {
27
- getConfiguration: () => Promise.resolve({ configs: {} }),
28
- };
29
- this.permissionService = {
30
- canOnCollection: () => true,
31
- canTriggerCustomAction: () => true,
32
- doesTriggerCustomActionRequiresApproval: () => false,
33
- canApproveCustomAction: () => true,
34
- canRequestCustomActionParameters: () => true,
35
- canExecuteChart: () => true,
36
- canExecuteSegmentQuery: () => true,
37
- getConditionalTriggerCondition: () => undefined,
38
- getConditionalRequiresApprovalCondition: () => undefined,
39
- getConditionalApproveCondition: () => undefined,
40
- getConditionalApproveConditions: () => undefined,
41
- getRoleIdsAllowedToApproveWithoutConditions: () => undefined,
42
- };
43
- this.authService = {
44
- init: () => Promise.resolve(undefined),
45
- getUserInfo: () => Promise.resolve(exports.CURRENT_USER),
46
- generateAuthorizationUrl: () => Promise.resolve(undefined),
47
- generateTokens: () => Promise.resolve({ accessToken: 'AUTH-TOKEN' }),
48
- };
49
- }
50
- close() {
51
- // Do nothing
52
- }
53
- getIpWhitelistConfiguration() {
54
- return Promise.resolve({ isFeatureEnabled: false, ipRules: [] });
55
- }
56
- getScope() {
57
- return Promise.resolve(undefined);
58
- }
59
- markScopesAsUpdated() {
60
- // Do nothing
61
- }
62
- onRefreshCustomizations() {
63
- // Do nothing
64
- }
65
- postSchema() {
66
- return Promise.resolve(true);
67
- }
68
- subscribeToServerEvents() {
69
- return Promise.resolve();
70
- }
71
- verifySignedActionParameters() {
72
- return undefined;
73
- }
74
- }
75
- exports.default = ForestAdminClientMock;
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yZXN0LWFkbWluLWNsaWVudC1tb2NrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ludGVncmF0aW9ucy9mb3Jlc3QtYWRtaW4tY2xpZW50LW1vY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBa0JhLFFBQUEsWUFBWSxHQUErQjtJQUN0RCxFQUFFLEVBQUUsQ0FBQztJQUNMLEtBQUssRUFBRSxtQkFBbUI7SUFDMUIsSUFBSSxFQUFFLE9BQU87SUFFYixZQUFZLEVBQUUsQ0FBQztJQUNmLFdBQVcsRUFBRSxDQUFDO0lBRWQsVUFBVSxFQUFFLFFBQVE7SUFDcEIsU0FBUyxFQUFFLFFBQVE7SUFFbkIsU0FBUyxFQUFFLE9BQU87SUFDbEIsUUFBUSxFQUFFLE9BQU87SUFFakIsSUFBSSxFQUFFLE9BQU87SUFFYixlQUFlLEVBQUUsT0FBTztJQUN4QixnQkFBZ0IsRUFBRSxPQUFPO0lBRXpCLElBQUksRUFBRSxFQUFFO0lBRVIsTUFBTSxFQUFFLENBQUM7SUFDVCxPQUFPLEVBQUUsQ0FBQztDQUNYLENBQUM7QUFFRixNQUFxQixxQkFBcUI7SUFjeEM7UUFaUyxpQ0FBNEIsR0FBMEM7WUFDN0UscUJBQXFCLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFVLENBQUEsRUFBRSx3Q0FBd0M7U0FDbkYsQ0FBQztRQUdPLDJCQUFzQixHQUFnRDtZQUM3RSxnQkFBZ0IsRUFBRSxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDO1NBQ3pELENBQUM7UUFNQSxJQUFJLENBQUMsaUJBQWlCLEdBQUc7WUFDdkIsZUFBZSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUk7WUFDM0Isc0JBQXNCLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSTtZQUNsQyx1Q0FBdUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFLO1lBQ3BELHNCQUFzQixFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUk7WUFDbEMsZ0NBQWdDLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSTtZQUM1QyxlQUFlLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSTtZQUMzQixzQkFBc0IsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJO1lBQ2xDLDhCQUE4QixFQUFFLEdBQUcsRUFBRSxDQUFDLFNBQVM7WUFDL0MsdUNBQXVDLEVBQUUsR0FBRyxFQUFFLENBQUMsU0FBUztZQUN4RCw4QkFBOEIsRUFBRSxHQUFHLEVBQUUsQ0FBQyxTQUFTO1lBQy9DLCtCQUErQixFQUFFLEdBQUcsRUFBRSxDQUFDLFNBQVM7WUFDaEQsMkNBQTJDLEVBQUUsR0FBRyxFQUFFLENBQUMsU0FBUztTQUM3RCxDQUFDO1FBQ0YsSUFBSSxDQUFDLFdBQVcsR0FBRztZQUNqQixJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7WUFDdEMsV0FBVyxFQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQVcsb0JBQVksQ0FBQztZQUMxRCx3QkFBd0IsRUFBRSxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQztZQUMxRCxjQUFjLEVBQUUsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsQ0FBQztTQUNyRSxDQUFDO0lBQ0osQ0FBQztJQUVELEtBQUs7UUFDSCxhQUFhO0lBQ2YsQ0FBQztJQUVELDJCQUEyQjtRQUN6QixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQVksU0FBUyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELG1CQUFtQjtRQUNqQixhQUFhO0lBQ2YsQ0FBQztJQUVELHVCQUF1QjtRQUNyQixhQUFhO0lBQ2YsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELHVCQUF1QjtRQUNyQixPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsNEJBQTRCO1FBQzFCLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7Q0FDRjtBQXBFRCx3Q0FvRUMifQ==
@@ -1,153 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const node_http_1 = __importDefault(require("node:http"));
7
- const forest_admin_client_mock_1 = require("./forest-admin-client-mock");
8
- class ForestServerSandbox {
9
- constructor(port) {
10
- // cache the agent schema for every client to avoid to start several servers when testing agent.
11
- this.agentSchemaCache = new Map();
12
- // allow to override some permissions directly from the agent
13
- this.permissionsOverrideCache = new Map();
14
- this.port = port;
15
- }
16
- async createServer() {
17
- const server = node_http_1.default.createServer(this.routes.bind(this));
18
- this.fakeForestServer = await new Promise((resolve, reject) => {
19
- server.listen(this.port, () => resolve(server));
20
- server.on('error', error => {
21
- console.error('Server error:', error);
22
- reject(error);
23
- });
24
- });
25
- this.port = this.fakeForestServer.address().port;
26
- // eslint-disable-next-line no-console
27
- console.log(`Server listening on port ${this.port}`);
28
- return this;
29
- }
30
- async stop() {
31
- await new Promise((resolve, reject) => {
32
- this.fakeForestServer.close(error => {
33
- if (error)
34
- reject(error);
35
- else
36
- resolve(null);
37
- });
38
- });
39
- }
40
- routes(req, res) {
41
- const agentSchemaCacheIdentifier = req.headers['forest-secret-key'];
42
- const sendResponse = (statusCode, data) => {
43
- if (!res.headersSent) {
44
- res.writeHead(statusCode, { 'Content-Type': 'application/json' });
45
- }
46
- if (!res.writableEnded) {
47
- res.end(data ? JSON.stringify(data) : undefined);
48
- }
49
- };
50
- try {
51
- switch (req.url) {
52
- case '/agent-schema': {
53
- let data = '';
54
- req.on('data', chunk => {
55
- data += chunk;
56
- });
57
- req.on('end', () => {
58
- this.agentSchemaCache.set(agentSchemaCacheIdentifier, JSON.parse(data));
59
- sendResponse(200);
60
- });
61
- break;
62
- }
63
- case '/permission-override': {
64
- let data = '';
65
- req.on('data', chunk => {
66
- data += chunk;
67
- });
68
- req.on('end', () => {
69
- this.permissionsOverrideCache.set(agentSchemaCacheIdentifier, JSON.parse(data));
70
- sendResponse(200);
71
- });
72
- break;
73
- }
74
- case '/liana/v4/subscribe-to-events':
75
- sendResponse(200);
76
- break;
77
- case '/liana/v1/ip-whitelist-rules':
78
- sendResponse(200, { data: { attributes: { use_ip_whitelist: false, rules: [] } } });
79
- break;
80
- case '/liana/v4/permissions/environment': {
81
- try {
82
- const permissionsV4 = this.transformForestSchemaToEnvironmentPermissionsV4Remote(this.agentSchemaCache.get(agentSchemaCacheIdentifier), this.permissionsOverrideCache.get(agentSchemaCacheIdentifier));
83
- sendResponse(200, permissionsV4);
84
- }
85
- catch {
86
- sendResponse(400, { error: 'Provide a valid schema path' });
87
- }
88
- break;
89
- }
90
- case '/liana/v4/permissions/users':
91
- sendResponse(200, [forest_admin_client_mock_1.CURRENT_USER]);
92
- break;
93
- case '/forest/apimaps/hashcheck':
94
- sendResponse(200, { sendSchema: false });
95
- break;
96
- default:
97
- if (req.url?.startsWith('/liana/v4/permissions/renderings/')) {
98
- sendResponse(200, { team: {}, collections: {}, stats: [] });
99
- }
100
- else {
101
- sendResponse(404, { error: 'Not Found' });
102
- }
103
- }
104
- }
105
- catch (error) {
106
- console.error('Error handling request:', error);
107
- sendResponse(500, { error: 'Internal Server Error' });
108
- }
109
- }
110
- transformForestSchemaToEnvironmentPermissionsV4Remote(schema, permissionsOverride) {
111
- const collections = {};
112
- schema.collections.forEach(collection => {
113
- const actionPermissions = {};
114
- collection.actions.forEach(action => {
115
- actionPermissions[action.name] = this.getCollectionActionPermissions(permissionsOverride?.[collection.name]?.actions?.[action.name] || {});
116
- });
117
- collections[collection.name] = {
118
- collection: this.getCollectionCrudPermissions(permissionsOverride?.[collection.name]?.collection || {}),
119
- actions: actionPermissions,
120
- };
121
- });
122
- return { collections };
123
- }
124
- getCollectionCrudPermissions(override) {
125
- return {
126
- browseEnabled: { roles: [override.browseEnabled === false ? 0 : 1] },
127
- deleteEnabled: { roles: [override.deleteEnabled === false ? 0 : 1] },
128
- editEnabled: { roles: [override.editEnabled === false ? 0 : 1] },
129
- exportEnabled: { roles: [override.exportEnabled === false ? 0 : 1] },
130
- addEnabled: { roles: [override.addEnabled === false ? 0 : 1] },
131
- readEnabled: { roles: [override.readEnabled === false ? 0 : 1] },
132
- };
133
- }
134
- getCollectionActionPermissions(override) {
135
- return {
136
- approvalRequired: { roles: [override.approvalRequired === true ? 1 : 0] },
137
- userApprovalEnabled: { roles: [override.userApprovalEnabled === false ? 0 : 1] },
138
- selfApprovalEnabled: { roles: [override.selfApprovalEnabled === false ? 0 : 1] },
139
- triggerEnabled: { roles: [override.triggerEnabled === false ? 0 : 1] },
140
- triggerConditions: override.triggerConditions
141
- ? [{ roleId: 1, filter: override.triggerConditions }]
142
- : [],
143
- userApprovalConditions: override.userApprovalConditions
144
- ? [{ roleId: 1, filter: override.userApprovalConditions }]
145
- : [],
146
- approvalRequiredConditions: override.approvalRequiredConditions
147
- ? [{ roleId: 1, filter: override.approvalRequiredConditions }]
148
- : [],
149
- };
150
- }
151
- }
152
- exports.default = ForestServerSandbox;
153
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yZXN0LXNlcnZlci1zYW5kYm94LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ludGVncmF0aW9ucy9mb3Jlc3Qtc2VydmVyLXNhbmRib3gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFNQSwwREFBNkI7QUFFN0IseUVBQTBEO0FBTzFELE1BQXFCLG1CQUFtQjtJQVd0QyxZQUFZLElBQVk7UUFSeEIsZ0dBQWdHO1FBQy9FLHFCQUFnQixHQUE4QixJQUFJLEdBQUcsRUFBRSxDQUFDO1FBRXpFLDZEQUE2RDtRQUM1Qyw2QkFBd0IsR0FBcUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUt0RixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRUQsS0FBSyxDQUFDLFlBQVk7UUFDaEIsTUFBTSxNQUFNLEdBQUcsbUJBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUV6RCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUM1RCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDaEQsTUFBTSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLEVBQUU7Z0JBQ3pCLE9BQU8sQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUN0QyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDaEIsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxJQUFJLEdBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBdUIsQ0FBQyxJQUFJLENBQUM7UUFFdkUs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
@@ -1,8 +0,0 @@
1
- import { TestableAgentOptions } from './types';
2
- import HttpRequester from '../remote-agent-client/http-requester';
3
- export declare function createHttpRequester(options: {
4
- url: string;
5
- authSecret: string;
6
- prefix?: string;
7
- }, agentOptions: TestableAgentOptions): HttpRequester;
8
- //# sourceMappingURL=http-requester-mock.d.ts.map
@@ -1,43 +0,0 @@
1
- import { Agent } from '@forestadmin/agent';
2
- import { TSchema } from '@forestadmin/datasource-customizer';
3
- import ForestServerSandbox from './forest-server-sandbox';
4
- import SchemaPathManager from './schema-path-manager';
5
- import TestableAgent from './testable-agent';
6
- import TestableAgentBase from './testable-agent-base';
7
- import { TestableAgentOptions } from './types';
8
- export { AgentOptions, Agent } from '@forestadmin/agent';
9
- export * from './types';
10
- export { SchemaPathManager, ForestServerSandbox, TestableAgent };
11
- export type ForestAgentClient = TestableAgentBase;
12
- /**
13
- * Create a forest server sandbox
14
- * It is useful to test the agent if you use the createForestAgentClient way to test your agent
15
- * @param port
16
- */
17
- export declare function createForestServerSandbox(port: number): Promise<ForestServerSandbox>;
18
- /**
19
- * Create a forest client to test your agent customizations
20
- * by sending requests to the agent like the frontend does.
21
- * With this client, you should start your agent by yourself.
22
- * You can test any agent with this client (python, ruby, nodeJs, etc.)
23
- * @param options
24
- */
25
- export declare function createForestAgentClient(options: {
26
- agentForestEnvSecret: string;
27
- agentForestAuthSecret: string;
28
- agentUrl: string;
29
- serverUrl: string;
30
- agentSchemaPath: string;
31
- }): Promise<ForestAgentClient>;
32
- /**
33
- * Create a testable agent
34
- * You can test your agentNodejs customizations by injecting your customizations.
35
- * It will start the agent for you. You don't need to start the agent by yourself and a server.
36
- * It's not compatible with the createForestAgentClient & createForestServerSandbox way.
37
- * It is recommended to user createForestAgentClient & createForestServerSandbox to test your agent.
38
- *
39
- * @param customizer
40
- * @param options
41
- */
42
- export declare function createTestableAgent<TypingsSchema extends TSchema = TSchema>(customizer: (agent: Agent<TypingsSchema>) => void, options?: TestableAgentOptions): Promise<TestableAgent<TypingsSchema>>;
43
- //# sourceMappingURL=index.d.ts.map
@@ -1,119 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- var __importDefault = (this && this.__importDefault) || function (mod) {
17
- return (mod && mod.__esModule) ? mod : { "default": mod };
18
- };
19
- Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.TestableAgent = exports.ForestServerSandbox = exports.SchemaPathManager = exports.Agent = void 0;
21
- exports.createForestServerSandbox = createForestServerSandbox;
22
- exports.createForestAgentClient = createForestAgentClient;
23
- exports.createTestableAgent = createTestableAgent;
24
- const agent_1 = require("@forestadmin/agent");
25
- const fs_1 = __importDefault(require("fs"));
26
- const superagent_1 = __importDefault(require("superagent"));
27
- const forest_admin_client_mock_1 = __importDefault(require("./forest-admin-client-mock"));
28
- const forest_server_sandbox_1 = __importDefault(require("./forest-server-sandbox"));
29
- exports.ForestServerSandbox = forest_server_sandbox_1.default;
30
- const http_requester_mock_1 = require("./http-requester-mock");
31
- const schema_converter_1 = __importDefault(require("./schema-converter"));
32
- const schema_path_manager_1 = __importDefault(require("./schema-path-manager"));
33
- exports.SchemaPathManager = schema_path_manager_1.default;
34
- const testable_agent_1 = __importDefault(require("./testable-agent"));
35
- exports.TestableAgent = testable_agent_1.default;
36
- const testable_agent_base_1 = __importDefault(require("./testable-agent-base"));
37
- var agent_2 = require("@forestadmin/agent");
38
- Object.defineProperty(exports, "Agent", { enumerable: true, get: function () { return agent_2.Agent; } });
39
- __exportStar(require("./types"), exports);
40
- /**
41
- * Create a forest server sandbox
42
- * It is useful to test the agent if you use the createForestAgentClient way to test your agent
43
- * @param port
44
- */
45
- async function createForestServerSandbox(port) {
46
- return new forest_server_sandbox_1.default(port).createServer();
47
- }
48
- /**
49
- * Create a forest client to test your agent customizations
50
- * by sending requests to the agent like the frontend does.
51
- * With this client, you should start your agent by yourself.
52
- * You can test any agent with this client (python, ruby, nodeJs, etc.)
53
- * @param options
54
- */
55
- async function createForestAgentClient(options) {
56
- const { serverUrl, agentUrl, agentSchemaPath } = options;
57
- let schema;
58
- try {
59
- schema = JSON.parse(fs_1.default.readFileSync(agentSchemaPath, { encoding: 'utf-8' }));
60
- }
61
- catch (e) {
62
- throw new Error('Provide a right schema path');
63
- }
64
- // send the schema to the server to allow the server to build fake answers
65
- await superagent_1.default
66
- .post(`${serverUrl}/agent-schema`)
67
- .set('forest-secret-key', options.agentForestEnvSecret)
68
- .send(schema);
69
- const httpRequester = (0, http_requester_mock_1.createHttpRequester)({
70
- authSecret: options.agentForestAuthSecret,
71
- url: agentUrl,
72
- }, {
73
- envSecret: options.agentForestEnvSecret,
74
- authSecret: options.agentForestAuthSecret,
75
- isProduction: false,
76
- });
77
- const overridePermissions = async (permissions) => {
78
- await superagent_1.default
79
- .post(`${serverUrl}/permission-override`)
80
- .set('forest-secret-key', options.agentForestEnvSecret)
81
- .send(permissions);
82
- };
83
- return new testable_agent_base_1.default({
84
- actionEndpoints: schema_converter_1.default.extractActionEndpoints(schema),
85
- httpRequester,
86
- overridePermissions,
87
- });
88
- }
89
- /**
90
- * Create a testable agent
91
- * You can test your agentNodejs customizations by injecting your customizations.
92
- * It will start the agent for you. You don't need to start the agent by yourself and a server.
93
- * It's not compatible with the createForestAgentClient & createForestServerSandbox way.
94
- * It is recommended to user createForestAgentClient & createForestServerSandbox to test your agent.
95
- *
96
- * @param customizer
97
- * @param options
98
- */
99
- async function createTestableAgent(customizer, options) {
100
- const agentOptions = {
101
- // eslint-disable-next-line @typescript-eslint/no-empty-function
102
- logger: () => { },
103
- schemaPath: schema_path_manager_1.default.generateTemporarySchemaPath(),
104
- isProduction: false,
105
- ...(options || {}),
106
- // 0 is a random port
107
- port: options?.port || 0,
108
- // Cast to any to avoid type mismatch when workspace has different forestadmin-client version
109
- forestAdminClient: new forest_admin_client_mock_1.default(),
110
- authSecret: options?.authSecret || 'b0bdf0a639c16bae8851dd24ee3d79ef0a352e957c5b86cb',
111
- envSecret: options?.envSecret || 'ceba742f5bc73946b34da192816a4d7177b3233fee7769955c29c0e90fd584f2',
112
- };
113
- const agent = (0, agent_1.createAgent)(agentOptions);
114
- if (!agent)
115
- throw new Error('Agent is not defined');
116
- customizer(agent);
117
- return new testable_agent_1.default({ agent, agentOptions });
118
- }
119
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW50ZWdyYXRpb25zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBMkJBLDhEQUVDO0FBU0QsMERBOENDO0FBWUQsa0RBeUJDO0FBekhELDhDQUF3RDtBQUd4RCw0Q0FBb0I7QUFDcEIsNERBQW9DO0FBRXBDLDBGQUErRDtBQUMvRCxvRkFBMEQ7QUFZOUIsOEJBWnJCLCtCQUFtQixDQVlxQjtBQVgvQywrREFBNEQ7QUFDNUQsMEVBQWlEO0FBQ2pELGdGQUFzRDtBQVM3Qyw0QkFURiw2QkFBaUIsQ0FTRTtBQVIxQixzRUFBNkM7QUFRSSx3QkFSMUMsd0JBQWEsQ0FRMEM7QUFQOUQsZ0ZBQXNEO0FBSXRELDRDQUF5RDtBQUFsQyw4RkFBQSxLQUFLLE9BQUE7QUFDNUIsMENBQXdCO0FBS3hCOzs7O0dBSUc7QUFDSSxLQUFLLFVBQVUseUJBQXlCLENBQUMsSUFBWTtJQUMxRCxPQUFPLElBQUksK0JBQW1CLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUM7QUFDdEQsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNJLEtBQUssVUFBVSx1QkFBdUIsQ0FBQyxPQU03QztJQUNDLE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxHQUFHLE9BQU8sQ0FBQztJQUN6RCxJQUFJLE1BQW9CLENBQUM7SUFFekIsSUFBSSxDQUFDO1FBQ0gsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBRSxDQUFDLFlBQVksQ0FBQyxlQUFlLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ1gsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCwwRUFBMEU7SUFDMUUsTUFBTSxvQkFBVTtTQUNiLElBQUksQ0FBQyxHQUFHLFNBQVMsZUFBZSxDQUFDO1NBQ2pDLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRSxPQUFPLENBQUMsb0JBQW9CLENBQUM7U0FDdEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRWhCLE1BQU0sYUFBYSxHQUFHLElBQUEseUNBQW1CLEVBQ3ZDO1FBQ0UsVUFBVSxFQUFFLE9BQU8sQ0FBQyxxQkFBcUI7UUFDekMsR0FBRyxFQUFFLFFBQVE7S0FDZCxFQUNEO1FBQ0UsU0FBUyxFQUFFLE9BQU8sQ0FBQyxvQkFBb0I7UUFDdkMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxxQkFBcUI7UUFDekMsWUFBWSxFQUFFLEtBQUs7S0FDcEIsQ0FDRixDQUFDO0lBRUYsTUFBTSxtQkFBbUIsR0FBRyxLQUFLLEVBQUUsV0FBZ0MsRUFBRSxFQUFFO1FBQ3JFLE1BQU0sb0JBQVU7YUFDYixJQUFJLENBQUMsR0FBRyxTQUFTLHNCQUFzQixDQUFDO2FBQ3hDLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRSxPQUFPLENBQUMsb0JBQW9CLENBQUM7YUFDdEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3ZCLENBQUMsQ0FBQztJQUVGLE9BQU8sSUFBSSw2QkFBaUIsQ0FBQztRQUMzQixlQUFlLEVBQUUsMEJBQWUsQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLENBQUM7UUFDL0QsYUFBYTtRQUNiLG1CQUFtQjtLQUNwQixDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQ7Ozs7Ozs7OztHQVNHO0FBQ0ksS0FBSyxVQUFVLG1CQUFtQixDQUN2QyxVQUFpRCxFQUNqRCxPQUE4QjtJQUU5QixNQUFNLFlBQVksR0FBeUI7UUFDekMsZ0VBQWdFO1FBQ2hFLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRSxDQUFDO1FBQ2hCLFVBQVUsRUFBRSw2QkFBaUIsQ0FBQywyQkFBMkIsRUFBRTtRQUMzRCxZQUFZLEVBQUUsS0FBSztRQUNuQixHQUFHLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUNsQixxQkFBcUI7UUFDckIsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLElBQUksQ0FBQztRQUN4Qiw2RkFBNkY7UUFDN0YsaUJBQWlCLEVBQUUsSUFBSSxrQ0FBcUIsRUFBUztRQUNyRCxVQUFVLEVBQUUsT0FBTyxFQUFFLFVBQVUsSUFBSSxrREFBa0Q7UUFDckYsU0FBUyxFQUNQLE9BQU8sRUFBRSxTQUFTLElBQUksa0VBQWtFO0tBQzNGLENBQUM7SUFFRixNQUFNLEtBQUssR0FBRyxJQUFBLG1CQUFXLEVBQWdCLFlBQVksQ0FBQyxDQUFDO0lBQ3ZELElBQUksQ0FBQyxLQUFLO1FBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBRXBELFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUVsQixPQUFPLElBQUksd0JBQWEsQ0FBZ0IsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztBQUNuRSxDQUFDIn0=
@@ -1,6 +0,0 @@
1
- import { ForestSchema } from '@forestadmin/forestadmin-client';
2
- import { ActionEndpointsByCollection } from '../remote-agent-client/domains/action';
3
- export default class SchemaConverter {
4
- static extractActionEndpoints(schema: ForestSchema): ActionEndpointsByCollection;
5
- }
6
- //# sourceMappingURL=schema-converter.d.ts.map
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- class SchemaConverter {
4
- static extractActionEndpoints(schema) {
5
- const actionEndpoints = {};
6
- Object.values(schema.collections).forEach(c => {
7
- actionEndpoints[c.name] = c.actions.reduce((acc, action) => ({
8
- ...acc,
9
- [action.name]: { name: action.name, endpoint: action.endpoint },
10
- }), {});
11
- });
12
- return actionEndpoints;
13
- }
14
- }
15
- exports.default = SchemaConverter;
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLWNvbnZlcnRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbnRlZ3JhdGlvbnMvc2NoZW1hLWNvbnZlcnRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUlBLE1BQXFCLGVBQWU7SUFDbEMsTUFBTSxDQUFDLHNCQUFzQixDQUFDLE1BQW9CO1FBQ2hELE1BQU0sZUFBZSxHQUFnQyxFQUFFLENBQUM7UUFDeEQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQzVDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQ3hDLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDaEIsR0FBRyxHQUFHO2dCQUNOLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUU7YUFDaEUsQ0FBQyxFQUNGLEVBQUUsQ0FDSCxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLGVBQWUsQ0FBQztJQUN6QixDQUFDO0NBQ0Y7QUFmRCxrQ0FlQyJ9
@@ -1,5 +0,0 @@
1
- import { AgentOptions } from '@forestadmin/agent';
2
- export type TestableAgentOptions = AgentOptions & {
3
- port?: number;
4
- };
5
- //# sourceMappingURL=types.d.ts.map
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW50ZWdyYXRpb25zL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
@@ -1,8 +0,0 @@
1
- import ActionField from './action-field';
2
- import { PlainFieldOption } from './types';
3
- export default class ActionFieldCheckboxGroup<TypingsSchema> extends ActionField<TypingsSchema> {
4
- getOptions(): PlainFieldOption[] | undefined;
5
- check(option: string): Promise<void>;
6
- uncheck(option: string): Promise<void>;
7
- }
8
- //# sourceMappingURL=action-field-checkbox-group.d.ts.map
@@ -1,23 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const action_field_1 = __importDefault(require("./action-field"));
7
- class ActionFieldCheckboxGroup extends action_field_1.default {
8
- getOptions() {
9
- return this.getMultipleChoiceField().getOptions();
10
- }
11
- async check(option) {
12
- const field = this.getMultipleChoiceField();
13
- await this.setValue([...(field.getValue() || []), field.getOption(option).value]);
14
- }
15
- async uncheck(option) {
16
- const field = this.getMultipleChoiceField();
17
- const checkedValues = field.getValue() || [];
18
- const { value } = field.getOption(option);
19
- await this.setValue(checkedValues.filter(checkedValue => value !== checkedValue));
20
- }
21
- }
22
- exports.default = ActionFieldCheckboxGroup;
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWZpZWxkLWNoZWNrYm94LWdyb3VwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3JlbW90ZS1hZ2VudC1jbGllbnQvYWN0aW9uLWZpZWxkcy9hY3Rpb24tZmllbGQtY2hlY2tib3gtZ3JvdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxrRUFBeUM7QUFHekMsTUFBcUIsd0JBQXdDLFNBQVEsc0JBQTBCO0lBQzdGLFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BELENBQUM7SUFFRCxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQWM7UUFDeEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDNUMsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQWMsRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEcsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBYztRQUMxQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUM1QyxNQUFNLGFBQWEsR0FBSSxLQUFLLENBQUMsUUFBUSxFQUFlLElBQUksRUFBRSxDQUFDO1FBQzNELE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTFDLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsS0FBSyxLQUFLLFlBQVksQ0FBQyxDQUFDLENBQUM7SUFDcEYsQ0FBQztDQUNGO0FBakJELDJDQWlCQyJ9
@@ -1,6 +0,0 @@
1
- import ActionField from './action-field';
2
- export default class ActionFieldCheckbox<TypingsSchema> extends ActionField<TypingsSchema> {
3
- check(): Promise<void>;
4
- uncheck(): Promise<void>;
5
- }
6
- //# sourceMappingURL=action-field-checkbox.d.ts.map
@@ -1,16 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const action_field_1 = __importDefault(require("./action-field"));
7
- class ActionFieldCheckbox extends action_field_1.default {
8
- async check() {
9
- await this.setValue(true);
10
- }
11
- async uncheck() {
12
- await this.setValue(false);
13
- }
14
- }
15
- exports.default = ActionFieldCheckbox;
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWZpZWxkLWNoZWNrYm94LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3JlbW90ZS1hZ2VudC1jbGllbnQvYWN0aW9uLWZpZWxkcy9hY3Rpb24tZmllbGQtY2hlY2tib3gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxrRUFBeUM7QUFFekMsTUFBcUIsbUJBQW1DLFNBQVEsc0JBQTBCO0lBQ3hGLEtBQUssQ0FBQyxLQUFLO1FBQ1QsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTztRQUNYLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDO0NBQ0Y7QUFSRCxzQ0FRQyJ9
@@ -1,7 +0,0 @@
1
- import ActionField from './action-field';
2
- export default class ActionFieldColorPicker<TypingsSchema> extends ActionField<TypingsSchema> {
3
- fill(value?: number | string): Promise<void>;
4
- isOpacityEnable(): Promise<boolean>;
5
- getQuickPalette(): Promise<string[] | undefined>;
6
- }
7
- //# sourceMappingURL=action-field-color-picker.d.ts.map
@@ -1,19 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const action_field_1 = __importDefault(require("./action-field"));
7
- class ActionFieldColorPicker extends action_field_1.default {
8
- async fill(value) {
9
- await this.setValue(this.isValueUndefinedOrNull(value) ? value : value.toString());
10
- }
11
- async isOpacityEnable() {
12
- return Boolean(this.field?.getPlainField().widgetEdit.parameters.static.enableOpacity);
13
- }
14
- async getQuickPalette() {
15
- return this.field?.getPlainField().widgetEdit.parameters.static.quickPalette;
16
- }
17
- }
18
- exports.default = ActionFieldColorPicker;
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWZpZWxkLWNvbG9yLXBpY2tlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZW1vdGUtYWdlbnQtY2xpZW50L2FjdGlvbi1maWVsZHMvYWN0aW9uLWZpZWxkLWNvbG9yLXBpY2tlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGtFQUF5QztBQUV6QyxNQUFxQixzQkFBc0MsU0FBUSxzQkFBMEI7SUFDM0YsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUF1QjtRQUNoQyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3JGLENBQUM7SUFFRCxLQUFLLENBQUMsZUFBZTtRQUNuQixPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLGFBQWEsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7SUFFRCxLQUFLLENBQUMsZUFBZTtRQUNuQixPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsYUFBYSxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDO0lBQy9FLENBQUM7Q0FDRjtBQVpELHlDQVlDIn0=
@@ -1,5 +0,0 @@
1
- import ActionField from './action-field';
2
- export default class ActionFieldDate<TypingsSchema> extends ActionField<TypingsSchema> {
3
- fill(value?: number | Date): Promise<void>;
4
- }
5
- //# sourceMappingURL=action-field-date.d.ts.map
@@ -1,13 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const action_field_1 = __importDefault(require("./action-field"));
7
- class ActionFieldDate extends action_field_1.default {
8
- async fill(value) {
9
- await this.setValue(this.isValueUndefinedOrNull(value) ? value : new Date(value).toISOString());
10
- }
11
- }
12
- exports.default = ActionFieldDate;
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWZpZWxkLWRhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmVtb3RlLWFnZW50LWNsaWVudC9hY3Rpb24tZmllbGRzL2FjdGlvbi1maWVsZC1kYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsa0VBQXlDO0FBRXpDLE1BQXFCLGVBQStCLFNBQVEsc0JBQTBCO0lBQ3BGLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBcUI7UUFDOUIsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ2xHLENBQUM7Q0FDRjtBQUpELGtDQUlDIn0=
@@ -1,7 +0,0 @@
1
- import ActionField from './action-field';
2
- import { PlainFieldOption } from './types';
3
- export default class ActionFieldDropdown<TypingsSchema> extends ActionField<TypingsSchema> {
4
- getOptions(): PlainFieldOption[] | undefined;
5
- select(option: string): Promise<void>;
6
- }
7
- //# sourceMappingURL=action-field-dropdown.d.ts.map
@@ -1,16 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const action_field_1 = __importDefault(require("./action-field"));
7
- class ActionFieldDropdown extends action_field_1.default {
8
- getOptions() {
9
- return this.getMultipleChoiceField().getOptions();
10
- }
11
- async select(option) {
12
- await this.setValue(this.getMultipleChoiceField().getOption(option).value);
13
- }
14
- }
15
- exports.default = ActionFieldDropdown;
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWZpZWxkLWRyb3Bkb3duLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3JlbW90ZS1hZ2VudC1jbGllbnQvYWN0aW9uLWZpZWxkcy9hY3Rpb24tZmllbGQtZHJvcGRvd24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxrRUFBeUM7QUFHekMsTUFBcUIsbUJBQW1DLFNBQVEsc0JBQTBCO0lBQ3hGLFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BELENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQWM7UUFDekIsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3RSxDQUFDO0NBQ0Y7QUFSRCxzQ0FRQyJ9