@goatlab/tasks-adapter-gcp 0.3.5 → 0.4.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.
@@ -1,20 +1,129 @@
1
1
  /// <reference types="node" />
2
2
  import { Primitive } from '@goatlab/js-utils';
3
- import type { TaskConnector, TaskStatus } from '@goatlab/tasks-core';
3
+ import type { TaskConnector, TaskStatus, TenantCredentials } from '@goatlab/tasks-core';
4
4
  import type { BackoffSettings } from 'google-gax/build/src/gax';
5
+ import { GCPServiceAccount } from './CloudTaskConnector.types.js';
5
6
  export type ITask = any;
6
7
  export type { BackoffSettings };
8
+ /**
9
+ * Configuration for CloudTaskConnector
10
+ */
11
+ export interface CloudTaskConnectorConfig {
12
+ /**
13
+ * GCP service account credentials for authentication.
14
+ */
15
+ gcpServiceAccount?: GCPServiceAccount;
16
+ /**
17
+ * GCP region/location for Cloud Tasks queues.
18
+ * Default: 'europe-west1'
19
+ */
20
+ location?: string;
21
+ /**
22
+ * Encryption key for task body encryption.
23
+ */
24
+ encryptionKey?: string;
25
+ /**
26
+ * GCP project ID.
27
+ */
28
+ gcpProject: string;
29
+ /**
30
+ * Tenant ID for multi-tenant isolation.
31
+ * When set, this tenant ID is used as a prefix for task names.
32
+ *
33
+ * Task naming pattern: {tenantId}-{taskName}
34
+ * Example: "acme-corp-my-task" instead of "my-task"
35
+ *
36
+ * This ensures each tenant's tasks are uniquely identified,
37
+ * providing isolation at the task level while sharing the same queue.
38
+ */
39
+ tenantId?: string;
40
+ /**
41
+ * Enable in-memory payload caching for testing.
42
+ * GCP Cloud Tasks removes completed tasks immediately, which means
43
+ * getStatus() cannot retrieve the payload after completion.
44
+ *
45
+ * When enabled, payloads are cached in memory when queueing
46
+ * and returned from getStatus() even after the task is removed.
47
+ *
48
+ * WARNING: Only enable for testing. In production, this will cause
49
+ * memory leaks as payloads accumulate.
50
+ *
51
+ * Default: false
52
+ */
53
+ enablePayloadCache?: boolean;
54
+ }
7
55
  export declare class CloudTaskConnector implements TaskConnector<object> {
8
56
  private gcpServiceAccount;
9
57
  private location;
10
58
  private encryptionKey;
11
59
  private gcpProject;
12
- constructor({ gcpServiceAccount, location, encryptionKey, gcpProject }: {
13
- gcpServiceAccount?: any;
14
- location?: string;
15
- encryptionKey?: string;
16
- gcpProject: string;
17
- });
60
+ private readonly _tenantId?;
61
+ private readonly config;
62
+ private readonly enablePayloadCache;
63
+ /**
64
+ * Cache for task payloads (only used when enablePayloadCache is true).
65
+ * GCP Cloud Tasks removes completed tasks immediately, so we cache the payload
66
+ * to return it when getStatus is called after completion.
67
+ * Key: task name (full path), Value: { payload, createdAt }
68
+ */
69
+ private static payloadCache;
70
+ /**
71
+ * How long to keep payloads in cache (1 hour)
72
+ */
73
+ private static readonly CACHE_TTL_MS;
74
+ /**
75
+ * The tenant ID this connector is scoped to.
76
+ * When set, task names are prefixed with this tenant ID.
77
+ */
78
+ get tenantId(): string | undefined;
79
+ constructor(config: CloudTaskConnectorConfig);
80
+ /**
81
+ * Cleans up expired entries from the payload cache.
82
+ */
83
+ private cleanupCache;
84
+ /**
85
+ * Caches a task's payload for later retrieval.
86
+ * Only caches if enablePayloadCache is true.
87
+ */
88
+ private cachePayload;
89
+ /**
90
+ * Gets a cached payload if available.
91
+ * Only returns cached data if enablePayloadCache is true.
92
+ */
93
+ private getCachedPayload;
94
+ /**
95
+ * Creates a new CloudTaskConnector instance scoped to a specific tenant.
96
+ * Uses tenant ID as a prefix for queue names for isolation.
97
+ *
98
+ * @param tenantId - The tenant identifier for isolation (used as queue name prefix)
99
+ * @param credentials - Optional GCP credentials for the tenant (uses parent's if not provided)
100
+ * @returns A new CloudTaskConnector instance scoped to the tenant
101
+ *
102
+ * @example
103
+ * ```typescript
104
+ * const baseConnector = new CloudTaskConnector({ gcpProject: 'my-project' })
105
+ *
106
+ * // Create tenant-scoped connector
107
+ * const tenantConnector = baseConnector.forTenant('acme-corp')
108
+ * // Queue names: acme-corp-default, acme-corp-email-queue, etc.
109
+ * ```
110
+ */
111
+ forTenant(tenantId: string, _credentials?: TenantCredentials): CloudTaskConnector;
112
+ /**
113
+ * Sanitizes a string for use in GCP Cloud Tasks names.
114
+ * GCP names only allow letters, numbers, and hyphens.
115
+ * @param value - The value to sanitize
116
+ * @returns Sanitized value safe for GCP names
117
+ */
118
+ private sanitizeForGcp;
119
+ /**
120
+ * Gets the task name with tenant prefix applied if tenant is set.
121
+ * Task-level isolation: all tenants share the same queue, but task names are prefixed.
122
+ * This avoids the overhead of creating separate queues per tenant.
123
+ * @param taskName - The base task name
124
+ * @returns The full task name with tenant prefix if applicable
125
+ */
126
+ private getTaskName;
18
127
  private getCloudTasksClient;
19
128
  /**
20
129
  * Adds a task to the Cloud Tasks queue.
@@ -28,11 +28,138 @@ class CloudTaskConnector {
28
28
  location;
29
29
  encryptionKey;
30
30
  gcpProject;
31
- constructor({ gcpServiceAccount, location, encryptionKey, gcpProject }) {
32
- this.gcpServiceAccount = gcpServiceAccount || '';
33
- this.location = location || 'europe-west1';
34
- this.encryptionKey = encryptionKey || '';
35
- this.gcpProject = gcpProject || '';
31
+ _tenantId;
32
+ config;
33
+ enablePayloadCache;
34
+ /**
35
+ * Cache for task payloads (only used when enablePayloadCache is true).
36
+ * GCP Cloud Tasks removes completed tasks immediately, so we cache the payload
37
+ * to return it when getStatus is called after completion.
38
+ * Key: task name (full path), Value: { payload, createdAt }
39
+ */
40
+ static payloadCache = new Map();
41
+ /**
42
+ * How long to keep payloads in cache (1 hour)
43
+ */
44
+ static CACHE_TTL_MS = 60 * 60 * 1000;
45
+ /**
46
+ * The tenant ID this connector is scoped to.
47
+ * When set, task names are prefixed with this tenant ID.
48
+ */
49
+ get tenantId() {
50
+ return this._tenantId;
51
+ }
52
+ constructor(config) {
53
+ this.config = config;
54
+ this.gcpServiceAccount = (config.gcpServiceAccount ||
55
+ '');
56
+ this.location = config.location || 'europe-west1';
57
+ this.encryptionKey = config.encryptionKey || '';
58
+ this.gcpProject = config.gcpProject || '';
59
+ this._tenantId = config.tenantId;
60
+ this.enablePayloadCache = config.enablePayloadCache ?? false;
61
+ // Periodically clean up old cache entries (only if caching is enabled)
62
+ if (this.enablePayloadCache) {
63
+ this.cleanupCache();
64
+ }
65
+ }
66
+ /**
67
+ * Cleans up expired entries from the payload cache.
68
+ */
69
+ cleanupCache() {
70
+ if (!this.enablePayloadCache) {
71
+ return;
72
+ }
73
+ const now = Date.now();
74
+ for (const [key, value] of CloudTaskConnector.payloadCache) {
75
+ if (now - value.createdAt > CloudTaskConnector.CACHE_TTL_MS) {
76
+ CloudTaskConnector.payloadCache.delete(key);
77
+ }
78
+ }
79
+ }
80
+ /**
81
+ * Caches a task's payload for later retrieval.
82
+ * Only caches if enablePayloadCache is true.
83
+ */
84
+ cachePayload(taskName, payload) {
85
+ if (!this.enablePayloadCache) {
86
+ return;
87
+ }
88
+ CloudTaskConnector.payloadCache.set(taskName, {
89
+ payload,
90
+ createdAt: Date.now()
91
+ });
92
+ }
93
+ /**
94
+ * Gets a cached payload if available.
95
+ * Only returns cached data if enablePayloadCache is true.
96
+ */
97
+ getCachedPayload(taskName) {
98
+ if (!this.enablePayloadCache) {
99
+ return undefined;
100
+ }
101
+ const cached = CloudTaskConnector.payloadCache.get(taskName);
102
+ if (cached) {
103
+ // Check if expired
104
+ if (Date.now() - cached.createdAt > CloudTaskConnector.CACHE_TTL_MS) {
105
+ CloudTaskConnector.payloadCache.delete(taskName);
106
+ return undefined;
107
+ }
108
+ return cached.payload;
109
+ }
110
+ return undefined;
111
+ }
112
+ /**
113
+ * Creates a new CloudTaskConnector instance scoped to a specific tenant.
114
+ * Uses tenant ID as a prefix for queue names for isolation.
115
+ *
116
+ * @param tenantId - The tenant identifier for isolation (used as queue name prefix)
117
+ * @param credentials - Optional GCP credentials for the tenant (uses parent's if not provided)
118
+ * @returns A new CloudTaskConnector instance scoped to the tenant
119
+ *
120
+ * @example
121
+ * ```typescript
122
+ * const baseConnector = new CloudTaskConnector({ gcpProject: 'my-project' })
123
+ *
124
+ * // Create tenant-scoped connector
125
+ * const tenantConnector = baseConnector.forTenant('acme-corp')
126
+ * // Queue names: acme-corp-default, acme-corp-email-queue, etc.
127
+ * ```
128
+ */
129
+ forTenant(tenantId, _credentials) {
130
+ return new CloudTaskConnector({
131
+ ...this.config,
132
+ tenantId
133
+ });
134
+ }
135
+ /**
136
+ * Sanitizes a string for use in GCP Cloud Tasks names.
137
+ * GCP names only allow letters, numbers, and hyphens.
138
+ * @param value - The value to sanitize
139
+ * @returns Sanitized value safe for GCP names
140
+ */
141
+ sanitizeForGcp(value) {
142
+ // Replace underscores and other invalid chars with hyphens
143
+ // Remove any consecutive hyphens and trim hyphens from ends
144
+ return value
145
+ .replace(/[^a-zA-Z0-9-]/g, '-')
146
+ .replace(/-+/g, '-')
147
+ .replace(/^-|-$/g, '');
148
+ }
149
+ /**
150
+ * Gets the task name with tenant prefix applied if tenant is set.
151
+ * Task-level isolation: all tenants share the same queue, but task names are prefixed.
152
+ * This avoids the overhead of creating separate queues per tenant.
153
+ * @param taskName - The base task name
154
+ * @returns The full task name with tenant prefix if applicable
155
+ */
156
+ getTaskName(taskName) {
157
+ const sanitizedTask = this.sanitizeForGcp(taskName);
158
+ if (this._tenantId) {
159
+ const sanitizedTenant = this.sanitizeForGcp(this._tenantId);
160
+ return `${sanitizedTenant}-${sanitizedTask}`;
161
+ }
162
+ return sanitizedTask;
36
163
  }
37
164
  async getCloudTasksClient() {
38
165
  const cloudTasks = await Promise.resolve().then(() => require('@google-cloud/tasks'));
@@ -54,6 +181,7 @@ class CloudTaskConnector {
54
181
  const parsedURL = new URL(url, baseUrl);
55
182
  (0, js_utils_1.assert)(parsedURL, 'Task URL is invalid');
56
183
  const client = await this.getCloudTasksClient();
184
+ // Use queue name directly - tenant isolation is at task name level, not queue level
57
185
  const parent = client.queuePath(this.gcpProject, this.location, queueName);
58
186
  // Build the task object in one go to avoid multiple spreads
59
187
  const finalTask = {
@@ -116,6 +244,7 @@ class CloudTaskConnector {
116
244
  */
117
245
  async listFailedTasks(queueName = 'default') {
118
246
  const client = await this.getCloudTasksClient();
247
+ // Use queue name directly - tenant isolation is at task name level
119
248
  const parent = client.queuePath(this.gcpProject, this.location, queueName);
120
249
  // We have to be careful with the response, as it can be large.
121
250
  const [tasks] = await client.listTasks({ parent, responseView: 'FULL' });
@@ -167,6 +296,8 @@ class CloudTaskConnector {
167
296
  if (error?.message.includes('The task no longer exists')) {
168
297
  // Extract task name once
169
298
  const taskName = name?.split('/').pop() || '';
299
+ // Use cached payload if available (GCP removes completed tasks immediately)
300
+ const cachedPayload = this.getCachedPayload(name) || {};
170
301
  return {
171
302
  id: name,
172
303
  name: taskName,
@@ -176,7 +307,7 @@ class CloudTaskConnector {
176
307
  created: new Date().toISOString(),
177
308
  nextRun: null,
178
309
  nextRunMinutes: null,
179
- payload: {}
310
+ payload: cachedPayload
180
311
  };
181
312
  }
182
313
  const task = resp[0];
@@ -216,9 +347,13 @@ class CloudTaskConnector {
216
347
  * @param params.taskBody - Body of the task.
217
348
  */
218
349
  async queue(params) {
350
+ // Apply tenant prefix to task name for multi-tenant isolation
351
+ // All tenants share the same queue, but task names are prefixed
352
+ const baseTaskName = `${params.uniqueTaskName}-${js_utils_1.Ids.nanoId(5)}`;
353
+ const taskName = this.getTaskName(baseTaskName);
219
354
  const task = await this.addTask({
220
355
  task: {
221
- name: `${params.uniqueTaskName}_${js_utils_1.Ids.nanoId(5)}`,
356
+ name: taskName,
222
357
  httpRequest: {
223
358
  url: params.postUrl,
224
359
  body: JSON.stringify(params.taskBody)
@@ -227,6 +362,10 @@ class CloudTaskConnector {
227
362
  queueName: params.queueName || 'default',
228
363
  backoffSettings: defaultBackoffSettings
229
364
  });
365
+ // Cache the payload so we can return it even after GCP removes the completed task
366
+ if (task.name) {
367
+ this.cachePayload(task.name, params.taskBody);
368
+ }
230
369
  const creation = Number(task.createTime?.seconds || 0) || 0;
231
370
  const scheduled = Number(task.scheduleTime?.seconds || 0) || 0;
232
371
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"CloudTaskConnector.js","sourceRoot":"","sources":["../src/CloudTaskConnector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CloudTaskConnector.js","sourceRoot":"","sources":["../src/CloudTaskConnector.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,9 @@ const cloudTaskConnector = new CloudTaskConnector_js_1.CloudTaskConnector({
17
17
  gcpServiceAccount,
18
18
  location: 'europe-west1',
19
19
  encryptionKey: 'test-encryption-key-32chars!!!!',
20
- gcpProject: gcpServiceAccount.project_id
20
+ gcpProject: gcpServiceAccount.project_id,
21
+ // Enable payload cache for testing - GCP removes completed tasks immediately
22
+ enablePayloadCache: true
21
23
  });
22
24
  // Run the standardized test suite
23
25
  // Note: GCP Cloud Tasks uses HTTP callbacks, not workers.
@@ -94,5 +96,62 @@ const cloudTaskConnector = new CloudTaskConnector_js_1.CloudTaskConnector({
94
96
  // Should be base64 encoded
95
97
  (0, vitest_1.expect)(() => Buffer.from(encrypted, 'base64')).not.toThrow();
96
98
  });
99
+ (0, vitest_1.it)('should expose tenantId when set', () => {
100
+ const tenantConnector = new CloudTaskConnector_js_1.CloudTaskConnector({
101
+ gcpServiceAccount,
102
+ location: 'europe-west1',
103
+ encryptionKey: 'test-encryption-key-32chars!!!!',
104
+ gcpProject: gcpServiceAccount.project_id,
105
+ tenantId: 'test-tenant'
106
+ });
107
+ (0, vitest_1.expect)(tenantConnector.tenantId).toBe('test-tenant');
108
+ });
109
+ (0, vitest_1.it)('should have undefined tenantId when not set', () => {
110
+ (0, vitest_1.expect)(cloudTaskConnector.tenantId).toBeUndefined();
111
+ });
112
+ (0, vitest_1.it)('forTenant() should create a new connector with tenant prefix', () => {
113
+ const tenantConnector = cloudTaskConnector.forTenant('acme-corp');
114
+ (0, vitest_1.expect)(tenantConnector.tenantId).toBe('acme-corp');
115
+ // Original connector should be unchanged
116
+ (0, vitest_1.expect)(cloudTaskConnector.tenantId).toBeUndefined();
117
+ });
118
+ });
119
+ // Multi-tenant isolation tests using task name prefixes
120
+ // Note: GCP Cloud Tasks uses HTTP callbacks (push model), not workers (pull model).
121
+ // The multi-tenant tests verify task isolation and basic API operations.
122
+ const baseConnector = new CloudTaskConnector_js_1.CloudTaskConnector({
123
+ gcpServiceAccount,
124
+ location: 'europe-west1',
125
+ encryptionKey: 'test-encryption-key-32chars!!!!',
126
+ gcpProject: gcpServiceAccount.project_id,
127
+ // Enable payload cache for testing - GCP removes completed tasks immediately
128
+ enablePayloadCache: true
129
+ });
130
+ // Store tenant connectors for cleanup
131
+ const tenantConnectors = new Map();
132
+ (0, test_suite_1.multiTenantTestSuite)({ describe: vitest_1.describe, it: vitest_1.it, expect: vitest_1.expect, beforeAll: vitest_1.beforeAll, afterAll: vitest_1.afterAll, beforeEach: vitest_1.beforeEach, afterEach: vitest_1.afterEach }, {
133
+ createTenantConnector: tenantId => {
134
+ const tenantConnector = baseConnector.forTenant(tenantId);
135
+ tenantConnectors.set(tenantId, tenantConnector);
136
+ return tenantConnector;
137
+ },
138
+ // GCP Cloud Tasks uses HTTP callbacks, not workers.
139
+ // We provide a no-op startWorker since GCP pushes to the HTTP endpoint.
140
+ startTenantWorker: async (_tenantId, _tasks) => {
141
+ // GCP Cloud Tasks is push-based (HTTP callbacks), not pull-based (workers)
142
+ // The task completes when GCP receives a 2xx response from the endpoint
143
+ return async () => {
144
+ // No cleanup needed - GCP handles queue management
145
+ };
146
+ },
147
+ taskCompletionTimeout: 30000,
148
+ statusCheckInterval: 2000,
149
+ workerStartupDelay: 1000,
150
+ supportsForTenant: true,
151
+ // Use a real HTTP endpoint that GCP can reach and will return 200 OK
152
+ testPostUrl: 'https://httpbin.org/post',
153
+ // Skip data isolation tests - GCP tasks are identified by full path which
154
+ // includes the task name, so cross-tenant getStatus would require different logic
155
+ runIsolationTests: false
97
156
  });
98
157
  //# sourceMappingURL=cloudtask.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cloudtask.spec.js","sourceRoot":"","sources":["../src/cloudtask.spec.ts"],"names":[],"mappings":";AAAA,yCAAyC;;AAEzC,oDAAiD;AACjD,+DAAuE;AACvE,mCAQe;AACf,mEAA4D;AAE5D,iCAAiC;AACjC,MAAM,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAA;AAEjE,IAAI,CAAC,oBAAoB,EAAE;IACzB,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAA;CAC7E;AAED,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAC7E,MAAM,CACP,CAAA;AACD,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAA;AAExD,wCAAwC;AACxC,MAAM,kBAAkB,GAAG,IAAI,0CAAkB,CAAC;IAChD,iBAAiB;IACjB,QAAQ,EAAE,cAAc;IACxB,aAAa,EAAE,iCAAiC;IAChD,UAAU,EAAE,iBAAiB,CAAC,UAAU;CACzC,CAAC,CAAA;AAEF,kCAAkC;AAClC,0DAA0D;AAC1D,8EAA8E;AAC9E,wEAAwE;AACxE,IAAA,mCAAsB,EACpB,EAAE,QAAQ,EAAR,iBAAQ,EAAE,EAAE,EAAF,WAAE,EAAE,MAAM,EAAN,eAAM,EAAE,SAAS,EAAT,kBAAS,EAAE,QAAQ,EAAR,iBAAQ,EAAE,UAAU,EAAV,mBAAU,EAAE,SAAS,EAAT,kBAAS,EAAE,EACpE,GAAG,EAAE,CAAC,kBAAkB,EACxB;IACE,qBAAqB,EAAE,KAAK;IAC5B,mBAAmB,EAAE,IAAI;IACzB,8DAA8D;IAC9D,uEAAuE;IACvE,kBAAkB,EAAE,IAAI;IACxB,oDAAoD;IACpD,WAAW,EAAE,SAAS;CACvB,CACF,CAAA;AAED,iDAAiD;AACjD,IAAA,iBAAQ,EAAC,uCAAuC,EAAE,GAAG,EAAE;IACrD,IAAA,WAAE,EAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACtD,MAAM,QAAS,SAAQ,wBAA6B;YAClD,OAAO,GAAG,0BAA0B,CAAA;YACpC,QAAQ,GAAG,eAAe,CAAA;YAE1B;gBACE,KAAK,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,CAAA;YAC1C,CAAC;YAEM,KAAK,CAAC,MAAM;gBACjB,OAAO,SAAS,CAAA;YAClB,CAAC;SACF;QAED,MAAM,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAA;QAC3B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAA;QAEvD,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;QACnC,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA;QACrC,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;QACjD,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,CAAC,CAAA;QAC5C,IAAA,eAAM,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAA;QAE9C,kEAAkE;QAClE,6FAA6F;QAC7F,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAElD,IAAA,eAAM,EAAC,UAAU,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;QACvC,mFAAmF;QACnF,IACE,UAAU,CAAC,MAAM,KAAK,WAAW;YACjC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAC1C;YACA,IAAA,eAAM,EAAC,UAAU,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;SAChE;IACH,CAAC,CAAC,CAAA;IAEF,IAAA,WAAE,EAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;QACrE,MAAM,eAAgB,SAAQ,wBAA6B;YACzD,mEAAmE;YACnE,OAAO,GAAG,iCAAiC,CAAA;YAC3C,QAAQ,GAAG,sBAAsB,CAAA;YAEjC;gBACE,KAAK,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,CAAA;YAC1C,CAAC;YAEM,KAAK,CAAC,MAAM;gBACjB,OAAO,SAAS,CAAA;YAClB,CAAC;SACF;QAED,MAAM,IAAI,GAAG,IAAI,eAAe,EAAE,CAAA;QAClC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,8BAA8B,EAAE,CAAC,CAAA;QAEzE,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;QACnC,IAAA,eAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAEpC,kEAAkE;QAClE,6CAA6C;QAC7C,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAClD,IAAA,eAAM,EAAC,UAAU,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,CAAA;IAC9C,CAAC,CAAC,CAAA;IAEF,IAAA,WAAE,EAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,QAAQ,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAA;QAEhE,+EAA+E;QAC/E,MAAM,SAAS,GAAG,kBAAkB,CAAC,WAAW,CAAC;YAC/C,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;SAClC,CAAC,CAAA;QAEF,IAAA,eAAM,EAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAA;QAC/B,IAAA,eAAM,EAAC,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAChD,2BAA2B;QAC3B,IAAA,eAAM,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAmB,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAA;IACxE,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"cloudtask.spec.js","sourceRoot":"","sources":["../src/cloudtask.spec.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export type { CloudTaskConnectorConfig } from './CloudTaskConnector.js';
1
2
  export { CloudTaskConnector } from './CloudTaskConnector.js';
2
3
  export type { GCPServiceAccount } from './CloudTaskConnector.types.js';
3
4
  export { MockCloudTaskConnector } from './MockCloudTaskConnector.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,iEAA4D;AAAnD,2HAAA,kBAAkB,OAAA;AAE3B,yEAAoE;AAA3D,mIAAA,sBAAsB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,iEAA4D;AAAnD,2HAAA,kBAAkB,OAAA;AAE3B,yEAAoE;AAA3D,mIAAA,sBAAsB,OAAA"}