@attlaz/client 1.92.0 → 1.94.0

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 (68) hide show
  1. package/dist/DataQuality/Model/QualityCodeOption.d.ts +6 -0
  2. package/dist/DataQuality/Model/QualityCodeOption.js +1 -0
  3. package/dist/DataQuality/Model/QualityCodeSummaryRow.d.ts +16 -0
  4. package/dist/DataQuality/Model/QualityCodeSummaryRow.js +1 -0
  5. package/dist/DataQuality/Model/QualityEntityFilters.d.ts +10 -0
  6. package/dist/DataQuality/Model/QualityEntityFilters.js +1 -0
  7. package/dist/DataQuality/Model/QualityFilterOptions.d.ts +7 -0
  8. package/dist/DataQuality/Model/QualityFilterOptions.js +1 -0
  9. package/dist/DataQuality/Model/QualityProblemEvent.d.ts +23 -0
  10. package/dist/DataQuality/Model/QualityProblemEvent.js +34 -0
  11. package/dist/DataQuality/Model/QualitySummary.d.ts +7 -0
  12. package/dist/DataQuality/Model/QualitySummary.js +1 -0
  13. package/dist/DataQuality/Model/QualitySummaryRow.d.ts +6 -0
  14. package/dist/DataQuality/Model/QualitySummaryRow.js +1 -0
  15. package/dist/DataQuality/Model/QualitySuppression.d.ts +22 -0
  16. package/dist/DataQuality/Model/QualitySuppression.js +35 -0
  17. package/dist/DataQuality/Model/QualitySuppressionResult.d.ts +6 -0
  18. package/dist/DataQuality/Model/QualitySuppressionResult.js +1 -0
  19. package/dist/DataQuality/Service/QualityEndpoint.d.ts +26 -21
  20. package/dist/DataQuality/Service/QualityEndpoint.js +77 -13
  21. package/dist/EnhanceData/Model/GenerateContentBatchData.d.ts +8 -0
  22. package/dist/EnhanceData/Model/GenerateContentBatchData.js +1 -0
  23. package/dist/EnhanceData/Service/GenerateContentEndpoint.d.ts +1 -8
  24. package/dist/Model/Firewall/BlockedIp.d.ts +8 -0
  25. package/dist/Model/Firewall/BlockedIp.js +1 -0
  26. package/dist/Model/Firewall/FlaggedIp.d.ts +7 -0
  27. package/dist/Model/Firewall/FlaggedIp.js +1 -0
  28. package/dist/Model/Firewall/IpRule.d.ts +7 -0
  29. package/dist/Model/Firewall/IpRule.js +1 -0
  30. package/dist/Model/Infrastructure/RunnerPoolCreate.d.ts +3 -0
  31. package/dist/Model/Infrastructure/RunnerPoolCreate.js +1 -0
  32. package/dist/Pulse/Model/MarketSummaryEntry.d.ts +7 -0
  33. package/dist/Pulse/Model/MarketSummaryEntry.js +1 -0
  34. package/dist/Pulse/Model/MatchHistory.d.ts +12 -0
  35. package/dist/Pulse/Model/MatchHistory.js +1 -0
  36. package/dist/Pulse/Model/MatchHistoryBucket.d.ts +7 -0
  37. package/dist/Pulse/Model/MatchHistoryBucket.js +1 -0
  38. package/dist/Pulse/Model/MatchHistoryInterval.d.ts +2 -0
  39. package/dist/Pulse/Model/MatchHistoryInterval.js +1 -0
  40. package/dist/Pulse/Model/PriceAlertConfigData.d.ts +9 -0
  41. package/dist/Pulse/Model/PriceAlertConfigData.js +1 -0
  42. package/dist/Pulse/Model/PricingRuleData.d.ts +15 -0
  43. package/dist/Pulse/Model/PricingRuleData.js +1 -0
  44. package/dist/Pulse/Model/ProductGroupData.d.ts +8 -0
  45. package/dist/Pulse/Model/ProductGroupData.js +1 -0
  46. package/dist/Pulse/Model/ProductSegmentType.d.ts +2 -0
  47. package/dist/Pulse/Model/ProductSegmentType.js +1 -0
  48. package/dist/Pulse/Model/ProductsSegment.d.ts +6 -0
  49. package/dist/Pulse/Model/ProductsSegment.js +1 -0
  50. package/dist/Pulse/Model/PulseCatalogProductFilterOptions.d.ts +10 -0
  51. package/dist/Pulse/Model/PulseCatalogProductFilterOptions.js +1 -0
  52. package/dist/Pulse/Model/PulseCatalogProductFilters.d.ts +8 -0
  53. package/dist/Pulse/Model/PulseCatalogProductFilters.js +1 -0
  54. package/dist/Pulse/Model/ReviewMatchFilters.d.ts +7 -0
  55. package/dist/Pulse/Model/ReviewMatchFilters.js +1 -0
  56. package/dist/Pulse/Service/PriceAlertEndpoint.d.ts +1 -9
  57. package/dist/Pulse/Service/PricingEndpoint.d.ts +1 -15
  58. package/dist/Pulse/Service/ProductGroupEndpoint.d.ts +2 -8
  59. package/dist/Pulse/Service/ProductMatchEndpoint.d.ts +3 -25
  60. package/dist/Pulse/Service/PulseCatalogProductEndpoint.d.ts +2 -18
  61. package/dist/Pulse/Service/PulseStatisticsEndpoint.d.ts +3 -15
  62. package/dist/Service/FirewallEndpoint.d.ts +3 -19
  63. package/dist/Service/RunnerPoolEndpoint.d.ts +1 -3
  64. package/dist/index.d.ts +33 -9
  65. package/dist/index.js +2 -0
  66. package/dist/version.d.ts +1 -1
  67. package/dist/version.js +1 -1
  68. package/package.json +1 -1
