@helix-tools/sdk-typescript 1.2.18 → 1.2.19

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.
@@ -2,6 +2,8 @@
2
2
  * Helix Connect Platform Consumer SDK
3
3
  * For data consumers who want to download and access datasets
4
4
  */
5
+ import type { DatasetCategory, DataFreshness, DatasetVisibility, DatasetStatus, AccessTier, SubscriptionTier, Subscription, DatasetMetadataContent, SubscriptionRequestsResponse, SubscriptionRequest } from './types';
6
+ export type { Subscription } from './types';
5
7
  export interface HelixConsumerConfig {
6
8
  awsAccessKeyId: string;
7
9
  awsSecretAccessKey: string;
@@ -13,10 +15,10 @@ export interface DatasetMetadata {
13
15
  _id: string;
14
16
  name: string;
15
17
  producer_id: string;
16
- category: 'phone-numbers' | 'contact-data' | 'business-listings' | 'demographic-data' | 'geographic-data' | 'financial-data' | 'telecommunications' | 'marketing' | 'sales' | 'analytics' | 'general' | 'test';
17
- data_freshness: '2x-per-day' | '4x-per-day' | 'hourly' | 'daily' | 'weekly' | 'monthly' | 'quarterly' | 'yearly' | 'once' | 'on-demand';
18
- visibility: 'public' | 'private' | 'restricted';
19
- status: 'active' | 'inactive';
18
+ category: DatasetCategory;
19
+ data_freshness: DataFreshness;
20
+ visibility: DatasetVisibility;
21
+ status: DatasetStatus;
20
22
  created_at: string;
21
23
  created_by: string;
22
24
  id?: string;
@@ -29,21 +31,13 @@ export interface DatasetMetadata {
29
31
  record_count?: number;
30
32
  version?: string;
31
33
  version_notes?: string;
32
- access_tier?: 'free' | 'premium' | 'enterprise';
34
+ access_tier?: AccessTier;
33
35
  tags?: string[];
34
36
  updated_at?: string;
35
37
  updated_by?: string;
36
38
  deleted_at?: string | null;
37
39
  deleted_by?: string | null;
38
- metadata?: {
39
- original_size_bytes?: number;
40
- compressed_size_bytes?: number;
41
- encrypted_size_bytes?: number;
42
- compression_enabled?: boolean;
43
- encryption_enabled?: boolean;
44
- file_format?: 'json' | 'csv' | 'parquet' | 'avro' | 'xml' | 'txt' | 'other';
45
- encoding?: string;
46
- };
40
+ metadata?: DatasetMetadataContent;
47
41
  }
48
42
  export interface DownloadUrlInfo {
49
43
  download_url: string;
@@ -57,26 +51,7 @@ export interface DownloadUrlInfo {
57
51
  size_bytes: number;
58
52
  };
59
53
  }
60
- export interface SubscriptionRequest {
61
- _id: string;
62
- request_id: string;
63
- producer_id: string;
64
- producer_name: string;
65
- consumer_id: string;
66
- consumer_name: string;
67
- consumer_email: string;
68
- dataset_id?: string;
69
- tier: 'free' | 'basic' | 'premium' | 'professional' | 'enterprise';
70
- status: 'pending' | 'approved' | 'rejected' | 'cancelled';
71
- message?: string;
72
- approved_at?: string;
73
- approved_by?: string;
74
- rejected_at?: string;
75
- rejection_reason?: string;
76
- subscription_id?: string;
77
- created_at: string;
78
- updated_at: string;
79
- }
54
+ export type { SubscriptionRequest } from './types';
80
55
  export interface Notification {
81
56
  message_id: string;
82
57
  receipt_handle: string;
@@ -103,11 +78,24 @@ export declare class HelixConsumer {
103
78
  private awsAccessKeyId;
104
79
  private awsSecretAccessKey;
105
80
  private queueUrl;
81
+ private initialized;
82
+ private initPromise;
106
83
  /**
107
84
  * Creates a new Helix Consumer instance.
108
- * Initializes AWS clients and validates credentials on construction.
85
+ * Initializes AWS clients synchronously. Async initialization (credential validation)
86
+ * is deferred and runs lazily on first public method call.
109
87
  */
110
88
  constructor(config: HelixConsumerConfig);
89
+ /**
90
+ * Ensures async initialization has completed before proceeding.
91
+ * Safe to call multiple times — only initializes once.
92
+ */
93
+ private ensureInitialized;
94
+ /**
95
+ * Initializes the consumer by validating AWS credentials.
96
+ * Called automatically on first public method call.
97
+ */
98
+ private initialize;
111
99
  /**
112
100
  * Validates AWS credentials by making a test STS call.
113
101
  * Throws an error if credentials are invalid.
@@ -162,14 +150,28 @@ export declare class HelixConsumer {
162
150
  /**
163
151
  * Lists all datasets available to this consumer.
164
152
  * Returns metadata for datasets the consumer has permission to access.
153
+ *
154
+ * @param producerId - Optional filter by producer ID to list only datasets from a specific producer
155
+ * @returns Array of DatasetMetadata objects
156
+ *
157
+ * @example
158
+ * ```typescript
159
+ * const consumer = new HelixConsumer({...});
160
+ *
161
+ * // List all accessible datasets
162
+ * const allDatasets = await consumer.listDatasets();
163
+ *
164
+ * // List datasets from a specific producer
165
+ * const producerDatasets = await consumer.listDatasets('company-abc123');
166
+ * ```
165
167
  */
166
- listDatasets(): Promise<DatasetMetadata[]>;
168
+ listDatasets(producerId?: string): Promise<DatasetMetadata[]>;
167
169
  /**
168
170
  * Lists all active subscriptions for this consumer.
169
171
  *
170
- * @returns Array of subscription objects
172
+ * @returns Array of Subscription objects with details about each subscription
171
173
  */
172
- listSubscriptions(): Promise<any[]>;
174
+ listSubscriptions(): Promise<Subscription[]>;
173
175
  /**
174
176
  * Creates a subscription request to access a producer's datasets.
175
177
  * The producer must approve the request before the consumer gains access.
@@ -177,9 +179,56 @@ export declare class HelixConsumer {
177
179
  createSubscriptionRequest(params: {
178
180
  producerId: string;
179
181
  datasetId?: string;
180
- tier?: string;
182
+ tier?: SubscriptionTier;
181
183
  message?: string;
182
184
  }): Promise<SubscriptionRequest>;
185
+ /**
186
+ * Lists the consumer's own subscription requests.
187
+ * Allows consumers to track the status of their pending, approved, or rejected requests.
188
+ *
189
+ * @param options - Optional filters
190
+ * @param options.status - Filter by request status ('pending', 'approved', 'rejected', 'cancelled')
191
+ * @returns Array of subscription requests with count
192
+ *
193
+ * @example
194
+ * ```typescript
195
+ * const consumer = new HelixConsumer({...});
196
+ *
197
+ * // List all subscription requests
198
+ * const allRequests = await consumer.listMySubscriptionRequests();
199
+ * console.log(`Total requests: ${allRequests.count}`);
200
+ *
201
+ * // List only pending requests
202
+ * const pendingRequests = await consumer.listMySubscriptionRequests({ status: 'pending' });
203
+ * for (const req of pendingRequests.requests) {
204
+ * console.log(`Producer: ${req.producer_name}, Status: ${req.status}`);
205
+ * }
206
+ * ```
207
+ */
208
+ listMySubscriptionRequests(options?: {
209
+ status?: 'pending' | 'approved' | 'rejected' | 'cancelled';
210
+ }): Promise<SubscriptionRequestsResponse>;
211
+ /**
212
+ * Gets details of a specific subscription request by ID.
213
+ *
214
+ * @param requestId - The subscription request ID (e.g., 'req-abc123-def456')
215
+ * @returns The subscription request details
216
+ *
217
+ * @example
218
+ * ```typescript
219
+ * const consumer = new HelixConsumer({...});
220
+ *
221
+ * const request = await consumer.getSubscriptionRequest('req-abc123-def456');
222
+ * console.log(`Request Status: ${request.status}`);
223
+ * console.log(`Producer: ${request.producer_name}`);
224
+ * console.log(`Requested Tier: ${request.tier}`);
225
+ *
226
+ * if (request.status === 'rejected') {
227
+ * console.log(`Rejection Reason: ${request.rejection_reason}`);
228
+ * }
229
+ * ```
230
+ */
231
+ getSubscriptionRequest(requestId: string): Promise<SubscriptionRequest>;
183
232
  /**
184
233
  * Polls the shared SQS queue for dataset upload notifications.
185
234
  *
@@ -1 +1 @@
1
- {"version":3,"file":"consumer.d.ts","sourceRoot":"","sources":["../src/consumer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"consumer.d.ts","sourceRoot":"","sources":["../src/consumer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAeH,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,UAAU,EACV,gBAAgB,EAIhB,YAAY,EACZ,sBAAsB,EACtB,4BAA4B,EAC5B,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAGjB,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAc5C,MAAM,WAAW,mBAAmB;IAClC,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAE9B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,eAAe,CAAC;IAC1B,cAAc,EAAE,aAAa,CAAC;IAC9B,UAAU,EAAE,iBAAiB,CAAC;IAC9B,MAAM,EAAE,aAAa,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IAGnB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,UAAU,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,EAAE,sBAAsB,CAAC;CACnC;AAED,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IAEnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,OAAO,CAAC,EAAE;QACR,GAAG,EAAE,MAAM,CAAC;QACZ,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAGD,YAAY,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEnD,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,WAAW,CAA8B;IAEjD;;;;OAIG;gBACS,MAAM,EAAE,mBAAmB;IA8BvC;;;OAGG;YACW,iBAAiB;IAQ/B;;;OAGG;YACW,UAAU;IAKxB;;;OAGG;YACW,mBAAmB;IAWjC;;;OAGG;YACW,WAAW;IAiCzB;;;OAGG;YACW,cAAc;IAsC5B;;;OAGG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAM7D;;;OAGG;IACG,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAMjE;;;OAGG;IACH,OAAO,CAAC,cAAc;IAQtB;;;;OAIG;YACW,WAAW;IAoDzB;;;;;OAKG;IACG,eAAe,CACnB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE;QACP,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,WAAW,CAAC,EAAE,OAAO,CAAC;KAClB,GACL,OAAO,CAAC,MAAM,CAAC;IAuElB;;;OAGG;YACW,oBAAoB;IAkClC;;;;;;;;;;;;;;;;;OAiBG;IACG,YAAY,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAYnE;;;;OAIG;IACG,iBAAiB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAWlD;;;OAGG;IACG,yBAAyB,CAAC,MAAM,EAAE;QACtC,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,gBAAgB,CAAC;QACxB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAkBhC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,0BAA0B,CAAC,OAAO,CAAC,EAAE;QACzC,MAAM,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,WAAW,CAAC;KAC5D,GAAG,OAAO,CAAC,4BAA4B,CAAC;IAWzC;;;;;;;;;;;;;;;;;;;OAmBG;IACG,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAM7E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiDG;IACG,iBAAiB,CAAC,OAAO,GAAE;QAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;KACvB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAsHhC;;;;;;;;;;;;;;OAcG;IACG,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB9D;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAoCjC;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;CAiB1B"}
package/dist/consumer.js CHANGED
@@ -66,10 +66,13 @@ const resolveApiEndpoint = (apiEndpoint) => {
66
66
  class HelixConsumer {
67
67
  /**
68
68
  * Creates a new Helix Consumer instance.
69
- * Initializes AWS clients and validates credentials on construction.
69
+ * Initializes AWS clients synchronously. Async initialization (credential validation)
70
+ * is deferred and runs lazily on first public method call.
70
71
  */
71
72
  constructor(config) {
72
73
  this.queueUrl = null; // Cache for per-consumer queue URL
74
+ this.initialized = false;
75
+ this.initPromise = null;
73
76
  this.customerId = config.customerId;
74
77
  this.apiEndpoint = resolveApiEndpoint(config.apiEndpoint).replace(/\/$/, '');
75
78
  this.region = config.region || 'us-east-1';
@@ -94,8 +97,26 @@ class HelixConsumer {
94
97
  requestHandler: sqsRequestHandler,
95
98
  });
96
99
  this.ssmClient = new client_ssm_1.SSMClient(awsConfig);
97
- // Validate credentials immediately
98
- this.validateCredentials();
100
+ }
101
+ /**
102
+ * Ensures async initialization has completed before proceeding.
103
+ * Safe to call multiple times — only initializes once.
104
+ */
105
+ async ensureInitialized() {
106
+ if (this.initialized)
107
+ return;
108
+ if (!this.initPromise) {
109
+ this.initPromise = this.initialize();
110
+ }
111
+ await this.initPromise;
112
+ }
113
+ /**
114
+ * Initializes the consumer by validating AWS credentials.
115
+ * Called automatically on first public method call.
116
+ */
117
+ async initialize() {
118
+ await this.validateCredentials();
119
+ this.initialized = true;
99
120
  }
100
121
  /**
101
122
  * Validates AWS credentials by making a test STS call.
@@ -182,6 +203,7 @@ class HelixConsumer {
182
203
  * Returns information about the dataset including size, compression, and encryption status.
183
204
  */
184
205
  async getDataset(datasetId) {
206
+ await this.ensureInitialized();
185
207
  const encodedId = encodeURIComponent(datasetId);
186
208
  return this.makeApiRequest('GET', `/v1/datasets/${encodedId}`);
187
209
  }
@@ -190,6 +212,7 @@ class HelixConsumer {
190
212
  * The URL expires after a limited time and grants temporary access to the encrypted dataset file.
191
213
  */
192
214
  async getDownloadUrl(datasetId) {
215
+ await this.ensureInitialized();
193
216
  const encodedId = encodeURIComponent(datasetId);
194
217
  return this.makeApiRequest('GET', `/v1/datasets/${encodedId}/download`);
195
218
  }
@@ -256,6 +279,7 @@ class HelixConsumer {
256
279
  * Optimized for large files (>1GB) using streaming when possible.
257
280
  */
258
281
  async downloadDataset(datasetId, outputPath, options = {}) {
282
+ await this.ensureInitialized();
259
283
  const autoDecompress = options.autoDecompress !== false;
260
284
  const autoDecrypt = options.autoDecrypt !== false;
261
285
  // Get dataset metadata
@@ -352,17 +376,34 @@ class HelixConsumer {
352
376
  /**
353
377
  * Lists all datasets available to this consumer.
354
378
  * Returns metadata for datasets the consumer has permission to access.
379
+ *
380
+ * @param producerId - Optional filter by producer ID to list only datasets from a specific producer
381
+ * @returns Array of DatasetMetadata objects
382
+ *
383
+ * @example
384
+ * ```typescript
385
+ * const consumer = new HelixConsumer({...});
386
+ *
387
+ * // List all accessible datasets
388
+ * const allDatasets = await consumer.listDatasets();
389
+ *
390
+ * // List datasets from a specific producer
391
+ * const producerDatasets = await consumer.listDatasets('company-abc123');
392
+ * ```
355
393
  */
356
- async listDatasets() {
357
- const response = await this.makeApiRequest('GET', '/v1/datasets');
394
+ async listDatasets(producerId) {
395
+ await this.ensureInitialized();
396
+ const queryParams = producerId ? `?producer_id=${encodeURIComponent(producerId)}` : '';
397
+ const response = await this.makeApiRequest('GET', `/v1/datasets${queryParams}`);
358
398
  return response.datasets;
359
399
  }
360
400
  /**
361
401
  * Lists all active subscriptions for this consumer.
362
402
  *
363
- * @returns Array of subscription objects
403
+ * @returns Array of Subscription objects with details about each subscription
364
404
  */
365
405
  async listSubscriptions() {
406
+ await this.ensureInitialized();
366
407
  const response = await this.makeApiRequest('GET', '/v1/subscriptions');
367
408
  return response.subscriptions;
368
409
  }
@@ -371,6 +412,7 @@ class HelixConsumer {
371
412
  * The producer must approve the request before the consumer gains access.
372
413
  */
373
414
  async createSubscriptionRequest(params) {
415
+ await this.ensureInitialized();
374
416
  const payload = {
375
417
  producer_id: params.producerId,
376
418
  tier: params.tier || 'basic',
@@ -383,6 +425,62 @@ class HelixConsumer {
383
425
  }
384
426
  return this.makeApiRequest('POST', '/v1/subscription-requests', payload);
385
427
  }
428
+ /**
429
+ * Lists the consumer's own subscription requests.
430
+ * Allows consumers to track the status of their pending, approved, or rejected requests.
431
+ *
432
+ * @param options - Optional filters
433
+ * @param options.status - Filter by request status ('pending', 'approved', 'rejected', 'cancelled')
434
+ * @returns Array of subscription requests with count
435
+ *
436
+ * @example
437
+ * ```typescript
438
+ * const consumer = new HelixConsumer({...});
439
+ *
440
+ * // List all subscription requests
441
+ * const allRequests = await consumer.listMySubscriptionRequests();
442
+ * console.log(`Total requests: ${allRequests.count}`);
443
+ *
444
+ * // List only pending requests
445
+ * const pendingRequests = await consumer.listMySubscriptionRequests({ status: 'pending' });
446
+ * for (const req of pendingRequests.requests) {
447
+ * console.log(`Producer: ${req.producer_name}, Status: ${req.status}`);
448
+ * }
449
+ * ```
450
+ */
451
+ async listMySubscriptionRequests(options) {
452
+ await this.ensureInitialized();
453
+ let path = '/v1/subscription-requests';
454
+ if (options?.status) {
455
+ path += `?status=${encodeURIComponent(options.status)}`;
456
+ }
457
+ return this.makeApiRequest('GET', path);
458
+ }
459
+ /**
460
+ * Gets details of a specific subscription request by ID.
461
+ *
462
+ * @param requestId - The subscription request ID (e.g., 'req-abc123-def456')
463
+ * @returns The subscription request details
464
+ *
465
+ * @example
466
+ * ```typescript
467
+ * const consumer = new HelixConsumer({...});
468
+ *
469
+ * const request = await consumer.getSubscriptionRequest('req-abc123-def456');
470
+ * console.log(`Request Status: ${request.status}`);
471
+ * console.log(`Producer: ${request.producer_name}`);
472
+ * console.log(`Requested Tier: ${request.tier}`);
473
+ *
474
+ * if (request.status === 'rejected') {
475
+ * console.log(`Rejection Reason: ${request.rejection_reason}`);
476
+ * }
477
+ * ```
478
+ */
479
+ async getSubscriptionRequest(requestId) {
480
+ await this.ensureInitialized();
481
+ const encodedId = encodeURIComponent(requestId);
482
+ return this.makeApiRequest('GET', `/v1/subscription-requests/${encodedId}`);
483
+ }
386
484
  /**
387
485
  * Polls the shared SQS queue for dataset upload notifications.
388
486
  *
@@ -434,6 +532,7 @@ class HelixConsumer {
434
532
  * ```
435
533
  */
436
534
  async pollNotifications(options = {}) {
535
+ await this.ensureInitialized();
437
536
  const maxMessages = Math.min(options.maxMessages || 10, 10); // AWS limit is 10
438
537
  const waitTimeSeconds = Math.min(options.waitTimeSeconds || 20, 20); // AWS limit is 20
439
538
  const visibilityTimeout = options.visibilityTimeout || 300;
@@ -549,6 +648,7 @@ class HelixConsumer {
549
648
  * ```
550
649
  */
551
650
  async deleteNotification(receiptHandle) {
651
+ await this.ensureInitialized();
552
652
  if (!this.queueUrl) {
553
653
  throw new Error('Queue URL not initialized. Call pollNotifications() first.');
554
654
  }
@@ -587,6 +687,7 @@ class HelixConsumer {
587
687
  * ```
588
688
  */
589
689
  async clearQueue() {
690
+ await this.ensureInitialized();
590
691
  if (!this.queueUrl) {
591
692
  // Try to initialize queue URL from subscriptions
592
693
  const subscriptions = await this.listSubscriptions();
@@ -1 +1 @@
1
- {"version":3,"file":"consumer.js","sourceRoot":"","sources":["../src/consumer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"consumer.js","sourceRoot":"","sources":["../src/consumer.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
1
  import type { AnalysisResult } from './analyzer';
2
2
  import type { Dataset } from './producer';
3
+ import type { DatasetCategory, DataFreshness } from './types';
3
4
  export interface DatasetPayloadParams {
4
5
  datasetName: string;
5
6
  description: string;
6
- category: string;
7
- dataFreshness: string;
7
+ category: DatasetCategory;
8
+ dataFreshness: DataFreshness;
8
9
  s3Key: string;
9
10
  finalSize: number;
10
11
  bucketName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"datasetSchema.d.ts","sourceRoot":"","sources":["../src/datasetSchema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAqE1C,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,QAAQ,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;CACxC;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CA2EzE"}
1
+ {"version":3,"file":"datasetSchema.d.ts","sourceRoot":"","sources":["../src/datasetSchema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAqE9D,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,eAAe,CAAC;IAC1B,aAAa,EAAE,aAAa,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,QAAQ,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;CACxC;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CA2EzE"}
@@ -1 +1 @@
1
- {"version":3,"file":"datasetSchema.js","sourceRoot":"","sources":["../src/datasetSchema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"datasetSchema.js","sourceRoot":"","sources":["../src/datasetSchema.ts"],"names":[],"mappings":";;AAqFA,kDA2EC;AA5JD,MAAM,SAAS,GAAG,cAAc,CAAC;AAEjC,MAAM,eAAe,GAAG;IACtB,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE;IAC1D,YAAY,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE;IACjE,UAAU,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE;CAChE,CAAC;AAEF,MAAM,aAAa,GAAG;IACpB,gBAAgB,EAAE,CAAC;IACnB,cAAc,EAAE,CAAC;IACjB,iBAAiB,EAAE,CAAC;IACpB,kBAAkB,EAAE,CAAC;IACrB,UAAU,EAAE,CAAC;IACb,kBAAkB,EAAE,IAAqB;IACzC,oBAAoB,EAAE,CAAC;CACxB,CAAC;AAEF,SAAS,KAAK,CAAI,KAAQ;IACxB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,iBAAiB,CAAC,WAAmB;IAC5C,OAAO;QACL,SAAS,EAAE,KAAK;QAChB,iBAAiB,EAAE,EAAoC;QACvD,SAAS,EAAE,WAAW;QACtB,kBAAkB,EAAE,CAAC;KACtB,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,KAAa;IAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IACpF,OAAO,OAAO,IAAI,SAAS,CAAC;AAC9B,CAAC;AAED,SAAS,iBAAiB,CAAC,UAAkB,EAAE,WAAmB,EAAE,UAAmB;IACrF,IAAI,UAAU,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/C,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,mDAAmD;IACnD,+DAA+D;IAC/D,yCAAyC;IACzC,OAAO,GAAG,UAAU,IAAI,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;AACjD,CAAC;AAED,SAAS,SAAS,CAAC,IAAyB,EAAE,SAAsC;IAClF,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IACD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACrD,IACE,KAAK;YACL,OAAO,KAAK,KAAK,QAAQ;YACzB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YACrB,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,QAAQ;YAC7B,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI;YAClB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EACzB,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,EAAE,GAAI,IAAI,CAAC,GAAG,CAAyB,EAAE,EAAE,KAA4B,CAAC,CAAC;QACjG,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACpB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAgBD,SAAgB,mBAAmB,CAAC,MAA4B;IAC9D,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IAC/G,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC;IACzC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAEpE,IAAI,UAA8B,CAAC;IACnC,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,OAAO,SAAS,CAAC,GAAG,KAAK,QAAQ,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;YAC9D,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC;YAC3B,OAAO,SAAS,CAAC,GAAG,CAAC;QACvB,CAAC;aAAM,IAAI,OAAO,SAAS,CAAC,EAAE,KAAK,QAAQ,IAAI,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;YACnE,UAAU,GAAG,SAAS,CAAC,EAAE,CAAC;YAC1B,OAAO,SAAS,CAAC,EAAE,CAAC;QACtB,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,iBAAiB,CAAC,UAAU,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;IACzE,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,MAAM,MAAM,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IACjC,MAAM,OAAO,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAE/C,MAAM,eAAe,GAAwB,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC;IAC5E,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;QACjC,eAAe,CAAC,WAAW,GAAG,MAAM,CAAC;IACvC,CAAC;IACD,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;QAC9B,eAAe,CAAC,QAAQ,GAAG,OAAO,CAAC;IACrC,CAAC;IAED,MAAM,WAAW,GAAG,QAAQ,EAAE,WAAW,IAAI,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,QAAQ,EAAE,MAAM,IAAI,EAAE,CAAC;IACtC,MAAM,cAAc,GAAG,QAAQ,EAAE,cAAc,IAAI,EAAE,CAAC;IAEtD,eAAe,CAAC,MAAM,GAAG,MAAM,CAAC;IAChC,eAAe,CAAC,eAAe,GAAG,cAAc,CAAC;IACjD,eAAe,CAAC,YAAY,GAAG,WAAW,CAAC;IAC3C,IAAI,QAAQ,IAAI,QAAQ,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC;QAC5C,eAAe,CAAC,eAAe,GAAG,QAAQ,CAAC,cAAc,CAAC;IAC5D,CAAC;IAED,MAAM,OAAO,GAAY;QACvB,GAAG,EAAE,SAAS;QACd,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,WAAW;QACjB,WAAW;QACX,WAAW,EAAE,UAAU;QACvB,QAAQ;QACR,cAAc,EAAE,aAAa;QAC7B,UAAU,EAAE,SAAS;QACrB,MAAM,EAAE,QAAQ;QAChB,WAAW,EAAE,MAAM;QACnB,MAAM,EAAE,KAAK;QACb,cAAc,EAAE,UAAU,EAAE,gCAAgC;QAC5D,UAAU,EAAE,SAAS;QACrB,YAAY,EAAE,WAAW;QACzB,OAAO;QACP,aAAa,EAAE,EAAE;QACjB,iBAAiB,EAAE,IAAI;QACvB,iBAAiB,EAAE,IAAI;QACvB,QAAQ,EAAE,eAAe;QACzB,MAAM;QACN,UAAU,EAAE,iBAAiB,CAAC,WAAW,CAAC;QAC1C,IAAI,EAAE,EAAE;QACR,OAAO,EAAE,KAAK,CAAC,eAAe,CAAC;QAC/B,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC;QAC3B,YAAY,EAAE,MAAM;QACpB,UAAU,EAAE,MAAM;QAClB,UAAU,EAAE,UAAU;QACtB,UAAU,EAAE,MAAM;QAClB,UAAU,EAAE,UAAU;QACtB,UAAU,EAAE,IAAI;QAChB,UAAU,EAAE,IAAI;KACjB,CAAC;IAEF,OAAO,SAAS,CAAC,OAA8B,EAAE,SAAS,CAAY,CAAC;AACzE,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,6 @@
1
- export { HelixConsumer, type HelixConsumerConfig, type DatasetMetadata, type DownloadUrlInfo, type SubscriptionRequest, type Notification } from './consumer';
1
+ export { HelixConsumer, type HelixConsumerConfig, type DatasetMetadata, type DownloadUrlInfo, type Notification } from './consumer';
2
+ export type { Subscription } from './consumer';
2
3
  export { HelixProducer, type HelixProducerConfig, type UploadOptions, type Dataset } from './producer';
3
4
  export { analyzeData, isEmptyValue, getFieldStatus, type AnalysisResult, type AnalysisOptions } from './analyzer';
5
+ export type { DatasetCategory, DataFreshness, DatasetVisibility, DatasetStatus, AccessTier, SubscriptionTier, SubscriptionRequestStatus, SubscriptionStatus, FileFormat, DatasetMetadataContent, SubscriptionRequest, SubscriptionRequestsResponse, DatasetUpdateInput, Subscriber, SubscriberDataset, SubscribersResponse, } from './types';
4
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,mBAAmB,EAAE,KAAK,eAAe,EAAE,KAAK,eAAe,EAAE,KAAK,mBAAmB,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAC9J,OAAO,EAAE,aAAa,EAAE,KAAK,mBAAmB,EAAE,KAAK,aAAa,EAAE,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AACvG,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,KAAK,cAAc,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,KAAK,mBAAmB,EAAE,KAAK,eAAe,EAAE,KAAK,eAAe,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AACpI,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG/C,OAAO,EAAE,aAAa,EAAE,KAAK,mBAAmB,EAAE,KAAK,aAAa,EAAE,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAGvG,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,KAAK,cAAc,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlH,YAAY,EACV,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,yBAAyB,EACzB,kBAAkB,EAClB,UAAU,EACV,sBAAsB,EAEtB,mBAAmB,EACnB,4BAA4B,EAE5B,kBAAkB,EAElB,UAAU,EACV,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,SAAS,CAAC"}
package/dist/index.js CHANGED
@@ -1,10 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getFieldStatus = exports.isEmptyValue = exports.analyzeData = exports.HelixProducer = exports.HelixConsumer = void 0;
4
+ // Consumer SDK exports
4
5
  var consumer_1 = require("./consumer");
5
6
  Object.defineProperty(exports, "HelixConsumer", { enumerable: true, get: function () { return consumer_1.HelixConsumer; } });
7
+ // Producer SDK exports
6
8
  var producer_1 = require("./producer");
7
9
  Object.defineProperty(exports, "HelixProducer", { enumerable: true, get: function () { return producer_1.HelixProducer; } });
10
+ // Analyzer exports
8
11
  var analyzer_1 = require("./analyzer");
9
12
  Object.defineProperty(exports, "analyzeData", { enumerable: true, get: function () { return analyzer_1.analyzeData; } });
10
13
  Object.defineProperty(exports, "isEmptyValue", { enumerable: true, get: function () { return analyzer_1.isEmptyValue; } });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,uCAA8J;AAArJ,yGAAA,aAAa,OAAA;AACtB,uCAAuG;AAA9F,yGAAA,aAAa,OAAA;AACtB,uCAAkH;AAAzG,uGAAA,WAAW,OAAA;AAAE,wGAAA,YAAY,OAAA;AAAE,0GAAA,cAAc,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,uBAAuB;AACvB,uCAAoI;AAA3H,yGAAA,aAAa,OAAA;AAGtB,uBAAuB;AACvB,uCAAuG;AAA9F,yGAAA,aAAa,OAAA;AAEtB,mBAAmB;AACnB,uCAAkH;AAAzG,uGAAA,WAAW,OAAA;AAAE,wGAAA,YAAY,OAAA;AAAE,0GAAA,cAAc,OAAA"}
@@ -2,6 +2,8 @@
2
2
  * Helix Connect Platform Producer SDK
3
3
  * For data producers who want to upload and manage datasets
4
4
  */
5
+ import type { DatasetCategory, DataFreshness, DatasetVisibility, DatasetStatus, AccessTier, DatasetUpdateInput, SubscribersResponse, SubscriptionRequest } from './types';
6
+ export type { DatasetUpdateInput, SubscribersResponse, Subscriber, SubscriberDataset } from './types';
5
7
  export interface HelixProducerConfig {
6
8
  awsAccessKeyId: string;
7
9
  awsSecretAccessKey: string;
@@ -26,9 +28,9 @@ export interface UploadOptions {
26
28
  /** Description of the dataset */
27
29
  description?: string;
28
30
  /** Dataset category (default: "general") */
29
- category?: string;
31
+ category?: DatasetCategory;
30
32
  /** How often data is updated (default: "daily") */
31
- dataFreshness?: string;
33
+ dataFreshness?: DataFreshness;
32
34
  /** Additional custom metadata */
33
35
  metadata?: Record<string, any>;
34
36
  /** Optional overrides for dataset schema fields */
@@ -49,16 +51,16 @@ export interface Dataset {
49
51
  name: string;
50
52
  description: string;
51
53
  producer_id: string;
52
- category: string;
53
- data_freshness: string;
54
+ category: DatasetCategory;
55
+ data_freshness: DataFreshness;
54
56
  s3_key: string;
55
57
  s3_bucket_name?: string;
56
58
  s3_bucket?: string;
57
59
  size_bytes: number;
58
60
  record_count?: number;
59
- visibility?: string;
60
- status?: string;
61
- access_tier?: string;
61
+ visibility?: DatasetVisibility;
62
+ status?: DatasetStatus;
63
+ access_tier?: AccessTier;
62
64
  version?: string;
63
65
  version_notes?: string;
64
66
  parent_dataset_id?: string | null;
@@ -88,11 +90,19 @@ export declare class HelixProducer {
88
90
  private stsClient;
89
91
  private awsAccessKeyId;
90
92
  private awsSecretAccessKey;
93
+ private initialized;
94
+ private initPromise;
91
95
  /**
92
96
  * Creates a new Helix Producer instance.
93
- * Initializes AWS clients, validates credentials, and retrieves producer-specific resources from SSM.
97
+ * Initializes AWS clients synchronously. Async initialization (credential validation,
98
+ * SSM parameter retrieval) is deferred and runs lazily on first public method call.
94
99
  */
95
100
  constructor(config: HelixProducerConfig);
101
+ /**
102
+ * Ensures async initialization has completed before proceeding.
103
+ * Safe to call multiple times — only initializes once.
104
+ */
105
+ private ensureInitialized;
96
106
  /**
97
107
  * Initializes the producer by validating credentials and retrieving S3 bucket and KMS key from SSM.
98
108
  * Called automatically during construction.
@@ -163,7 +173,7 @@ export declare class HelixProducer {
163
173
  * Lists incoming subscription requests for this producer.
164
174
  * Returns requests that match the specified status filter.
165
175
  */
166
- listSubscriptionRequests(status?: 'pending' | 'approved' | 'rejected'): Promise<any[]>;
176
+ listSubscriptionRequests(status?: 'pending' | 'approved' | 'rejected'): Promise<SubscriptionRequest[]>;
167
177
  /**
168
178
  * Approves a subscription request from a consumer.
169
179
  * Creates the necessary resources (SQS queue, SNS subscription) for the consumer.
@@ -175,11 +185,11 @@ export declare class HelixProducer {
175
185
  approveSubscriptionRequest(requestId: string, options?: {
176
186
  notes?: string;
177
187
  datasetId?: string;
178
- }): Promise<any>;
188
+ }): Promise<SubscriptionRequest>;
179
189
  /**
180
190
  * Rejects a subscription request from a consumer.
181
191
  */
182
- rejectSubscriptionRequest(requestId: string, reason?: string): Promise<any>;
192
+ rejectSubscriptionRequest(requestId: string, reason?: string): Promise<SubscriptionRequest>;
183
193
  /**
184
194
  * Lists all subscribers for a specific dataset.
185
195
  */
@@ -188,6 +198,57 @@ export declare class HelixProducer {
188
198
  * Revokes a subscription.
189
199
  */
190
200
  revokeSubscription(subscriptionId: string): Promise<any>;
201
+ /**
202
+ * Updates an existing dataset's metadata.
203
+ * Use this to update dataset information without re-uploading the data.
204
+ *
205
+ * @param datasetId - The dataset ID to update
206
+ * @param updates - Object containing fields to update (all fields optional for PATCH)
207
+ * @returns The updated dataset object
208
+ *
209
+ * @example
210
+ * ```typescript
211
+ * const producer = new HelixProducer({...});
212
+ *
213
+ * // Update dataset metadata
214
+ * const updated = await producer.updateDataset('company-123-my-dataset', {
215
+ * description: 'Updated description with more details',
216
+ * visibility: 'public',
217
+ * tags: ['phone-data', 'usa', '2024'],
218
+ * version: '2.0.0',
219
+ * version_notes: 'Added 50,000 new records',
220
+ * });
221
+ *
222
+ * console.log(`Dataset updated: ${updated.name}`);
223
+ * console.log(`New version: ${updated.version}`);
224
+ * ```
225
+ */
226
+ updateDataset(datasetId: string, updates: DatasetUpdateInput): Promise<Dataset>;
227
+ /**
228
+ * Lists all active subscribers across all of the producer's datasets.
229
+ * Provides an aggregated view of who has access to the producer's data.
230
+ *
231
+ * @returns Subscribers list with count
232
+ *
233
+ * @example
234
+ * ```typescript
235
+ * const producer = new HelixProducer({...});
236
+ *
237
+ * const result = await producer.listSubscribers();
238
+ * console.log(`Total subscribers: ${result.count}`);
239
+ *
240
+ * for (const subscriber of result.subscribers) {
241
+ * console.log(`\nSubscriber: ${subscriber.consumer_name}`);
242
+ * console.log(` Email: ${subscriber.consumer_email}`);
243
+ * console.log(` Subscriptions: ${subscriber.subscription_count}`);
244
+ *
245
+ * for (const ds of subscriber.datasets) {
246
+ * console.log(` - ${ds.dataset_name} (${ds.tier}, ${ds.status})`);
247
+ * }
248
+ * }
249
+ * ```
250
+ */
251
+ listSubscribers(): Promise<SubscribersResponse>;
191
252
  /**
192
253
  * Makes an authenticated API request with form-encoded data.
193
254
  */
@@ -1 +1 @@
1
- {"version":3,"file":"producer.d.ts","sourceRoot":"","sources":["../src/producer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"producer.d.ts","sourceRoot":"","sources":["../src/producer.ts"],"names":[],"mappings":"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"}
package/dist/producer.js CHANGED
@@ -67,9 +67,12 @@ const resolveApiEndpoint = (apiEndpoint) => {
67
67
  class HelixProducer {
68
68
  /**
69
69
  * Creates a new Helix Producer instance.
70
- * Initializes AWS clients, validates credentials, and retrieves producer-specific resources from SSM.
70
+ * Initializes AWS clients synchronously. Async initialization (credential validation,
71
+ * SSM parameter retrieval) is deferred and runs lazily on first public method call.
71
72
  */
72
73
  constructor(config) {
74
+ this.initialized = false;
75
+ this.initPromise = null;
73
76
  this.customerId = config.customerId;
74
77
  this.apiEndpoint = resolveApiEndpoint(config.apiEndpoint).replace(/\/$/, '');
75
78
  this.region = config.region || 'us-east-1';
@@ -86,11 +89,21 @@ class HelixProducer {
86
89
  this.kmsClient = new client_kms_1.KMSClient(awsConfig);
87
90
  this.s3Client = new client_s3_1.S3Client(awsConfig);
88
91
  this.stsClient = new client_sts_1.STSClient(awsConfig);
89
- // Will be populated after validation
92
+ // Will be populated after async initialization
90
93
  this.bucketName = '';
91
94
  this.kmsKeyId = '';
92
- // Validate credentials and get producer resources
93
- this.initialize();
95
+ }
96
+ /**
97
+ * Ensures async initialization has completed before proceeding.
98
+ * Safe to call multiple times — only initializes once.
99
+ */
100
+ async ensureInitialized() {
101
+ if (this.initialized)
102
+ return;
103
+ if (!this.initPromise) {
104
+ this.initPromise = this.initialize();
105
+ }
106
+ await this.initPromise;
94
107
  }
95
108
  /**
96
109
  * Initializes the producer by validating credentials and retrieving S3 bucket and KMS key from SSM.
@@ -145,6 +158,7 @@ class HelixProducer {
145
158
  console.log(`Warning: KMS key not found, encryption will be disabled: ${error}`);
146
159
  this.kmsKeyId = '';
147
160
  }
161
+ this.initialized = true;
148
162
  }
149
163
  buildSsmParamCandidates(paramName) {
150
164
  const env = process.env.HELIX_ENVIRONMENT || process.env.ENVIRONMENT || 'production';
@@ -272,6 +286,7 @@ class HelixProducer {
272
286
  * @throws Error if file not found, encryption fails, or upload fails
273
287
  */
274
288
  async uploadDataset(filePath, options) {
289
+ await this.ensureInitialized();
275
290
  // Set defaults (encryption and compression enabled by default)
276
291
  const category = options.category || 'general';
277
292
  const dataFreshness = options.dataFreshness || 'daily';
@@ -434,6 +449,7 @@ class HelixProducer {
434
449
  * Returns metadata for all datasets owned by the current producer account.
435
450
  */
436
451
  async listMyDatasets() {
452
+ await this.ensureInitialized();
437
453
  const response = await this.makeApiRequest('GET', `/v1/datasets?producer_id=${encodeURIComponent(this.customerId)}`);
438
454
  return response.datasets;
439
455
  }
@@ -477,8 +493,9 @@ class HelixProducer {
477
493
  * Returns requests that match the specified status filter.
478
494
  */
479
495
  async listSubscriptionRequests(status = 'pending') {
480
- const response = await this.makeApiRequest('GET', `/v1/producers/subscription-requests?status=${status}`);
481
- return response.requests || response;
496
+ await this.ensureInitialized();
497
+ const response = await this.makeApiRequest('GET', `/v1/producers/subscription-requests?status=${encodeURIComponent(status)}`);
498
+ return response.requests || [];
482
499
  }
483
500
  /**
484
501
  * Approves a subscription request from a consumer.
@@ -489,6 +506,7 @@ class HelixProducer {
489
506
  * @param options.datasetId - Optional specific dataset ID to grant access to (if not provided, uses the dataset from the original request)
490
507
  */
491
508
  async approveSubscriptionRequest(requestId, options) {
509
+ await this.ensureInitialized();
492
510
  const payload = { action: 'approve' };
493
511
  if (options?.notes) {
494
512
  payload.notes = options.notes;
@@ -496,24 +514,24 @@ class HelixProducer {
496
514
  if (options?.datasetId) {
497
515
  payload.dataset_id = options.datasetId;
498
516
  }
499
- const response = await this.makeApiRequest('POST', `/v1/subscription-requests/${requestId}`, payload);
500
- return response;
517
+ return this.makeApiRequest('POST', `/v1/subscription-requests/${encodeURIComponent(requestId)}`, payload);
501
518
  }
502
519
  /**
503
520
  * Rejects a subscription request from a consumer.
504
521
  */
505
522
  async rejectSubscriptionRequest(requestId, reason) {
523
+ await this.ensureInitialized();
506
524
  const payload = { action: 'reject' };
507
525
  if (reason) {
508
526
  payload.reason = reason;
509
527
  }
510
- const response = await this.makeApiRequest('POST', `/v1/subscription-requests/${requestId}`, payload);
511
- return response;
528
+ return this.makeApiRequest('POST', `/v1/subscription-requests/${encodeURIComponent(requestId)}`, payload);
512
529
  }
513
530
  /**
514
531
  * Lists all subscribers for a specific dataset.
515
532
  */
516
533
  async getDatasetSubscribers(datasetId) {
534
+ await this.ensureInitialized();
517
535
  const response = await this.makeApiRequest('GET', `/v1/subscriptions?dataset_id=${datasetId}`);
518
536
  return response.subscriptions || [];
519
537
  }
@@ -521,9 +539,69 @@ class HelixProducer {
521
539
  * Revokes a subscription.
522
540
  */
523
541
  async revokeSubscription(subscriptionId) {
542
+ await this.ensureInitialized();
524
543
  const response = await this.makeApiRequest('PUT', `/v1/subscriptions/${subscriptionId}/revoke`);
525
544
  return response;
526
545
  }
546
+ /**
547
+ * Updates an existing dataset's metadata.
548
+ * Use this to update dataset information without re-uploading the data.
549
+ *
550
+ * @param datasetId - The dataset ID to update
551
+ * @param updates - Object containing fields to update (all fields optional for PATCH)
552
+ * @returns The updated dataset object
553
+ *
554
+ * @example
555
+ * ```typescript
556
+ * const producer = new HelixProducer({...});
557
+ *
558
+ * // Update dataset metadata
559
+ * const updated = await producer.updateDataset('company-123-my-dataset', {
560
+ * description: 'Updated description with more details',
561
+ * visibility: 'public',
562
+ * tags: ['phone-data', 'usa', '2024'],
563
+ * version: '2.0.0',
564
+ * version_notes: 'Added 50,000 new records',
565
+ * });
566
+ *
567
+ * console.log(`Dataset updated: ${updated.name}`);
568
+ * console.log(`New version: ${updated.version}`);
569
+ * ```
570
+ */
571
+ async updateDataset(datasetId, updates) {
572
+ await this.ensureInitialized();
573
+ const encodedId = encodeURIComponent(datasetId);
574
+ const response = await this.makeApiRequest('PATCH', `/v1/datasets/${encodedId}`, updates);
575
+ return response;
576
+ }
577
+ /**
578
+ * Lists all active subscribers across all of the producer's datasets.
579
+ * Provides an aggregated view of who has access to the producer's data.
580
+ *
581
+ * @returns Subscribers list with count
582
+ *
583
+ * @example
584
+ * ```typescript
585
+ * const producer = new HelixProducer({...});
586
+ *
587
+ * const result = await producer.listSubscribers();
588
+ * console.log(`Total subscribers: ${result.count}`);
589
+ *
590
+ * for (const subscriber of result.subscribers) {
591
+ * console.log(`\nSubscriber: ${subscriber.consumer_name}`);
592
+ * console.log(` Email: ${subscriber.consumer_email}`);
593
+ * console.log(` Subscriptions: ${subscriber.subscription_count}`);
594
+ *
595
+ * for (const ds of subscriber.datasets) {
596
+ * console.log(` - ${ds.dataset_name} (${ds.tier}, ${ds.status})`);
597
+ * }
598
+ * }
599
+ * ```
600
+ */
601
+ async listSubscribers() {
602
+ await this.ensureInitialized();
603
+ return this.makeApiRequest('GET', '/v1/producers/subscribers');
604
+ }
527
605
  /**
528
606
  * Makes an authenticated API request with form-encoded data.
529
607
  */
@@ -1 +1 @@
1
- {"version":3,"file":"producer.js","sourceRoot":"","sources":["../src/producer.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,oDAAgE;AAChE,kDAAgE;AAChE,oDAAqE;AACrE,oDAA0E;AAC1E,uDAAmD;AACnD,yDAAoD;AACpD,qDAA+C;AAC/C,kDAAkD;AAClD,2CAA6B;AAC7B,uCAAyB;AACzB,+CAAiC;AAEjC,yCAAyD;AACzD,mDAAsD;AAEtD,MAAM,oBAAoB,GAAG,4BAA4B,CAAC;AAE1D,MAAM,kBAAkB,GAAG,CAAC,WAAoB,EAAU,EAAE;IAC1D,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,kBAAkB,EAAE,CAAC;QACtE,OAAO,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;IACxC,CAAC;IACD,OAAO,oBAAoB,CAAC;AAC9B,CAAC,CAAC;AAyFF,MAAa,aAAa;IAYxB;;;OAGG;IACH,YAAY,MAA2B;QACrC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,WAAW,GAAG,kBAAkB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC7E,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,WAAW,CAAC;QAC3C,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QAC5C,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;QAEpD,yBAAyB;QACzB,MAAM,SAAS,GAAG;YAChB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,WAAW,EAAE;gBACX,WAAW,EAAE,IAAI,CAAC,cAAc;gBAChC,eAAe,EAAE,IAAI,CAAC,kBAAkB;aACzC;SACF,CAAC;QAEF,IAAI,CAAC,SAAS,GAAG,IAAI,sBAAS,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,GAAG,IAAI,oBAAQ,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,CAAC,SAAS,GAAG,IAAI,sBAAS,CAAC,SAAS,CAAC,CAAC;QAE1C,qCAAqC;QACrC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QAEnB,kDAAkD;QAClD,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,UAAU;QACtB,uBAAuB;QACvB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,qCAAwB,CAAC,EAAE,CAAC,CAAC;YACjD,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,gFAAgF,KAAK,EAAE,CACxF,CAAC;QACJ,CAAC;QAED,2CAA2C;QAC3C,MAAM,SAAS,GAAG,IAAI,sBAAS,CAAC;YAC9B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,WAAW,EAAE;gBACX,WAAW,EAAE,IAAI,CAAC,cAAc;gBAChC,eAAe,EAAE,IAAI,CAAC,kBAAkB;aACzC;SACF,CAAC,CAAC;QAEH,MAAM,iBAAiB,GAAG,KAAK,EAAE,SAAiB,EAAmB,EAAE;YACrE,MAAM,UAAU,GAAG,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;YAC3D,IAAI,SAAkB,CAAC;YAEvB,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;gBAC9B,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,IAAI,CACnC,IAAI,gCAAmB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAC9D,CAAC;oBAEF,IAAI,QAAQ,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC;wBAC9B,OAAO,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC;oBAClC,CAAC;oBAED,SAAS,GAAG,IAAI,KAAK,CAAC,8BAA8B,IAAI,EAAE,CAAC,CAAC;gBAC9D,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,SAAS,GAAG,KAAK,CAAC;gBACpB,CAAC;YACH,CAAC;YAED,MAAM,IAAI,KAAK,CACb,wCAAwC,IAAI,CAAC,UAAU,KAAK,SAAS,iBAAiB,SAAS,EAAE,CAClG,CAAC;QACJ,CAAC,CAAC;QAEF,IAAI,CAAC;YACH,qBAAqB;YACrB,IAAI,CAAC,UAAU,GAAG,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC;QACzD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC,CAAC;QACnF,CAAC;QAED,0CAA0C;QAC1C,IAAI,CAAC;YACH,IAAI,CAAC,QAAQ,GAAG,MAAM,iBAAiB,CAAC,YAAY,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,4DAA4D,KAAK,EAAE,CAAC,CAAC;YACjF,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAEO,uBAAuB,CAAC,SAAiB;QAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,YAAY,CAAC;QACrF,MAAM,QAAQ,GAAG;YACf,OAAO,CAAC,GAAG,CAAC,yBAAyB;YACrC,gBAAgB,GAAG,YAAY;YAC/B,UAAU,GAAG,YAAY;YACzB,kBAAkB;SACnB,CAAC,MAAM,CAAC,OAAO,CAAa,CAAC;QAE9B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,MAAM,UAAU,GAAa,EAAE,CAAC;QAEhC,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;YAC9B,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC9C,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBACzB,SAAS;YACX,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACrB,UAAU,CAAC,IAAI,CAAC,GAAG,UAAU,IAAI,IAAI,CAAC,UAAU,IAAI,SAAS,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;OAGG;IACK,YAAY,CAAC,IAAY,EAAE,KAAa;QAC9C,IAAI,CAAC;YACH,oDAAoD;YACpD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAA0C,CAAC;YACxG,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;QAC7D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,uBAAuB,KAAK,EAAE,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,WAAW,CAAC,IAAY;QACpC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,CAAC;QAED,IAAI,CAAC;YACH,kCAAkC;YAClC,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,0BAA0B;YAClE,MAAM,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,0BAA0B;YAE7D,+CAA+C;YAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,aAAa,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;YACjE,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC;gBAClC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;gBACnB,MAAM,CAAC,KAAK,EAAE;aACf,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;YAEpC,sEAAsE;YACtE,MAAM,cAAc,GAAG,IAAI,2BAAc,CAAC;gBACxC,KAAK,EAAE,IAAI,CAAC,QAAQ;gBACpB,SAAS,EAAE,OAAO;aACnB,CAAC,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAEhE,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC;gBAClC,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;YAC3D,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;YAE/D,6FAA6F;YAC7F,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,YAAY,CAAC,MAAM,GAAG,EAAE,GAAG,EAAE,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;YAC5F,IAAI,MAAM,GAAG,CAAC,CAAC;YAEf,mDAAmD;YACnD,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAClD,MAAM,IAAI,CAAC,CAAC;YAEZ,sBAAsB;YACtB,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAClC,MAAM,IAAI,YAAY,CAAC,MAAM,CAAC;YAE9B,sBAAsB;YACtB,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACxB,MAAM,IAAI,EAAE,CAAC;YAEb,4BAA4B;YAC5B,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC7B,MAAM,IAAI,EAAE,CAAC;YAEb,uBAAuB;YACvB,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAEnC,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,sBAAsB,KAAK,EAAE,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqCG;IACH,KAAK,CAAC,aAAa,CACjB,QAAgB,EAChB,OAAsB;QAEtB,+DAA+D;QAC/D,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,SAAS,CAAC;QAC/C,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC;QACvD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,gBAAgB;QAC7D,IAAI,OAAO,GAAG,OAAO,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,gBAAgB;QACzD,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,CAAC,CAAC;QAEvD,uBAAuB;QACvB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;QACjD,CAAC;QAED,0EAA0E;QAC1E,2DAA2D;QAC3D,IAAI,QAAQ,GAA0B,IAAI,CAAC;QAC3C,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,IAAA,sBAAW,EAAC,QAAQ,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,mEAAmE,CAAC,EAAE,CAAC,CAAC;QACtF,CAAC;QAED,qBAAqB;QACrB,IAAI,IAAI,GAAW,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC;QAEjC,6BAA6B;QAC7B,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,kBAAkB,QAAQ,sBAAsB,CAAC,CAAC;QACpE,CAAC;QAED,2BAA2B;QAC3B,MAAM,KAAK,GAAwB;YACjC,mBAAmB,EAAE,YAAY;YACjC,qBAAqB,EAAE,YAAY;YACnC,oBAAoB,EAAE,YAAY;YAClC,kBAAkB,EAAE,OAAO;YAC3B,mBAAmB,EAAE,QAAQ;SAC9B,CAAC;QAEF,sCAAsC;QACtC,wEAAwE;QACxE,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,CAAC,MAAM,2BAA2B,gBAAgB,MAAM,CAAC,CAAC;YAC5F,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;YAC7D,IAAI,GAAG,UAAU,CAAC;YAClB,KAAK,CAAC,qBAAqB,GAAG,IAAI,CAAC,MAAM,CAAC;YAC1C,MAAM,gBAAgB,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,GAAG,GAAG,CAAC;YAChE,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,CAAC,MAAM,WAAW,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;QAC9F,CAAC;QAED,sCAAsC;QACtC,2CAA2C;QAC3C,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnB,OAAO,CAAC,GAAG,CAAC,2EAA2E,CAAC,CAAC;gBACzF,OAAO,GAAG,KAAK,CAAC;gBAChB,KAAK,CAAC,kBAAkB,GAAG,KAAK,CAAC;YACnC,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,CAAC,MAAM,wBAAwB,CAAC,CAAC;gBAClE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAC/C,IAAI,GAAG,SAAS,CAAC;gBACjB,KAAK,CAAC,oBAAoB,GAAG,IAAI,CAAC,MAAM,CAAC;gBACzC,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,MAAM,QAAQ,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;QAED,oEAAoE;QACpE,mFAAmF;QACnF,IAAI,QAAQ,GAAG,aAAa,CAAC;QAC7B,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,IAAI,KAAK,CAAC;QACpB,CAAC;QACD,MAAM,KAAK,GAAG,YAAY,OAAO,CAAC,WAAW,IAAI,QAAQ,EAAE,CAAC;QAE5D,yCAAyC;QACzC,uFAAuF;QACvF,MAAM,IAAI,GAAG;YACX,cAAc,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YACnD,aAAa,kBAAkB,CAAC,SAAS,CAAC,EAAE;YAC5C,WAAW,kBAAkB,CAAC,iBAAiB,CAAC,EAAE;YAClD,eAAe,kBAAkB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;SACzD,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEZ,eAAe;QACf,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,MAAM,iBAAiB,CAAC,CAAC;QAC1D,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,4BAAgB,CAAC;gBACtC,MAAM,EAAE,IAAI,CAAC,UAAU;gBACvB,GAAG,EAAE,KAAK;gBACV,IAAI,EAAE,IAAW,EAAE,sCAAsC;gBACzD,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACrC,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,CAAC,UAAU,IAAI,KAAK,wBAAwB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACxG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,0BAA0B,KAAK,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,uCAAuC;QACvC,MAAM,gBAAgB,GAAwB;YAC5C,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;YAC3B,GAAG,KAAK;SACT,CAAC;QAEF,sDAAsD;QACtD,kEAAkE;QAClE,MAAM,SAAS,GAAG,OAAO;YACvB,CAAC,CAAC,KAAK,CAAC,oBAAoB;YAC5B,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC;QAEhC,sCAAsC;QACtC,MAAM,cAAc,GAAG,IAAA,mCAAmB,EAAC;YACzC,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE;YACtC,QAAQ;YACR,aAAa;YACb,KAAK;YACL,SAAS;YACT,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,QAAQ,EAAE,gBAAgB;YAC1B,QAAQ;YACR,SAAS,EAAE,OAAO,CAAC,gBAAgB,IAAI,IAAI;SAC5C,CAAC,CAAC;QAEH,uDAAuD;QACvD,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,IAAI,cAAc,CAAC,EAAE,IAAI,EAAE,CAAC;QAEhE,0DAA0D;QAC1D,iEAAiE;QACjE,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAU,MAAM,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;YAC3F,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,2DAA2D;YAC3D,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;gBACrB,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;gBAC/D,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;oBAC5E,OAAO,CAAC,GAAG,CAAC,sBAAsB,SAAS,EAAE,CAAC,CAAC;oBAC/C,OAAO,OAAO,CAAC;gBACjB,CAAC;gBAAC,OAAO,WAAW,EAAE,CAAC;oBACrB,OAAO,CAAC,GAAG,CAAC,yDAAyD,WAAW,EAAE,CAAC,CAAC;oBACpF,OAAO;wBACL,GAAG,cAAc;wBACjB,GAAG,EAAE,SAAS;wBACd,EAAE,EAAE,SAAS;wBACb,QAAQ,EAAE;4BACR,GAAG,CAAC,cAAc,CAAC,QAAQ,IAAI,EAAE,CAAC;4BAClC,MAAM,EAAE,wBAAwB;4BAChC,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC;yBAC3B;qBACF,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,wEAAwE;YACxE,OAAO,CAAC,GAAG,CAAC,+DAA+D,KAAK,EAAE,CAAC,CAAC;YACpF,OAAO;gBACL,GAAG,cAAc;gBACjB,QAAQ,EAAE;oBACR,GAAG,CAAC,cAAc,CAAC,QAAQ,IAAI,EAAE,CAAC;oBAClC,MAAM,EAAE,uBAAuB;oBAC/B,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;iBACrB;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc;QAMlB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CACxC,KAAK,EACL,4BAA4B,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAClE,CAAC;QAEF,OAAO,QAAQ,CAAC,QAAQ,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,WAAW,CACvB,MAAc,EACd,IAAY,EACZ,IAAa,EACb,cAAsB,kBAAkB;QAExC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;QAE7C,6DAA6D;QAC7D,MAAM,WAAW,GAA2B,EAAE,CAAC;QAC/C,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACtC,WAAW,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,IAAI,2BAAW,CAAC;YAC9B,MAAM;YACN,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAG,4BAA4B;YACjD,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,EAAG,0BAA0B;YACjG,OAAO,EAAE;gBACP,cAAc,EAAE,WAAW;gBAC3B,IAAI,EAAE,GAAG,CAAC,QAAQ;aACnB;YACD,IAAI;SACL,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,IAAI,0BAAW,CAAC;YAC7B,WAAW,EAAE;gBACX,WAAW,EAAE,IAAI,CAAC,cAAc;gBAChC,eAAe,EAAE,IAAI,CAAC,kBAAkB;aACzC;YACD,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,aAAa;YACtB,MAAM,EAAE,kBAAM;SACf,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjD,OAAO,aAAa,CAAC,OAAO,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,wBAAwB,CAAC,SAA8C,SAAS;QACpF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CACxC,KAAK,EACL,8CAA8C,MAAM,EAAE,CACvD,CAAC;QACF,OAAO,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC;IACvC,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,0BAA0B,CAC9B,SAAiB,EACjB,OAAgD;QAEhD,MAAM,OAAO,GAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QAC3C,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YACnB,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAChC,CAAC;QACD,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;YACvB,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;QACzC,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CACxC,MAAM,EACN,6BAA6B,SAAS,EAAE,EACxC,OAAO,CACR,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,yBAAyB,CAAC,SAAiB,EAAE,MAAe;QAChE,MAAM,OAAO,GAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QAC1C,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;QAC1B,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CACxC,MAAM,EACN,6BAA6B,SAAS,EAAE,EACxC,OAAO,CACR,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,qBAAqB,CAAC,SAAiB;QAC3C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CACxC,KAAK,EACL,gCAAgC,SAAS,EAAE,CAC5C,CAAC;QACF,OAAO,QAAQ,CAAC,aAAa,IAAI,EAAE,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CAAC,cAAsB;QAC7C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CACxC,KAAK,EACL,qBAAqB,cAAc,SAAS,CAC7C,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,kBAAkB,CAC9B,MAAc,EACd,IAAY,EACZ,QAAiC;QAEjC,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7E,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,mCAAmC,CAAC,CAAC;QAEhG,MAAM,MAAM,GAAuB;YACjC,MAAM;YACN,GAAG,EAAE,IAAI,CAAC,WAAW,GAAG,IAAI;YAC5B,OAAO;YACP,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,KAAK;SACf,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAA,eAAK,EAAC,MAAM,CAAC,CAAC;YACrC,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACnB,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACrC,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAExE,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;oBACnB,MAAM,IAAI,KAAK,CAAC,0BAA0B,OAAO,EAAE,CAAC,CAAC;gBACvD,CAAC;qBAAM,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;oBAC1B,MAAM,IAAI,KAAK,CAAC,sBAAsB,OAAO,EAAE,CAAC,CAAC;gBACnD,CAAC;qBAAM,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;oBAC1B,MAAM,IAAI,KAAK,CAAC,uBAAuB,OAAO,EAAE,CAAC,CAAC;gBACpD,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,KAAK,CAAC,uBAAuB,MAAM,MAAM,OAAO,EAAE,CAAC,CAAC;gBAChE,CAAC;YACH,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,cAAc,CAC1B,MAAc,EACd,IAAY,EACZ,IAAU;QAEV,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACrD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAE3D,MAAM,MAAM,GAAuB;YACjC,MAAM;YACN,GAAG,EAAE,IAAI,CAAC,WAAW,GAAG,IAAI;YAC5B,OAAO;YACP,IAAI;YACJ,OAAO,EAAE,KAAK,EAAE,oBAAoB;SACrC,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAA,eAAK,EAAC,MAAM,CAAC,CAAC;YACrC,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACnB,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACrC,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAExE,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;oBACnB,MAAM,IAAI,KAAK,CAAC,0BAA0B,OAAO,EAAE,CAAC,CAAC;gBACvD,CAAC;qBAAM,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;oBAC1B,MAAM,IAAI,KAAK,CAAC,sBAAsB,OAAO,EAAE,CAAC,CAAC;gBACnD,CAAC;qBAAM,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;oBAC1B,MAAM,IAAI,KAAK,CAAC,uBAAuB,OAAO,EAAE,CAAC,CAAC;gBACpD,CAAC;qBAAM,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;oBAC1B,sCAAsC;oBACtC,MAAM,aAAa,GAAG,IAAI,KAAK,CAAC,4BAA4B,OAAO,EAAE,CAAC,CAAC;oBACtE,aAAqB,CAAC,UAAU,GAAG,IAAI,CAAC;oBACxC,aAAqB,CAAC,UAAU,GAAG,GAAG,CAAC;oBACxC,MAAM,aAAa,CAAC;gBACtB,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,KAAK,CAAC,uBAAuB,MAAM,MAAM,OAAO,EAAE,CAAC,CAAC;gBAChE,CAAC;YACH,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,qBAAqB,CACjC,SAAiB,EACjB,OAA4B;QAE5B,gEAAgE;QAChE,MAAM,gBAAgB,GAAG;YACvB,MAAM;YACN,aAAa;YACb,QAAQ;YACR,UAAU;YACV,QAAQ;YACR,YAAY;YACZ,UAAU;YACV,aAAa;YACb,MAAM;YACN,YAAY;YACZ,cAAc;YACd,QAAQ;YACR,gBAAgB;YAChB,gBAAgB;YAChB,SAAS;YACT,eAAe;YACf,cAAc;YACd,YAAY;YACZ,YAAY;SACb,CAAC;QAEF,MAAM,aAAa,GAAwB,EAAE,CAAC;QAC9C,KAAK,MAAM,KAAK,IAAI,gBAAgB,EAAE,CAAC;YACrC,IAAI,KAAK,IAAI,OAAO,EAAE,CAAC;gBACrB,aAAa,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QAED,2EAA2E;QAC3E,MAAM,IAAI,CAAC,cAAc,CACvB,OAAO,EACP,gBAAgB,kBAAkB,CAAC,SAAS,CAAC,EAAE,EAC/C,aAAa,CACd,CAAC;QAEF,oDAAoD;QACpD,kGAAkG;QAClG,OAAO,OAAkB,CAAC;IAC5B,CAAC;CACF;AA7rBD,sCA6rBC"}
1
+ {"version":3,"file":"producer.js","sourceRoot":"","sources":["../src/producer.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,oDAAgE;AAChE,kDAAgE;AAChE,oDAAqE;AACrE,oDAA0E;AAC1E,uDAAmD;AACnD,yDAAoD;AACpD,qDAA+C;AAC/C,kDAAkD;AAClD,2CAA6B;AAC7B,uCAAyB;AACzB,+CAAiC;AAEjC,yCAAyD;AACzD,mDAAsD;AAgBtD,MAAM,oBAAoB,GAAG,4BAA4B,CAAC;AAE1D,MAAM,kBAAkB,GAAG,CAAC,WAAoB,EAAU,EAAE;IAC1D,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,kBAAkB,EAAE,CAAC;QACtE,OAAO,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;IACxC,CAAC;IACD,OAAO,oBAAoB,CAAC;AAC9B,CAAC,CAAC;AAyFF,MAAa,aAAa;IAcxB;;;;OAIG;IACH,YAAY,MAA2B;QAR/B,gBAAW,GAAY,KAAK,CAAC;QAC7B,gBAAW,GAAyB,IAAI,CAAC;QAQ/C,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,WAAW,GAAG,kBAAkB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC7E,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,WAAW,CAAC;QAC3C,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QAC5C,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;QAEpD,yBAAyB;QACzB,MAAM,SAAS,GAAG;YAChB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,WAAW,EAAE;gBACX,WAAW,EAAE,IAAI,CAAC,cAAc;gBAChC,eAAe,EAAE,IAAI,CAAC,kBAAkB;aACzC;SACF,CAAC;QAEF,IAAI,CAAC,SAAS,GAAG,IAAI,sBAAS,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,GAAG,IAAI,oBAAQ,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,CAAC,SAAS,GAAG,IAAI,sBAAS,CAAC,SAAS,CAAC,CAAC;QAE1C,+CAA+C;QAC/C,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IACrB,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,iBAAiB;QAC7B,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO;QAC7B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACvC,CAAC;QACD,MAAM,IAAI,CAAC,WAAW,CAAC;IACzB,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,UAAU;QACtB,uBAAuB;QACvB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,qCAAwB,CAAC,EAAE,CAAC,CAAC;YACjD,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,gFAAgF,KAAK,EAAE,CACxF,CAAC;QACJ,CAAC;QAED,2CAA2C;QAC3C,MAAM,SAAS,GAAG,IAAI,sBAAS,CAAC;YAC9B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,WAAW,EAAE;gBACX,WAAW,EAAE,IAAI,CAAC,cAAc;gBAChC,eAAe,EAAE,IAAI,CAAC,kBAAkB;aACzC;SACF,CAAC,CAAC;QAEH,MAAM,iBAAiB,GAAG,KAAK,EAAE,SAAiB,EAAmB,EAAE;YACrE,MAAM,UAAU,GAAG,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;YAC3D,IAAI,SAAkB,CAAC;YAEvB,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;gBAC9B,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,IAAI,CACnC,IAAI,gCAAmB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAC9D,CAAC;oBAEF,IAAI,QAAQ,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC;wBAC9B,OAAO,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC;oBAClC,CAAC;oBAED,SAAS,GAAG,IAAI,KAAK,CAAC,8BAA8B,IAAI,EAAE,CAAC,CAAC;gBAC9D,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,SAAS,GAAG,KAAK,CAAC;gBACpB,CAAC;YACH,CAAC;YAED,MAAM,IAAI,KAAK,CACb,wCAAwC,IAAI,CAAC,UAAU,KAAK,SAAS,iBAAiB,SAAS,EAAE,CAClG,CAAC;QACJ,CAAC,CAAC;QAEF,IAAI,CAAC;YACH,qBAAqB;YACrB,IAAI,CAAC,UAAU,GAAG,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC;QACzD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC,CAAC;QACnF,CAAC;QAED,0CAA0C;QAC1C,IAAI,CAAC;YACH,IAAI,CAAC,QAAQ,GAAG,MAAM,iBAAiB,CAAC,YAAY,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,4DAA4D,KAAK,EAAE,CAAC,CAAC;YACjF,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACrB,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAEO,uBAAuB,CAAC,SAAiB;QAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,YAAY,CAAC;QACrF,MAAM,QAAQ,GAAG;YACf,OAAO,CAAC,GAAG,CAAC,yBAAyB;YACrC,gBAAgB,GAAG,YAAY;YAC/B,UAAU,GAAG,YAAY;YACzB,kBAAkB;SACnB,CAAC,MAAM,CAAC,OAAO,CAAa,CAAC;QAE9B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,MAAM,UAAU,GAAa,EAAE,CAAC;QAEhC,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;YAC9B,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC9C,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBACzB,SAAS;YACX,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACrB,UAAU,CAAC,IAAI,CAAC,GAAG,UAAU,IAAI,IAAI,CAAC,UAAU,IAAI,SAAS,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;OAGG;IACK,YAAY,CAAC,IAAY,EAAE,KAAa;QAC9C,IAAI,CAAC;YACH,oDAAoD;YACpD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAA0C,CAAC;YACxG,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;QAC7D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,uBAAuB,KAAK,EAAE,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,WAAW,CAAC,IAAY;QACpC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,CAAC;QAED,IAAI,CAAC;YACH,kCAAkC;YAClC,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,0BAA0B;YAClE,MAAM,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,0BAA0B;YAE7D,+CAA+C;YAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,aAAa,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;YACjE,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC;gBAClC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;gBACnB,MAAM,CAAC,KAAK,EAAE;aACf,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;YAEpC,sEAAsE;YACtE,MAAM,cAAc,GAAG,IAAI,2BAAc,CAAC;gBACxC,KAAK,EAAE,IAAI,CAAC,QAAQ;gBACpB,SAAS,EAAE,OAAO;aACnB,CAAC,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAEhE,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC;gBAClC,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;YAC3D,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;YAE/D,6FAA6F;YAC7F,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,YAAY,CAAC,MAAM,GAAG,EAAE,GAAG,EAAE,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;YAC5F,IAAI,MAAM,GAAG,CAAC,CAAC;YAEf,mDAAmD;YACnD,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAClD,MAAM,IAAI,CAAC,CAAC;YAEZ,sBAAsB;YACtB,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAClC,MAAM,IAAI,YAAY,CAAC,MAAM,CAAC;YAE9B,sBAAsB;YACtB,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACxB,MAAM,IAAI,EAAE,CAAC;YAEb,4BAA4B;YAC5B,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC7B,MAAM,IAAI,EAAE,CAAC;YAEb,uBAAuB;YACvB,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAEnC,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,sBAAsB,KAAK,EAAE,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqCG;IACH,KAAK,CAAC,aAAa,CACjB,QAAgB,EAChB,OAAsB;QAEtB,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE/B,+DAA+D;QAC/D,MAAM,QAAQ,GAAoB,OAAO,CAAC,QAAQ,IAAI,SAAS,CAAC;QAChE,MAAM,aAAa,GAAkB,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC;QACtE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,gBAAgB;QAC7D,IAAI,OAAO,GAAG,OAAO,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,gBAAgB;QACzD,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,CAAC,CAAC;QAEvD,uBAAuB;QACvB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;QACjD,CAAC;QAED,0EAA0E;QAC1E,2DAA2D;QAC3D,IAAI,QAAQ,GAA0B,IAAI,CAAC;QAC3C,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,IAAA,sBAAW,EAAC,QAAQ,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,mEAAmE,CAAC,EAAE,CAAC,CAAC;QACtF,CAAC;QAED,qBAAqB;QACrB,IAAI,IAAI,GAAW,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC;QAEjC,6BAA6B;QAC7B,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,kBAAkB,QAAQ,sBAAsB,CAAC,CAAC;QACpE,CAAC;QAED,2BAA2B;QAC3B,MAAM,KAAK,GAAwB;YACjC,mBAAmB,EAAE,YAAY;YACjC,qBAAqB,EAAE,YAAY;YACnC,oBAAoB,EAAE,YAAY;YAClC,kBAAkB,EAAE,OAAO;YAC3B,mBAAmB,EAAE,QAAQ;SAC9B,CAAC;QAEF,sCAAsC;QACtC,wEAAwE;QACxE,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,CAAC,MAAM,2BAA2B,gBAAgB,MAAM,CAAC,CAAC;YAC5F,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;YAC7D,IAAI,GAAG,UAAU,CAAC;YAClB,KAAK,CAAC,qBAAqB,GAAG,IAAI,CAAC,MAAM,CAAC;YAC1C,MAAM,gBAAgB,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,GAAG,GAAG,CAAC;YAChE,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,CAAC,MAAM,WAAW,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;QAC9F,CAAC;QAED,sCAAsC;QACtC,2CAA2C;QAC3C,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnB,OAAO,CAAC,GAAG,CAAC,2EAA2E,CAAC,CAAC;gBACzF,OAAO,GAAG,KAAK,CAAC;gBAChB,KAAK,CAAC,kBAAkB,GAAG,KAAK,CAAC;YACnC,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,CAAC,MAAM,wBAAwB,CAAC,CAAC;gBAClE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAC/C,IAAI,GAAG,SAAS,CAAC;gBACjB,KAAK,CAAC,oBAAoB,GAAG,IAAI,CAAC,MAAM,CAAC;gBACzC,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,MAAM,QAAQ,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;QAED,oEAAoE;QACpE,mFAAmF;QACnF,IAAI,QAAQ,GAAG,aAAa,CAAC;QAC7B,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,IAAI,KAAK,CAAC;QACpB,CAAC;QACD,MAAM,KAAK,GAAG,YAAY,OAAO,CAAC,WAAW,IAAI,QAAQ,EAAE,CAAC;QAE5D,yCAAyC;QACzC,uFAAuF;QACvF,MAAM,IAAI,GAAG;YACX,cAAc,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YACnD,aAAa,kBAAkB,CAAC,SAAS,CAAC,EAAE;YAC5C,WAAW,kBAAkB,CAAC,iBAAiB,CAAC,EAAE;YAClD,eAAe,kBAAkB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;SACzD,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEZ,eAAe;QACf,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,MAAM,iBAAiB,CAAC,CAAC;QAC1D,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,4BAAgB,CAAC;gBACtC,MAAM,EAAE,IAAI,CAAC,UAAU;gBACvB,GAAG,EAAE,KAAK;gBACV,IAAI,EAAE,IAAW,EAAE,sCAAsC;gBACzD,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACrC,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,CAAC,UAAU,IAAI,KAAK,wBAAwB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACxG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,0BAA0B,KAAK,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,uCAAuC;QACvC,MAAM,gBAAgB,GAAwB;YAC5C,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;YAC3B,GAAG,KAAK;SACT,CAAC;QAEF,sDAAsD;QACtD,kEAAkE;QAClE,MAAM,SAAS,GAAG,OAAO;YACvB,CAAC,CAAC,KAAK,CAAC,oBAAoB;YAC5B,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC;QAEhC,sCAAsC;QACtC,MAAM,cAAc,GAAG,IAAA,mCAAmB,EAAC;YACzC,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE;YACtC,QAAQ;YACR,aAAa;YACb,KAAK;YACL,SAAS;YACT,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,QAAQ,EAAE,gBAAgB;YAC1B,QAAQ;YACR,SAAS,EAAE,OAAO,CAAC,gBAAgB,IAAI,IAAI;SAC5C,CAAC,CAAC;QAEH,uDAAuD;QACvD,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,IAAI,cAAc,CAAC,EAAE,IAAI,EAAE,CAAC;QAEhE,0DAA0D;QAC1D,iEAAiE;QACjE,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAU,MAAM,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;YAC3F,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,2DAA2D;YAC3D,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;gBACrB,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;gBAC/D,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;oBAC5E,OAAO,CAAC,GAAG,CAAC,sBAAsB,SAAS,EAAE,CAAC,CAAC;oBAC/C,OAAO,OAAO,CAAC;gBACjB,CAAC;gBAAC,OAAO,WAAW,EAAE,CAAC;oBACrB,OAAO,CAAC,GAAG,CAAC,yDAAyD,WAAW,EAAE,CAAC,CAAC;oBACpF,OAAO;wBACL,GAAG,cAAc;wBACjB,GAAG,EAAE,SAAS;wBACd,EAAE,EAAE,SAAS;wBACb,QAAQ,EAAE;4BACR,GAAG,CAAC,cAAc,CAAC,QAAQ,IAAI,EAAE,CAAC;4BAClC,MAAM,EAAE,wBAAwB;4BAChC,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC;yBAC3B;qBACF,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,wEAAwE;YACxE,OAAO,CAAC,GAAG,CAAC,+DAA+D,KAAK,EAAE,CAAC,CAAC;YACpF,OAAO;gBACL,GAAG,cAAc;gBACjB,QAAQ,EAAE;oBACR,GAAG,CAAC,cAAc,CAAC,QAAQ,IAAI,EAAE,CAAC;oBAClC,MAAM,EAAE,uBAAuB;oBAC/B,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;iBACrB;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc;QAClB,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAO/B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CACxC,KAAK,EACL,4BAA4B,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAClE,CAAC;QAEF,OAAO,QAAQ,CAAC,QAAQ,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,WAAW,CACvB,MAAc,EACd,IAAY,EACZ,IAAa,EACb,cAAsB,kBAAkB;QAExC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;QAE7C,6DAA6D;QAC7D,MAAM,WAAW,GAA2B,EAAE,CAAC;QAC/C,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACtC,WAAW,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,IAAI,2BAAW,CAAC;YAC9B,MAAM;YACN,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAG,4BAA4B;YACjD,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,EAAG,0BAA0B;YACjG,OAAO,EAAE;gBACP,cAAc,EAAE,WAAW;gBAC3B,IAAI,EAAE,GAAG,CAAC,QAAQ;aACnB;YACD,IAAI;SACL,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,IAAI,0BAAW,CAAC;YAC7B,WAAW,EAAE;gBACX,WAAW,EAAE,IAAI,CAAC,cAAc;gBAChC,eAAe,EAAE,IAAI,CAAC,kBAAkB;aACzC;YACD,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,aAAa;YACtB,MAAM,EAAE,kBAAM;SACf,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjD,OAAO,aAAa,CAAC,OAAO,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,wBAAwB,CAAC,SAA8C,SAAS;QACpF,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE/B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CACxC,KAAK,EACL,8CAA8C,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAC3E,CAAC;QACF,OAAO,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC;IACjC,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,0BAA0B,CAC9B,SAAiB,EACjB,OAAgD;QAEhD,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE/B,MAAM,OAAO,GAA2B,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QAC9D,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YACnB,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAChC,CAAC;QACD,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;YACvB,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;QACzC,CAAC;QACD,OAAO,IAAI,CAAC,cAAc,CACxB,MAAM,EACN,6BAA6B,kBAAkB,CAAC,SAAS,CAAC,EAAE,EAC5D,OAAO,CACR,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,yBAAyB,CAAC,SAAiB,EAAE,MAAe;QAChE,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE/B,MAAM,OAAO,GAA2B,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QAC7D,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;QAC1B,CAAC;QACD,OAAO,IAAI,CAAC,cAAc,CACxB,MAAM,EACN,6BAA6B,kBAAkB,CAAC,SAAS,CAAC,EAAE,EAC5D,OAAO,CACR,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,qBAAqB,CAAC,SAAiB;QAC3C,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE/B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CACxC,KAAK,EACL,gCAAgC,SAAS,EAAE,CAC5C,CAAC;QACF,OAAO,QAAQ,CAAC,aAAa,IAAI,EAAE,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CAAC,cAAsB;QAC7C,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE/B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CACxC,KAAK,EACL,qBAAqB,cAAc,SAAS,CAC7C,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,KAAK,CAAC,aAAa,CACjB,SAAiB,EACjB,OAA2B;QAE3B,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE/B,MAAM,SAAS,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CACxC,OAAO,EACP,gBAAgB,SAAS,EAAE,EAC3B,OAAO,CACR,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,KAAK,CAAC,eAAe;QACnB,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE/B,OAAO,IAAI,CAAC,cAAc,CAAsB,KAAK,EAAE,2BAA2B,CAAC,CAAC;IACtF,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,kBAAkB,CAC9B,MAAc,EACd,IAAY,EACZ,QAAiC;QAEjC,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7E,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,mCAAmC,CAAC,CAAC;QAEhG,MAAM,MAAM,GAAuB;YACjC,MAAM;YACN,GAAG,EAAE,IAAI,CAAC,WAAW,GAAG,IAAI;YAC5B,OAAO;YACP,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,KAAK;SACf,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAA,eAAK,EAAC,MAAM,CAAC,CAAC;YACrC,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACnB,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACrC,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAExE,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;oBACnB,MAAM,IAAI,KAAK,CAAC,0BAA0B,OAAO,EAAE,CAAC,CAAC;gBACvD,CAAC;qBAAM,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;oBAC1B,MAAM,IAAI,KAAK,CAAC,sBAAsB,OAAO,EAAE,CAAC,CAAC;gBACnD,CAAC;qBAAM,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;oBAC1B,MAAM,IAAI,KAAK,CAAC,uBAAuB,OAAO,EAAE,CAAC,CAAC;gBACpD,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,KAAK,CAAC,uBAAuB,MAAM,MAAM,OAAO,EAAE,CAAC,CAAC;gBAChE,CAAC;YACH,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,cAAc,CAC1B,MAAc,EACd,IAAY,EACZ,IAAU;QAEV,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACrD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAE3D,MAAM,MAAM,GAAuB;YACjC,MAAM;YACN,GAAG,EAAE,IAAI,CAAC,WAAW,GAAG,IAAI;YAC5B,OAAO;YACP,IAAI;YACJ,OAAO,EAAE,KAAK,EAAE,oBAAoB;SACrC,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAA,eAAK,EAAC,MAAM,CAAC,CAAC;YACrC,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACnB,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACrC,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAExE,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;oBACnB,MAAM,IAAI,KAAK,CAAC,0BAA0B,OAAO,EAAE,CAAC,CAAC;gBACvD,CAAC;qBAAM,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;oBAC1B,MAAM,IAAI,KAAK,CAAC,sBAAsB,OAAO,EAAE,CAAC,CAAC;gBACnD,CAAC;qBAAM,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;oBAC1B,MAAM,IAAI,KAAK,CAAC,uBAAuB,OAAO,EAAE,CAAC,CAAC;gBACpD,CAAC;qBAAM,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;oBAC1B,sCAAsC;oBACtC,MAAM,aAAa,GAAG,IAAI,KAAK,CAAC,4BAA4B,OAAO,EAAE,CAAC,CAAC;oBACtE,aAAqB,CAAC,UAAU,GAAG,IAAI,CAAC;oBACxC,aAAqB,CAAC,UAAU,GAAG,GAAG,CAAC;oBACxC,MAAM,aAAa,CAAC;gBACtB,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,KAAK,CAAC,uBAAuB,MAAM,MAAM,OAAO,EAAE,CAAC,CAAC;gBAChE,CAAC;YACH,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,qBAAqB,CACjC,SAAiB,EACjB,OAA4B;QAE5B,gEAAgE;QAChE,MAAM,gBAAgB,GAAG;YACvB,MAAM;YACN,aAAa;YACb,QAAQ;YACR,UAAU;YACV,QAAQ;YACR,YAAY;YACZ,UAAU;YACV,aAAa;YACb,MAAM;YACN,YAAY;YACZ,cAAc;YACd,QAAQ;YACR,gBAAgB;YAChB,gBAAgB;YAChB,SAAS;YACT,eAAe;YACf,cAAc;YACd,YAAY;YACZ,YAAY;SACb,CAAC;QAEF,MAAM,aAAa,GAAwB,EAAE,CAAC;QAC9C,KAAK,MAAM,KAAK,IAAI,gBAAgB,EAAE,CAAC;YACrC,IAAI,KAAK,IAAI,OAAO,EAAE,CAAC;gBACrB,aAAa,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QAED,2EAA2E;QAC3E,MAAM,IAAI,CAAC,cAAc,CACvB,OAAO,EACP,gBAAgB,kBAAkB,CAAC,SAAS,CAAC,EAAE,EAC/C,aAAa,CACd,CAAC;QAEF,oDAAoD;QACpD,kGAAkG;QAClG,OAAO,OAAkB,CAAC;IAC5B,CAAC;CACF;AA7xBD,sCA6xBC"}
@@ -0,0 +1,251 @@
1
+ /**
2
+ * Helix Connect Platform - Shared Type Definitions
3
+ *
4
+ * This module contains canonical type definitions shared across Consumer and Producer SDKs.
5
+ * These types ensure parity between TypeScript, Python, and Go SDKs.
6
+ */
7
+ /**
8
+ * Response from listing subscription requests.
9
+ */
10
+ export interface SubscriptionRequestsResponse {
11
+ /** Array of subscription requests */
12
+ requests: SubscriptionRequest[];
13
+ /** Total count of requests matching the filter */
14
+ count: number;
15
+ }
16
+ /**
17
+ * Subscription request object.
18
+ * Represents a consumer's request to subscribe to a producer's datasets.
19
+ */
20
+ export interface SubscriptionRequest {
21
+ /** Unique identifier (MongoDB ObjectId) */
22
+ _id: string;
23
+ /** Human-readable request ID */
24
+ request_id: string;
25
+ /** Producer's customer ID */
26
+ producer_id: string;
27
+ /** Producer's display name */
28
+ producer_name: string;
29
+ /** Consumer's customer ID */
30
+ consumer_id: string;
31
+ /** Consumer's display name */
32
+ consumer_name: string;
33
+ /** Consumer's email address */
34
+ consumer_email: string;
35
+ /** Specific dataset ID (if requesting access to a single dataset) */
36
+ dataset_id?: string;
37
+ /** Requested subscription tier */
38
+ tier: SubscriptionTier;
39
+ /** Current request status */
40
+ status: SubscriptionRequestStatus;
41
+ /** Optional message from consumer to producer */
42
+ message?: string;
43
+ /** When the request was approved */
44
+ approved_at?: string;
45
+ /** Who approved the request */
46
+ approved_by?: string;
47
+ /** When the request was rejected */
48
+ rejected_at?: string;
49
+ /** Reason for rejection */
50
+ rejection_reason?: string;
51
+ /** Resulting subscription ID (if approved) */
52
+ subscription_id?: string;
53
+ /** When the request was created */
54
+ created_at: string;
55
+ /** When the request was last updated */
56
+ updated_at: string;
57
+ }
58
+ /**
59
+ * Input for updating dataset metadata via PATCH /v1/datasets/{id}.
60
+ * All fields are optional for PATCH semantics.
61
+ */
62
+ export interface DatasetUpdateInput {
63
+ /** Dataset display name */
64
+ name?: string;
65
+ /** Dataset description */
66
+ description?: string;
67
+ /** Dataset category classification */
68
+ category?: DatasetCategory;
69
+ /** Data update frequency */
70
+ data_freshness?: DataFreshness;
71
+ /** Visibility level */
72
+ visibility?: DatasetVisibility;
73
+ /** Dataset status (active/inactive) */
74
+ status?: DatasetStatus;
75
+ /** Access tier for pricing/permissions */
76
+ access_tier?: AccessTier;
77
+ /** Version identifier */
78
+ version?: string;
79
+ /** Release notes for this version */
80
+ version_notes?: string;
81
+ /** Array of tags */
82
+ tags?: string[];
83
+ /** JSON schema of the dataset structure */
84
+ schema?: Record<string, unknown>;
85
+ /** Custom metadata */
86
+ metadata?: Record<string, unknown>;
87
+ }
88
+ /**
89
+ * Dataset information within a subscriber record.
90
+ */
91
+ export interface SubscriberDataset {
92
+ /** Subscription ID for this dataset */
93
+ subscription_id: string;
94
+ /** Dataset ID */
95
+ dataset_id: string;
96
+ /** Dataset name */
97
+ dataset_name: string;
98
+ /** Subscription tier */
99
+ tier: SubscriptionTier;
100
+ /** Subscription status */
101
+ status: SubscriptionStatus;
102
+ /** When this subscription was created */
103
+ created_at: string;
104
+ }
105
+ /**
106
+ * Represents a subscriber (consumer) with their subscription details.
107
+ */
108
+ export interface Subscriber {
109
+ /** Consumer's customer ID */
110
+ consumer_id: string;
111
+ /** Consumer's display name */
112
+ consumer_name: string;
113
+ /** Consumer's email address */
114
+ consumer_email: string;
115
+ /** Number of active subscriptions */
116
+ subscription_count: number;
117
+ /** List of datasets this consumer is subscribed to */
118
+ datasets: SubscriberDataset[];
119
+ /** When this consumer first subscribed */
120
+ first_subscribed_at: string;
121
+ /** When this consumer last subscribed to a new dataset */
122
+ last_subscribed_at: string;
123
+ }
124
+ /**
125
+ * Response from listing producer's subscribers.
126
+ */
127
+ export interface SubscribersResponse {
128
+ /** Array of subscribers */
129
+ subscribers: Subscriber[];
130
+ /** Total count of subscribers */
131
+ count: number;
132
+ }
133
+ /**
134
+ * Dataset category classification.
135
+ */
136
+ export type DatasetCategory = 'phone-numbers' | 'contact-data' | 'business-listings' | 'demographic-data' | 'geographic-data' | 'financial-data' | 'telecommunications' | 'marketing' | 'sales' | 'analytics' | 'general' | 'test';
137
+ /**
138
+ * Data freshness/update frequency.
139
+ */
140
+ export type DataFreshness = '2x-per-day' | '4x-per-day' | 'hourly' | 'daily' | 'weekly' | 'monthly' | 'quarterly' | 'yearly' | 'once' | 'on-demand';
141
+ /**
142
+ * Dataset visibility level.
143
+ */
144
+ export type DatasetVisibility = 'public' | 'private' | 'restricted';
145
+ /**
146
+ * Dataset status.
147
+ */
148
+ export type DatasetStatus = 'active' | 'inactive';
149
+ /**
150
+ * Dataset access tier for pricing/permissions.
151
+ */
152
+ export type AccessTier = 'free' | 'premium' | 'enterprise';
153
+ /**
154
+ * Subscription tier for access levels.
155
+ */
156
+ export type SubscriptionTier = 'free' | 'basic' | 'premium' | 'professional' | 'enterprise';
157
+ /**
158
+ * Subscription request status.
159
+ */
160
+ export type SubscriptionRequestStatus = 'pending' | 'approved' | 'rejected' | 'cancelled';
161
+ /**
162
+ * Active subscription status.
163
+ */
164
+ export type SubscriptionStatus = 'active' | 'inactive' | 'suspended' | 'cancelled';
165
+ /**
166
+ * File format for dataset content.
167
+ */
168
+ export type FileFormat = 'json' | 'csv' | 'parquet' | 'avro' | 'xml' | 'txt' | 'other';
169
+ /**
170
+ * Represents an active subscription between a consumer and a producer's dataset.
171
+ *
172
+ * A subscription is created when a producer approves a consumer's subscription request.
173
+ * It grants the consumer access to download datasets and receive upload notifications.
174
+ */
175
+ export interface Subscription {
176
+ /** Unique subscription identifier (MongoDB ObjectId format) */
177
+ _id: string;
178
+ /** Alias for _id */
179
+ id?: string;
180
+ /** Human-readable subscription identifier */
181
+ subscription_id?: string;
182
+ /** Producer's customer ID */
183
+ producer_id: string;
184
+ /** Producer's display name */
185
+ producer_name?: string;
186
+ /** Consumer's customer ID (subscriber) */
187
+ consumer_id: string;
188
+ /** Consumer's display name */
189
+ consumer_name?: string;
190
+ /** Consumer's email address */
191
+ consumer_email?: string;
192
+ /** Specific dataset ID (if subscription is for a single dataset) */
193
+ dataset_id?: string;
194
+ /** Dataset name (if subscription is for a single dataset) */
195
+ dataset_name?: string;
196
+ /** Subscription tier level */
197
+ tier: SubscriptionTier;
198
+ /** Current subscription status */
199
+ status: SubscriptionStatus;
200
+ /** SQS queue URL for receiving upload notifications (per-consumer queue) */
201
+ sqs_queue_url?: string;
202
+ /** SNS topic ARN for this subscription */
203
+ sns_topic_arn?: string;
204
+ /** SNS subscription ARN */
205
+ sns_subscription_arn?: string;
206
+ /** Original subscription request ID that created this subscription */
207
+ request_id?: string;
208
+ /** When the subscription was created */
209
+ created_at: string;
210
+ /** Who created the subscription */
211
+ created_by?: string;
212
+ /** When the subscription was last updated */
213
+ updated_at?: string;
214
+ /** Who last updated the subscription */
215
+ updated_by?: string;
216
+ /** When the subscription expires (if applicable) */
217
+ expires_at?: string;
218
+ /** When the subscription was cancelled (if applicable) */
219
+ cancelled_at?: string;
220
+ /** Reason for cancellation (if applicable) */
221
+ cancellation_reason?: string;
222
+ }
223
+ /**
224
+ * Dataset metadata fields that are shared between Consumer and Producer views.
225
+ * This ensures type consistency across SDK boundaries.
226
+ */
227
+ export interface DatasetMetadataContent {
228
+ /** Original uncompressed size in bytes */
229
+ original_size_bytes?: number;
230
+ /** Compressed size in bytes (if compression enabled) */
231
+ compressed_size_bytes?: number;
232
+ /** Encrypted size in bytes (if encryption enabled) */
233
+ encrypted_size_bytes?: number;
234
+ /** Whether gzip compression was applied */
235
+ compression_enabled?: boolean;
236
+ /** Whether KMS envelope encryption was applied */
237
+ encryption_enabled?: boolean;
238
+ /** File format of the dataset content */
239
+ file_format?: FileFormat;
240
+ /** Character encoding (e.g., 'utf-8') */
241
+ encoding?: string;
242
+ /** JSON schema of the dataset (if analyzed) */
243
+ schema?: Record<string, unknown>;
244
+ /** Field emptiness statistics (if analyzed) */
245
+ field_emptiness?: Record<string, unknown>;
246
+ /** Number of records in the dataset */
247
+ record_count?: number;
248
+ /** Number of analysis errors encountered */
249
+ analysis_errors?: number;
250
+ }
251
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ /**
3
+ * Helix Connect Platform - Shared Type Definitions
4
+ *
5
+ * This module contains canonical type definitions shared across Consumer and Producer SDKs.
6
+ * These types ensure parity between TypeScript, Python, and Go SDKs.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@helix-tools/sdk-typescript",
3
- "version": "1.2.18",
3
+ "version": "1.2.19",
4
4
  "description": "TypeScript/Node.js SDK for Helix Connect Platform",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -12,7 +12,7 @@
12
12
  "scripts": {
13
13
  "build": "tsc",
14
14
  "prepublishOnly": "npm run build",
15
- "test": "jest passWithNoTests",
15
+ "test": "jest --passWithNoTests",
16
16
  "test:analyze": "jest test/analyze.test.ts",
17
17
  "test:legacy": "ts-node test/consumer-test.ts"
18
18
  },