@@ -0,0 +1,6 @@
1
+ /** A code with its label and open count, so a filter control can show the label not the raw code. */
2
+ export type QualityCodeOption = {
3
+ code: string;
4
+ label: string | null;
5
+ count: number;
6
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,16 @@
1
+ /**
2
+ * One row of the per-code summary, joined to the problem definition — the input for the
3
+ * "what should I fix next" cards. Already ordered blocking first, then severity, then count.
4
+ *
5
+ * `blocking` and `severity` are orthogonal: severity is how bad the problem is, blocking is whether
6
+ * the entity can ship at all.
7
+ */
8
+ export type QualityCodeSummaryRow = {
9
+ code: string;
10
+ count: number;
11
+ worstSeverity: string;
12
+ label: string | null;
13
+ description: string | null;
14
+ blocking: boolean;
15
+ helpUrl: string | null;
16
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,10 @@
1
+ /** Narrows the entity list; every field is optional and omitted filters are not sent. */
2
+ export type QualityEntityFilters = {
3
+ entityType?: string | null;
4
+ status?: string | null;
5
+ severity?: string | null;
6
+ property?: string | null;
7
+ code?: string | null;
8
+ /** Only entities carrying a problem first seen after this moment ("what appeared since…"). */
9
+ newSince?: Date | null;
10
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,7 @@
1
+ import { QualityCodeOption } from './QualityCodeOption.js';
2
+ /** The values the entity list can be filtered on, for the dataset as it currently stands. */
3
+ export type QualityFilterOptions = {
4
+ entityTypes: string[];
5
+ properties: string[];
6
+ codes: QualityCodeOption[];
7
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,23 @@
1
+ import { ApiRecord } from '../../Model/ApiRecord.js';
2
+ /**
3
+ * One transition of a single problem — the
4
+ * `/data_quality/datasets/:datasetId/entities/:entityType/:entityId/problems/:code/events` resource.
5
+ *
6
+ * A problem is reported once and then re-reported by every later scan; only the transitions are
7
+ * recorded, so the timeline stays short: `reported` when it first appears, `resolved` when a scan
8
+ * proves it fixed, `regressed` when a resolved problem comes back. A suppressed problem produces no
9
+ * events at all, so a muted code cannot bury the entries that matter.
10
+ */
11
+ export declare class QualityProblemEvent {
12
+ id: string;
13
+ entityType: string;
14
+ entityId: string;
15
+ code: string;
16
+ /** `reported` | `resolved` | `regressed` */
17
+ event: string;
18
+ /** The scan that produced the transition, when one is recorded. */
19
+ scan: string | null;
20
+ at: Date | null;
21
+ constructor(id: string, code: string, event: string);
22
+ static parse(raw: ApiRecord): QualityProblemEvent;
23
+ }
@@ -0,0 +1,34 @@
1
+ /**
2
+ * One transition of a single problem — the
3
+ * `/data_quality/datasets/:datasetId/entities/:entityType/:entityId/problems/:code/events` resource.
4
+ *
5
+ * A problem is reported once and then re-reported by every later scan; only the transitions are
6
+ * recorded, so the timeline stays short: `reported` when it first appears, `resolved` when a scan
7
+ * proves it fixed, `regressed` when a resolved problem comes back. A suppressed problem produces no
8
+ * events at all, so a muted code cannot bury the entries that matter.
9
+ */
10
+ export class QualityProblemEvent {
11
+ id;
12
+ entityType;
13
+ entityId;
14
+ code;
15
+ /** `reported` | `resolved` | `regressed` */
16
+ event;
17
+ /** The scan that produced the transition, when one is recorded. */
18
+ scan = null;
19
+ at = null;
20
+ constructor(id, code, event) {
21
+ this.id = id;
22
+ this.code = code;
23
+ this.event = event;
24
+ }
25
+ static parse(raw) {
26
+ const event = new QualityProblemEvent(raw.id, raw.code, raw.event);
27
+ event.entityType = raw.entity_type ?? '';
28
+ // The API strips the `_id` suffix, so `entity_id` arrives as `entity`.
29
+ event.entityId = raw.entity ?? '';
30
+ event.scan = raw.scan ?? null;
31
+ event.at = raw.at ? new Date(raw.at) : null;
32
+ return event;
33
+ }
34
+ }
@@ -0,0 +1,7 @@
1
+ import { QualityCodeSummaryRow } from './QualityCodeSummaryRow.js';
2
+ import { QualitySummaryRow } from './QualitySummaryRow.js';
3
+ /** Both groupings returned by the summary endpoint. */
4
+ export type QualitySummary = {
5
+ counts: QualitySummaryRow[];
6
+ codes: QualityCodeSummaryRow[];
7
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ /** One row of the dataset summary: how many problems of a severity are open on a property. */
2
+ export type QualitySummaryRow = {
3
+ property: string;
4
+ severity: string;
5
+ count: number;
6
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,22 @@
1
+ import { ApiRecord } from '../../Model/ApiRecord.js';
2
+ /**
3
+ * A standing decision to ignore a problem code — the
4
+ * `/data_quality/datasets/:datasetId/suppressions` resource.
5
+ *
6
+ * With `entityType` and `entityId` set it covers that one entity; with both null it covers the code
7
+ * across the whole dataset. Suppressed problems are still ingested but parked in `muted`, so they
8
+ * stay out of the needs-attention list and out of every auto-close path without losing history.
9
+ */
10
+ export declare class QualitySuppression {
11
+ id: string;
12
+ code: string;
13
+ /** Both null = the suppression applies to this code across the whole dataset. */
14
+ entityType: string | null;
15
+ entityId: string | null;
16
+ reason: string | null;
17
+ createdBy: string | null;
18
+ createdAt: Date | null;
19
+ constructor(id: string, code: string);
20
+ get isDatasetWide(): boolean;
21
+ static parse(raw: ApiRecord): QualitySuppression;
22
+ }
@@ -0,0 +1,35 @@
1
+ /**
2
+ * A standing decision to ignore a problem code — the
3
+ * `/data_quality/datasets/:datasetId/suppressions` resource.
4
+ *
5
+ * With `entityType` and `entityId` set it covers that one entity; with both null it covers the code
6
+ * across the whole dataset. Suppressed problems are still ingested but parked in `muted`, so they
7
+ * stay out of the needs-attention list and out of every auto-close path without losing history.
8
+ */
9
+ export class QualitySuppression {
10
+ id;
11
+ code;
12
+ /** Both null = the suppression applies to this code across the whole dataset. */
13
+ entityType = null;
14
+ entityId = null;
15
+ reason = null;
16
+ createdBy = null;
17
+ createdAt = null;
18
+ constructor(id, code) {
19
+ this.id = id;
20
+ this.code = code;
21
+ }
22
+ get isDatasetWide() {
23
+ return this.entityId === null;
24
+ }
25
+ static parse(raw) {
26
+ const suppression = new QualitySuppression(raw.id, raw.code);
27
+ suppression.entityType = raw.entity_type ?? null;
28
+ // The API strips the `_id` suffix, so `entity_id` arrives as `entity`.
29
+ suppression.entityId = raw.entity ?? null;
30
+ suppression.reason = raw.reason ?? null;
31
+ suppression.createdBy = raw.created_by ?? null;
32
+ suppression.createdAt = raw.created_at ? new Date(raw.created_at) : null;
33
+ return suppression;
34
+ }
35
+ }
@@ -0,0 +1,6 @@
1
+ import { QualitySuppression } from './QualitySuppression.js';
2
+ /** What a new suppression did: the record itself, plus how many open problems it muted. */
3
+ export type QualitySuppressionResult = {
4
+ suppression: QualitySuppression | null;
5
+ muted: number;
6
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -1,28 +1,15 @@
1
1
  import { QualityDataset } from '../Model/QualityDataset.js';
2
2
  import { QualityEntity } from '../Model/QualityEntity.js';
3
+ import { QualityEntityFilters } from '../Model/QualityEntityFilters.js';
4
+ import { QualityFilterOptions } from '../Model/QualityFilterOptions.js';
3
5
  import { QualityProblem } from '../Model/QualityProblem.js';
6
+ import { QualityProblemEvent } from '../Model/QualityProblemEvent.js';
7
+ import { QualitySummary } from '../Model/QualitySummary.js';
8
+ import { QualitySuppression } from '../Model/QualitySuppression.js';
9
+ import { QualitySuppressionResult } from '../Model/QualitySuppressionResult.js';
4
10
  import { CursorPagination } from '../../Model/Pagination/CursorPagination.js';
5
11
  import { CollectionResult } from '../../Model/Result/CollectionResult.js';
6
12
  import { Endpoint } from '../../Service/Endpoint.js';
7
- /** Narrows the entity list; every field is optional and omitted filters are not sent. */
8
- export type QualityEntityFilters = {
9
- entityType?: string | null;
10
- status?: string | null;
11
- search?: string | null;
12
- severity?: string | null;
13
- property?: string | null;
14
- };
15
- /** One row of the dataset summary: how many problems of a severity are open on a property. */
16
- export type QualitySummaryRow = {
17
- property: string;
18
- severity: string;
19
- count: number;
20
- };
21
- /** The values the entity list can be filtered on, for the dataset as it currently stands. */
22
- export type QualityFilterOptions = {
23
- entityTypes: string[];
24
- properties: string[];
25
- };
26
13
  /**
27
14
  * Data Quality — `/data_quality/datasets`. A dataset holds the entities being checked and the
28
15
  * problems open on them.
@@ -37,9 +24,27 @@ export declare class QualityEndpoint extends Endpoint {
37
24
  }): Promise<QualityDataset | null>;
38
25
  deleteDataset(datasetId: string): Promise<void>;
39
26
  getEntities(datasetId: string, pagination?: CursorPagination | null, filters?: QualityEntityFilters): Promise<CollectionResult<QualityEntity>>;
40
- getEntityProblems(datasetId: string, entityType: string, entityId: string): Promise<CollectionResult<QualityProblem>>;
27
+ /** Suppressed problems are hidden unless `includeSuppressed` is set. */
28
+ getEntityProblems(datasetId: string, entityType: string, entityId: string, includeSuppressed?: boolean): Promise<CollectionResult<QualityProblem>>;
29
+ /** The transition timeline for one problem, oldest first. */
30
+ getProblemEvents(datasetId: string, entityType: string, entityId: string, code: string): Promise<CollectionResult<QualityProblemEvent>>;
41
31
  /** Clear an entity's problems so the next scan starts from scratch; returns how many were removed. */
42
32
  resetEntity(datasetId: string, entityType: string, entityId: string): Promise<number>;
43
33
  getFilterOptions(datasetId: string): Promise<QualityFilterOptions>;
44
- getSummary(datasetId: string): Promise<QualitySummaryRow[]>;
34
+ /** Both groupings in one call: `counts` by (property, severity) and `codes` for the fix cards. */
35
+ getSummary(datasetId: string): Promise<QualitySummary>;
36
+ getSuppressions(datasetId: string): Promise<CollectionResult<QualitySuppression>>;
37
+ /**
38
+ * Suppress a code, either on one entity or — with both entity fields omitted — across the whole
39
+ * dataset. Also mutes the matching problems that are already open, so suppressing acts on what
40
+ * is there rather than only on future scans.
41
+ */
42
+ createSuppression(datasetId: string, suppression: {
43
+ code: string;
44
+ entityType?: string | null;
45
+ entityId?: string | null;
46
+ reason?: string | null;
47
+ }): Promise<QualitySuppressionResult>;
48
+ /** Lift a suppression; returns how many muted problems were returned to the open list. */
49
+ deleteSuppression(datasetId: string, suppressionId: string): Promise<number>;
45
50
  }
@@ -2,6 +2,8 @@ import { QueryString } from '../../Http/Data/QueryString.js';
2
2
  import { QualityDataset } from '../Model/QualityDataset.js';
3
3
  import { QualityEntity } from '../Model/QualityEntity.js';
4
4
  import { QualityProblem } from '../Model/QualityProblem.js';
5
+ import { QualityProblemEvent } from '../Model/QualityProblemEvent.js';
6
+ import { QualitySuppression } from '../Model/QualitySuppression.js';
5
7
  import { Endpoint } from '../../Service/Endpoint.js';
6
8
  /**
7
9
  * Data Quality — `/data_quality/datasets`. A dataset holds the entities being checked and the
@@ -42,23 +44,38 @@ export class QualityEndpoint extends Endpoint {
42
44
  if (filters.status) {
43
45
  queryString.set('status', filters.status);
44
46
  }
45
- if (filters.search) {
46
- queryString.set('search', filters.search);
47
- }
48
47
  if (filters.severity) {
49
48
  queryString.set('severity', filters.severity);
50
49
  }
51
50
  if (filters.property) {
52
51
  queryString.set('property', filters.property);
53
52
  }
53
+ if (filters.code) {
54
+ queryString.set('code', filters.code);
55
+ }
56
+ if (filters.newSince) {
57
+ queryString.set('new_since', filters.newSince.toISOString());
58
+ }
54
59
  queryString.addPagination(pagination);
55
60
  return await this.requestCollection(queryString, QualityEntity.parse);
56
61
  }
57
- async getEntityProblems(datasetId, entityType, entityId) {
62
+ /** Suppressed problems are hidden unless `includeSuppressed` is set. */
63
+ async getEntityProblems(datasetId, entityType, entityId, includeSuppressed = false) {
64
+ const queryString = new QueryString('/data_quality/datasets/' + datasetId
65
+ + '/entities/' + encodeURIComponent(entityType)
66
+ + '/' + encodeURIComponent(entityId) + '/problems');
67
+ if (includeSuppressed) {
68
+ queryString.set('include_suppressed', 'true');
69
+ }
70
+ return await this.requestCollection(queryString, QualityProblem.parse);
71
+ }
72
+ /** The transition timeline for one problem, oldest first. */
73
+ async getProblemEvents(datasetId, entityType, entityId, code) {
58
74
  const path = '/data_quality/datasets/' + datasetId
59
75
  + '/entities/' + encodeURIComponent(entityType)
60
- + '/' + encodeURIComponent(entityId) + '/problems';
61
- return await this.requestCollection(path, QualityProblem.parse);
76
+ + '/' + encodeURIComponent(entityId)
77
+ + '/problems/' + encodeURIComponent(code) + '/events';
78
+ return await this.requestCollection(path, QualityProblemEvent.parse);
62
79
  }
63
80
  /** Clear an entity's problems so the next scan starts from scratch; returns how many were removed. */
64
81
  async resetEntity(datasetId, entityType, entityId) {
@@ -72,18 +89,65 @@ export class QualityEndpoint extends Endpoint {
72
89
  const result = await this.requestObject('/data_quality/datasets/' + datasetId + '/filter-options', null, (raw) => ({
73
90
  entityTypes: raw.entity_types ?? [],
74
91
  properties: raw.properties ?? [],
92
+ codes: (raw.codes ?? []).map((row) => ({
93
+ code: row.code,
94
+ label: row.label ?? null,
95
+ count: Number(row.count ?? 0),
96
+ })),
75
97
  }), 'GET');
76
- return result.getData() ?? { entityTypes: [], properties: [] };
98
+ return result.getData() ?? { entityTypes: [], properties: [], codes: [] };
77
99
  }
100
+ /** Both groupings in one call: `counts` by (property, severity) and `codes` for the fix cards. */
78
101
  async getSummary(datasetId) {
79
- const result = await this.requestObject('/data_quality/datasets/' + datasetId + '/summary', null, (raw) => {
80
- const rows = raw.counts ?? [];
81
- return rows.map((row) => ({
102
+ const result = await this.requestObject('/data_quality/datasets/' + datasetId + '/summary', null, (raw) => ({
103
+ counts: (raw.counts ?? []).map((row) => ({
82
104
  property: row.property,
83
105
  severity: row.severity,
84
106
  count: Number(row.count),
85
- }));
86
- }, 'GET');
87
- return result.getData() ?? [];
107
+ })),
108
+ codes: (raw.codes ?? []).map((row) => ({
109
+ code: row.code,
110
+ count: Number(row.count),
111
+ worstSeverity: row.worst_severity,
112
+ label: row.label ?? null,
113
+ description: row.description ?? null,
114
+ blocking: row.blocking === true,
115
+ helpUrl: row.help_url ?? null,
116
+ })),
117
+ }), 'GET');
118
+ return result.getData() ?? { counts: [], codes: [] };
119
+ }
120
+ // ---- Suppressions ----
121
+ async getSuppressions(datasetId) {
122
+ return await this.requestCollection('/data_quality/datasets/' + datasetId + '/suppressions', QualitySuppression.parse);
123
+ }
124
+ /**
125
+ * Suppress a code, either on one entity or — with both entity fields omitted — across the whole
126
+ * dataset. Also mutes the matching problems that are already open, so suppressing acts on what
127
+ * is there rather than only on future scans.
128
+ */
129
+ async createSuppression(datasetId, suppression) {
130
+ // Both entity keys are always sent, explicitly null for a dataset-wide suppression: the
131
+ // endpoint requires them to be present so that a dropped or renamed key is an error rather
132
+ // than a silent widening to the whole dataset.
133
+ //
134
+ // `entity`, not `entity_id`: formatKey() strips a trailing `_id`, so `entity_id` is not
135
+ // expressible from this client at all.
136
+ const body = {
137
+ code: suppression.code,
138
+ entity_type: suppression.entityType ?? null,
139
+ entity: suppression.entityId ?? null,
140
+ reason: suppression.reason ?? null,
141
+ };
142
+ const result = await this.requestObject('/data_quality/datasets/' + datasetId + '/suppressions', body, (raw) => ({
143
+ suppression: raw.id ? QualitySuppression.parse(raw) : null,
144
+ muted: Number(raw.muted ?? 0),
145
+ }), 'POST');
146
+ return result.getData() ?? { suppression: null, muted: 0 };
147
+ }
148
+ /** Lift a suppression; returns how many muted problems were returned to the open list. */
149
+ async deleteSuppression(datasetId, suppressionId) {
150
+ const result = await this.requestObject('/data_quality/datasets/' + datasetId + '/suppressions/' + suppressionId, null, (raw) => ({ reopened: Number(raw.reopened ?? 0) }), 'DELETE');
151
+ return result.getData()?.reopened ?? 0;
88
152
  }
89
153
  }
@@ -0,0 +1,8 @@
1
+ /** What to generate, for which resources, using which strategy. */
2
+ export type GenerateContentBatchData = {
3
+ name: string;
4
+ strategy: string;
5
+ resourcePool: string;
6
+ resources: string[];
7
+ properties: string[];
8
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -2,14 +2,7 @@ import { CursorPagination } from '../../Model/Pagination/CursorPagination.js';
2
2
  import { CollectionResult } from '../../Model/Result/CollectionResult.js';
3
3
  import { Endpoint } from '../../Service/Endpoint.js';
4
4
  import { GenerateContentBatch } from '../Model/GenerateContentBatch.js';
5
- /** What to generate, for which resources, using which strategy. */
6
- export type GenerateContentBatchData = {
7
- name: string;
8
- strategy: string;
9
- resourcePool: string;
10
- resources: string[];
11
- properties: string[];
12
- };
5
+ import { GenerateContentBatchData } from '../Model/GenerateContentBatchData.js';
13
6
  /**
14
7
  * Data Enrichment content generation — `/projects/:projectId/content-generation-batches`.
15
8
  *
@@ -0,0 +1,8 @@
1
+ /** An IP currently barred from the API, for a bounded window. */
2
+ export type BlockedIp = {
3
+ id: string;
4
+ ip: string;
5
+ from: Date;
6
+ to: Date;
7
+ reason: string;
8
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,7 @@
1
+ /** An IP the firewall recorded as suspicious without blocking it. */
2
+ export type FlaggedIp = {
3
+ id: string;
4
+ ip: string;
5
+ date: Date;
6
+ reason: string;
7
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,7 @@
1
+ /** A standing allow/deny rule for an IP. */
2
+ export type IpRule = {
3
+ id: string;
4
+ ip: string;
5
+ action: string;
6
+ description: string;
7
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ export interface RunnerPoolCreate {
2
+ name: string;
3
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,7 @@
1
+ /** One headline figure of the catalog, with its previous-period value to compare against. */
2
+ export type MarketSummaryEntry = {
3
+ id: string;
4
+ title: string;
5
+ currentAmount: number;
6
+ previousAmount: number;
7
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,12 @@
1
+ import { MatchHistoryBucket } from './MatchHistoryBucket.js';
2
+ import { MatchHistoryInterval } from './MatchHistoryInterval.js';
3
+ /** A match-history series plus where the queue stands right now. */
4
+ export type MatchHistory = {
5
+ interval: MatchHistoryInterval;
6
+ buckets: MatchHistoryBucket[];
7
+ snapshot: {
8
+ pending: number;
9
+ accepted: number;
10
+ declined: number;
11
+ };
12
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,7 @@
1
+ /** Matches discovered and reviewed within one bucket of the history. */
2
+ export type MatchHistoryBucket = {
3
+ date: Date;
4
+ discovered: number;
5
+ manualAccepted: number;
6
+ manualDeclined: number;
7
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ /** Bucket size of a match-history series. */
2
+ export type MatchHistoryInterval = 'day' | 'week' | 'month';
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,9 @@
1
+ /** Fields accepted when creating an alert; camelCase keys are snake_cased by the base Endpoint. */
2
+ export type PriceAlertConfigData = {
3
+ name: string;
4
+ conditionType: string;
5
+ conditionParams?: Record<string, unknown>;
6
+ productGroup?: string | null;
7
+ channelId: string;
8
+ isActive?: boolean;
9
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,15 @@
1
+ /** Fields accepted when writing a rule; camelCase keys are snake_cased by the base Endpoint. */
2
+ export type PricingRuleData = {
3
+ name: string;
4
+ description?: string | null;
5
+ productGroup?: string | null;
6
+ conditions?: Record<string, unknown>;
7
+ actionType: string;
8
+ actionParams?: Record<string, unknown>;
9
+ floorMargin?: number | null;
10
+ floorPrice?: number | null;
11
+ ceilingPrice?: number | null;
12
+ ignoreIfNoCostPrice?: boolean;
13
+ priority?: number;
14
+ isActive?: boolean;
15
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,8 @@
1
+ import { ProductGroupType } from './ProductGroup.js';
2
+ /** Fields accepted when writing a group; camelCase keys are snake_cased by the base Endpoint. */
3
+ export type ProductGroupData = {
4
+ name: string;
5
+ description?: string | null;
6
+ groupType?: ProductGroupType;
7
+ criteria?: Record<string, unknown>;
8
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ /** Which segmentation a products-segment breakdown is over. */
2
+ export type ProductSegmentType = 'price' | 'profit';
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ /** How many products fall in a segment now versus the previous period. */
2
+ export type ProductsSegment = {
3
+ code: string;
4
+ current: number;
5
+ previous: number;
6
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,10 @@
1
+ /** The values the product list can currently be filtered on. */
2
+ export type PulseCatalogProductFilterOptions = {
3
+ brands: string[];
4
+ categories: string[];
5
+ productGroups: {
6
+ id: string;
7
+ name: string;
8
+ }[];
9
+ tags: Record<string, string[]>;
10
+ };
@@ -0,0 +1,8 @@
1
+ /** Simple narrowing of the product list; `tags` filters on materialised tag values. */
2
+ export type PulseCatalogProductFilters = {
3
+ brand?: string;
4
+ category?: string;
5
+ search?: string;
6
+ productGroup?: string;
7
+ tags?: Record<string, string>;
8
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,7 @@
1
+ /** Narrows the review queue. Omitting `statuses` returns the pending ones. */
2
+ export type ReviewMatchFilters = {
3
+ statuses?: string[];
4
+ competitor?: string;
5
+ gtin?: string;
6
+ search?: string;
7
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -3,16 +3,8 @@ import { CursorPagination } from '../../Model/Pagination/CursorPagination.js';
3
3
  import { CollectionResult } from '../../Model/Result/CollectionResult.js';
4
4
  import { Endpoint } from '../../Service/Endpoint.js';
5
5
  import { PriceAlertConfig } from '../Model/PriceAlertConfig.js';
6
+ import { PriceAlertConfigData } from '../Model/PriceAlertConfigData.js';
6
7
  import { PriceAlertEvent } from '../Model/PriceAlertEvent.js';
7
- /** Fields accepted when creating an alert; camelCase keys are snake_cased by the base Endpoint. */
8
- export type PriceAlertConfigData = {
9
- name: string;
10
- conditionType: string;
11
- conditionParams?: Record<string, unknown>;
12
- productGroup?: string | null;
13
- channelId: string;
14
- isActive?: boolean;
15
- };
16
8
  /**
17
9
  * Price alerts — the standing rules (`/pulse/price-alert-configs`) and the events they produce.
18
10
  */
@@ -4,21 +4,7 @@ import { CollectionResult } from '../../Model/Result/CollectionResult.js';
4
4
  import { Endpoint } from '../../Service/Endpoint.js';
5
5
  import { PriceSuggestion, PriceSuggestionStatus } from '../Model/PriceSuggestion.js';
6
6
  import { PricingRule } from '../Model/PricingRule.js';
7
- /** Fields accepted when writing a rule; camelCase keys are snake_cased by the base Endpoint. */
8
- export type PricingRuleData = {
9
- name: string;
10
- description?: string | null;
11
- productGroup?: string | null;
12
- conditions?: Record<string, unknown>;
13
- actionType: string;
14
- actionParams?: Record<string, unknown>;
15
- floorMargin?: number | null;
16
- floorPrice?: number | null;
17
- ceilingPrice?: number | null;
18
- ignoreIfNoCostPrice?: boolean;
19
- priority?: number;
20
- isActive?: boolean;
21
- };
7
+ import { PricingRuleData } from '../Model/PricingRuleData.js';
22
8
  /**
23
9
  * Repricing — the rules that propose prices (`/pulse/pricing-rules`) and the suggestions they
24
10
  * produce (`/pulse/price-suggestions`).
@@ -2,14 +2,8 @@ import { CatalogId } from '../../Catalog/Model/CatalogId.js';
2
2
  import { CursorPagination } from '../../Model/Pagination/CursorPagination.js';
3
3
  import { CollectionResult } from '../../Model/Result/CollectionResult.js';
4
4
  import { Endpoint } from '../../Service/Endpoint.js';
5
- import { ProductGroup, ProductGroupType } from '../Model/ProductGroup.js';
6
- /** Fields accepted when writing a group; camelCase keys are snake_cased by the base Endpoint. */
7
- export type ProductGroupData = {
8
- name: string;
9
- description?: string | null;
10
- groupType?: ProductGroupType;
11
- criteria?: Record<string, unknown>;
12
- };
5
+ import { ProductGroup } from '../Model/ProductGroup.js';
6
+ import { ProductGroupData } from '../Model/ProductGroupData.js';
13
7
  /** Product groups — `/pulse/catalogs/:catalogId/product-groups`. */
14
8
  export declare class ProductGroupEndpoint extends Endpoint {
15
9
  getByCatalog(catalogId: CatalogId | string, pagination?: CursorPagination | null): Promise<CollectionResult<ProductGroup>>;
@@ -2,33 +2,11 @@ import { CatalogId } from '../../Catalog/Model/CatalogId.js';
2
2
  import { CursorPagination } from '../../Model/Pagination/CursorPagination.js';
3
3
  import { CollectionResult } from '../../Model/Result/CollectionResult.js';
4
4
  import { Endpoint } from '../../Service/Endpoint.js';
5
+ import { MatchHistory } from '../Model/MatchHistory.js';
6
+ import { MatchHistoryInterval } from '../Model/MatchHistoryInterval.js';
5
7
  import { ProductMatch } from '../Model/ProductMatch.js';
6
8
  import { ReviewMatch } from '../Model/ReviewMatch.js';
7
- /** Narrows the review queue. Omitting `statuses` returns the pending ones. */
8
- export type ReviewMatchFilters = {
9
- statuses?: string[];
10
- competitor?: string;
11
- gtin?: string;
12
- search?: string;
13
- };
14
- export type MatchHistoryInterval = 'day' | 'week' | 'month';
15
- /** Matches discovered and reviewed within one bucket of the history. */
16
- export type MatchHistoryBucket = {
17
- date: Date;
18
- discovered: number;
19
- manualAccepted: number;
20
- manualDeclined: number;
21
- };
22
- /** A match-history series plus where the queue stands right now. */
23
- export type MatchHistory = {
24
- interval: MatchHistoryInterval;
25
- buckets: MatchHistoryBucket[];
26
- snapshot: {
27
- pending: number;
28
- accepted: number;
29
- declined: number;
30
- };
31
- };
9
+ import { ReviewMatchFilters } from '../Model/ReviewMatchFilters.js';
32
10
  /**
33
11
  * Product matches — reviewing the queue, accepting or declining a match, and the history of how
34
12
  * the queue has moved.
@@ -4,24 +4,8 @@ import { CursorPagination } from '../../Model/Pagination/CursorPagination.js';
4
4
  import { CollectionResult } from '../../Model/Result/CollectionResult.js';
5
5
  import { Endpoint } from '../../Service/Endpoint.js';
6
6
  import { CatalogProductWithMatches } from '../Model/CatalogProductWithMatches.js';
7
- /** Simple narrowing of the product list; `tags` filters on materialised tag values. */
8
- export type PulseCatalogProductFilters = {
9
- brand?: string;
10
- category?: string;
11
- search?: string;
12
- productGroup?: string;
13
- tags?: Record<string, string>;
14
- };
15
- /** The values the product list can currently be filtered on. */
16
- export type PulseCatalogProductFilterOptions = {
17
- brands: string[];
18
- categories: string[];
19
- productGroups: {
20
- id: string;
21
- name: string;
22
- }[];
23
- tags: Record<string, string[]>;
24
- };
7
+ import { PulseCatalogProductFilterOptions } from '../Model/PulseCatalogProductFilterOptions.js';
8
+ import { PulseCatalogProductFilters } from '../Model/PulseCatalogProductFilters.js';
25
9
  /**
26
10
  * A catalog's own products as Market Pulse sees them — with the competitor products matched to
27
11
  * each. `/pulse/catalogs/:catalogId/products`.
@@ -1,23 +1,11 @@
1
1
  import { CatalogId } from '../../Catalog/Model/CatalogId.js';
2
2
  import { CollectionResult } from '../../Model/Result/CollectionResult.js';
3
3
  import { Endpoint } from '../../Service/Endpoint.js';
4
+ import { MarketSummaryEntry } from '../Model/MarketSummaryEntry.js';
4
5
  import { PriceIndexSnapshotEntry } from '../Model/PriceIndexSnapshotEntry.js';
6
+ import { ProductSegmentType } from '../Model/ProductSegmentType.js';
7
+ import { ProductsSegment } from '../Model/ProductsSegment.js';
5
8
  import { TopCompetitor } from '../Model/TopCompetitor.js';
6
- /** Which axis the products are bucketed on. */
7
- export type ProductSegmentType = 'price' | 'profit';
8
- /** How many products fall in a segment now versus the previous period. */
9
- export type ProductsSegment = {
10
- code: string;
11
- current: number;
12
- previous: number;
13
- };
14
- /** One headline figure of the catalog, with its previous-period value to compare against. */
15
- export type MarketSummaryEntry = {
16
- id: string;
17
- title: string;
18
- currentAmount: number;
19
- previousAmount: number;
20
- };
21
9
  /**
22
10
  * Aggregated Market Pulse figures for a catalog — `/pulse/catalogs/:catalogId/statistics/*`.
23
11
  * These are precomputed server-side; `CatalogProductEndpoint.recomputeStatistics` refreshes them.
@@ -1,25 +1,9 @@
1
+ import { BlockedIp } from '../Model/Firewall/BlockedIp.js';
2
+ import { FlaggedIp } from '../Model/Firewall/FlaggedIp.js';
3
+ import { IpRule } from '../Model/Firewall/IpRule.js';
1
4
  import { CollectionResult } from '../Model/Result/CollectionResult.js';
2
5
  import { CursorPagination } from '../Model/Pagination/CursorPagination.js';
3
6
  import { Endpoint } from './Endpoint.js';
4
- export type BlockedIp = {
5
- id: string;
6
- ip: string;
7
- from: Date;
8
- to: Date;
9
- reason: string;
10
- };
11
- export type FlaggedIp = {
12
- id: string;
13
- ip: string;
14
- date: Date;
15
- reason: string;
16
- };
17
- export type IpRule = {
18
- id: string;
19
- ip: string;
20
- action: string;
21
- description: string;
22
- };
23
7
  export declare class FirewallEndpoint extends Endpoint {
24
8
  getBlockedIps(pagination: CursorPagination): Promise<CollectionResult<BlockedIp>>;
25
9
  getFlaggedIps(pagination: CursorPagination): Promise<CollectionResult<FlaggedIp>>;
@@ -1,3 +1,4 @@
1
+ import { RunnerPoolCreate } from '../Model/Infrastructure/RunnerPoolCreate.js';
1
2
  import { RunnerPool } from '../Model/Infrastructure/RunnerPool.js';
2
3
  import { CursorPagination } from '../Model/Pagination/CursorPagination.js';
3
4
  import { CollectionResult } from '../Model/Result/CollectionResult.js';
@@ -8,6 +9,3 @@ export declare class RunnerPoolEndpoint extends Endpoint {
8
9
  getById(queueSpecificationId: string): Promise<RunnerPool | null>;
9
10
  redeploy(runnerPoolId: string): Promise<void>;
10
11
  }
11
- export interface RunnerPoolCreate {
12
- name: string;
13
- }
package/dist/index.d.ts CHANGED
@@ -35,7 +35,9 @@ export { AdapterConnectionStatus } from './Model/Adapter/AdapterConnectionStatus
35
35
  export { AdapterConnectionConfigurationValue } from './Model/Adapter/AdapterConnectionConfigurationValue.js';
36
36
  export { AdapterConnectionEvent } from './Model/Adapter/AdapterConnectionEvent.js';
37
37
  export type { ConnectionTestState, TestConnectionCheck, TestConnectionResult, } from './Model/Adapter/TestConnectionResult.js';
38
- export { BlockedIp, FlaggedIp, IpRule } from './Service/FirewallEndpoint.js';
38
+ export { BlockedIp } from './Model/Firewall/BlockedIp.js';
39
+ export { FlaggedIp } from './Model/Firewall/FlaggedIp.js';
40
+ export { IpRule } from './Model/Firewall/IpRule.js';
39
41
  export { Collection } from './Model/Collections/Collection.js';
40
42
  export { CollectionRecord } from './Model/Collections/CollectionRecord.js';
41
43
  export { Configuration } from './Model/Configuration/Configuration.js';
@@ -101,26 +103,48 @@ export { CatalogProductWithMatches, PriceProposal } from './Pulse/Model/CatalogP
101
103
  export { ReviewMatch, ReviewProduct, ReviewCompetitorProduct } from './Pulse/Model/ReviewMatch.js';
102
104
  export { TopCompetitor } from './Pulse/Model/TopCompetitor.js';
103
105
  export { PriceIndexSnapshotEntry } from './Pulse/Model/PriceIndexSnapshotEntry.js';
104
- export { ProductMatchEndpoint, ReviewMatchFilters, MatchHistory, MatchHistoryBucket, MatchHistoryInterval } from './Pulse/Service/ProductMatchEndpoint.js';
105
- export { PulseCatalogProductEndpoint, PulseCatalogProductFilters, PulseCatalogProductFilterOptions } from './Pulse/Service/PulseCatalogProductEndpoint.js';
106
+ export { MatchHistory } from './Pulse/Model/MatchHistory.js';
107
+ export { MatchHistoryBucket } from './Pulse/Model/MatchHistoryBucket.js';
108
+ export { MatchHistoryInterval } from './Pulse/Model/MatchHistoryInterval.js';
109
+ export { ReviewMatchFilters } from './Pulse/Model/ReviewMatchFilters.js';
110
+ export { ProductMatchEndpoint } from './Pulse/Service/ProductMatchEndpoint.js';
111
+ export { PulseCatalogProductFilterOptions } from './Pulse/Model/PulseCatalogProductFilterOptions.js';
112
+ export { PulseCatalogProductFilters } from './Pulse/Model/PulseCatalogProductFilters.js';
113
+ export { PulseCatalogProductEndpoint } from './Pulse/Service/PulseCatalogProductEndpoint.js';
106
114
  export { PriceAlertConfig } from './Pulse/Model/PriceAlertConfig.js';
107
115
  export { PriceAlertEvent } from './Pulse/Model/PriceAlertEvent.js';
108
- export { PriceAlertEndpoint, PriceAlertConfigData } from './Pulse/Service/PriceAlertEndpoint.js';
116
+ export { PriceAlertConfigData } from './Pulse/Model/PriceAlertConfigData.js';
117
+ export { PriceAlertEndpoint } from './Pulse/Service/PriceAlertEndpoint.js';
109
118
  export { PricingRule } from './Pulse/Model/PricingRule.js';
110
119
  export { PriceSuggestion, PriceSuggestionStatus } from './Pulse/Model/PriceSuggestion.js';
111
- export { PricingEndpoint, PricingRuleData } from './Pulse/Service/PricingEndpoint.js';
120
+ export { PricingRuleData } from './Pulse/Model/PricingRuleData.js';
121
+ export { PricingEndpoint } from './Pulse/Service/PricingEndpoint.js';
112
122
  export { ProductGroup, ProductGroupType } from './Pulse/Model/ProductGroup.js';
113
- export { ProductGroupEndpoint, ProductGroupData } from './Pulse/Service/ProductGroupEndpoint.js';
123
+ export { ProductGroupData } from './Pulse/Model/ProductGroupData.js';
124
+ export { ProductGroupEndpoint } from './Pulse/Service/ProductGroupEndpoint.js';
114
125
  export { CatalogProduct } from './Catalog/Model/CatalogProduct.js';
115
126
  export { CatalogProductEndpoint } from './Catalog/Service/CatalogProductEndpoint.js';
116
127
  export { GenerateContentBatch } from './EnhanceData/Model/GenerateContentBatch.js';
117
- export { GenerateContentEndpoint, GenerateContentBatchData } from './EnhanceData/Service/GenerateContentEndpoint.js';
128
+ export { GenerateContentBatchData } from './EnhanceData/Model/GenerateContentBatchData.js';
129
+ export { GenerateContentEndpoint } from './EnhanceData/Service/GenerateContentEndpoint.js';
118
130
  export { CompetitorEndpoint } from './Pulse/Service/CompetitorEndpoint.js';
119
- export { PulseStatisticsEndpoint, ProductsSegment, ProductSegmentType, MarketSummaryEntry } from './Pulse/Service/PulseStatisticsEndpoint.js';
131
+ export { MarketSummaryEntry } from './Pulse/Model/MarketSummaryEntry.js';
132
+ export { ProductSegmentType } from './Pulse/Model/ProductSegmentType.js';
133
+ export { ProductsSegment } from './Pulse/Model/ProductsSegment.js';
134
+ export { PulseStatisticsEndpoint } from './Pulse/Service/PulseStatisticsEndpoint.js';
120
135
  export { QualityDataset } from './DataQuality/Model/QualityDataset.js';
121
136
  export { QualityEntity } from './DataQuality/Model/QualityEntity.js';
122
137
  export { QualityProblem } from './DataQuality/Model/QualityProblem.js';
123
- export { QualityEndpoint, QualityEntityFilters, QualitySummaryRow, QualityFilterOptions } from './DataQuality/Service/QualityEndpoint.js';
138
+ export { QualityProblemEvent } from './DataQuality/Model/QualityProblemEvent.js';
139
+ export { QualitySuppression } from './DataQuality/Model/QualitySuppression.js';
140
+ export { QualityCodeOption } from './DataQuality/Model/QualityCodeOption.js';
141
+ export { QualityCodeSummaryRow } from './DataQuality/Model/QualityCodeSummaryRow.js';
142
+ export { QualityEntityFilters } from './DataQuality/Model/QualityEntityFilters.js';
143
+ export { QualityFilterOptions } from './DataQuality/Model/QualityFilterOptions.js';
144
+ export { QualitySummary } from './DataQuality/Model/QualitySummary.js';
145
+ export { QualitySummaryRow } from './DataQuality/Model/QualitySummaryRow.js';
146
+ export { QualitySuppressionResult } from './DataQuality/Model/QualitySuppressionResult.js';
147
+ export { QualityEndpoint } from './DataQuality/Service/QualityEndpoint.js';
124
148
  export { CatalogFeed } from './FeedManagement/Model/CatalogFeed.js';
125
149
  export { CatalogFeedEndpoint } from './FeedManagement/Service/CatalogFeedEndpoint.js';
126
150
  export { StorageItem } from './Model/Storage/StorageItem.js';
package/dist/index.js CHANGED
@@ -108,6 +108,8 @@ export { PulseStatisticsEndpoint } from './Pulse/Service/PulseStatisticsEndpoint
108
108
  export { QualityDataset } from './DataQuality/Model/QualityDataset.js';
109
109
  export { QualityEntity } from './DataQuality/Model/QualityEntity.js';
110
110
  export { QualityProblem } from './DataQuality/Model/QualityProblem.js';
111
+ export { QualityProblemEvent } from './DataQuality/Model/QualityProblemEvent.js';
112
+ export { QualitySuppression } from './DataQuality/Model/QualitySuppression.js';
111
113
  export { QualityEndpoint } from './DataQuality/Service/QualityEndpoint.js';
112
114
  export { CatalogFeed } from './FeedManagement/Model/CatalogFeed.js';
113
115
  export { CatalogFeedEndpoint } from './FeedManagement/Service/CatalogFeedEndpoint.js';
package/dist/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const VERSION = "1.91.0";
1
+ export declare const VERSION = "1.94.0";
package/dist/version.js CHANGED
@@ -1 +1 @@
1
- export const VERSION = "1.91.0";
1
+ export const VERSION = "1.94.0";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@attlaz/client",
3
- "version": "1.92.0",
3
+ "version": "1.94.0",
4
4
  "description": "Javascript Client to access Attlaz API",
5
5
  "types": "./dist/index.d.ts",
6
6
  "main": "./dist/index.js",