@dataformer/env-service 2.4.0 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,32 @@
1
1
  # @dataformer/env-service
2
2
 
3
+ ## 3.0.1
4
+
5
+ ### Patch Changes
6
+
7
+ - Add @dataformer/confluence-client - Confluence REST API v2 client
8
+
9
+ New package with:
10
+
11
+ - Page CRUD operations (create, read, update, delete)
12
+ - Space listing and discovery methods
13
+ - Default space configuration support
14
+ - Atlas Document Format (ADF) body format support
15
+ - Cursor-based pagination for listing operations
16
+
17
+ Also updates @dataformer/env-service with Confluence configuration methods:
18
+
19
+ - setConfluenceApiToken
20
+ - setConfluenceApiBaseUrl
21
+ - setConfluenceUserEmail
22
+ - setConfluenceDefaultSpaceId
23
+
24
+ ## 3.0.0
25
+
26
+ ### Major Changes
27
+
28
+ - change setSearchEngineId method to setCustomSearchEngineId
29
+
3
30
  ## 2.4.0
4
31
 
5
32
  ### Minor Changes
package/dist/index.d.ts CHANGED
@@ -2,7 +2,7 @@ declare const askQuestion: (question: string, defaultValue?: string) => Promise<
2
2
  declare function obfuscateCred(cred: string | null): string;
3
3
  declare function getEnvVar(baseSecretKey: string): Promise<string | null>;
4
4
  declare function getCustomSearchApiKey(): Promise<string>;
5
- declare function getSearchEngineId(): Promise<string>;
5
+ declare function getCustomSearchEngineId(): Promise<string>;
6
6
  declare function getGcpProjectId(): Promise<string>;
7
7
  declare function setEnvVar(baseSecretKey: string, value: string): Promise<boolean>;
8
8
  declare const setLogToConsole: () => Promise<void>;
@@ -20,9 +20,14 @@ declare const setBigtableProjectId: () => Promise<void>;
20
20
  declare const setJiraApiToken: () => Promise<void>;
21
21
  declare const setJiraApiBaseUrl: () => Promise<void>;
22
22
  declare const setJiraUserEmail: () => Promise<void>;
23
+ declare const setConfluenceApiToken: () => Promise<void>;
24
+ declare const setConfluenceApiBaseUrl: () => Promise<void>;
25
+ declare const setConfluenceUserEmail: () => Promise<void>;
26
+ declare const setConfluenceDefaultSpaceId: () => Promise<void>;
23
27
  declare const setGeminiApiKey: () => Promise<void>;
24
28
  declare const setNpmToken: () => Promise<void>;
25
29
  declare const setCustomSearchApiKey: () => Promise<void>;
30
+ declare const setCustomSearchEngineId: () => Promise<void>;
26
31
  declare const setFirestoreProjectId: () => Promise<void>;
27
32
  declare const getLogToConsole: () => Promise<string | null>;
28
33
  declare const getPostgresUser: () => Promise<string | null>;
@@ -40,10 +45,14 @@ declare const getFirestoreProjectId: () => Promise<string | null>;
40
45
  declare const getJiraApiToken: () => Promise<string | null>;
41
46
  declare const getJiraApiBaseUrl: () => Promise<string | null>;
42
47
  declare const getJiraUserEmail: () => Promise<string | null>;
48
+ declare const getConfluenceApiToken: () => Promise<string | null>;
49
+ declare const getConfluenceApiBaseUrl: () => Promise<string | null>;
50
+ declare const getConfluenceUserEmail: () => Promise<string | null>;
51
+ declare const getConfluenceDefaultSpaceId: () => Promise<string | null>;
43
52
  declare const getGeminiApiKey: () => Promise<string | null>;
44
53
  declare const getNpmToken: () => Promise<string | null>;
45
54
  declare const getProjectRoot: () => string;
46
55
  declare const printEnv: () => Promise<void>;
47
56
  declare const run: () => Promise<void>;
48
57
 
49
- export { askQuestion, getBigtableInstanceName, getBigtableProjectId, getBigtableTableName, getCustomSearchApiKey, getEnvVar, getFirestoreProjectId, getGcpProjectId, getGeminiApiKey, getJiraApiBaseUrl, getJiraApiToken, getJiraUserEmail, getLogToConsole, getNpmToken, getPostgresAuthType, getPostgresDatabase, getPostgresHostName, getPostgresInstanceConnectionName, getPostgresIpType, getPostgresPassword, getPostgresPoolSizeMax, getPostgresUser, getProjectRoot, getSearchEngineId, obfuscateCred, printEnv, run, setBigtableInstanceName, setBigtableProjectId, setBigtableTableName, setCustomSearchApiKey, setEnvVar, setFirestoreProjectId, setGeminiApiKey, setJiraApiBaseUrl, setJiraApiToken, setJiraUserEmail, setLogToConsole, setNpmToken, setPostgresAuthType, setPostgresDatabase, setPostgresHostName, setPostgresInstanceConnectionName, setPostgresIpType, setPostgresPassword, setPostgresPoolSizeMax, setPostgresUser };
58
+ export { askQuestion, getBigtableInstanceName, getBigtableProjectId, getBigtableTableName, getConfluenceApiBaseUrl, getConfluenceApiToken, getConfluenceDefaultSpaceId, getConfluenceUserEmail, getCustomSearchApiKey, getCustomSearchEngineId, getEnvVar, getFirestoreProjectId, getGcpProjectId, getGeminiApiKey, getJiraApiBaseUrl, getJiraApiToken, getJiraUserEmail, getLogToConsole, getNpmToken, getPostgresAuthType, getPostgresDatabase, getPostgresHostName, getPostgresInstanceConnectionName, getPostgresIpType, getPostgresPassword, getPostgresPoolSizeMax, getPostgresUser, getProjectRoot, obfuscateCred, printEnv, run, setBigtableInstanceName, setBigtableProjectId, setBigtableTableName, setConfluenceApiBaseUrl, setConfluenceApiToken, setConfluenceDefaultSpaceId, setConfluenceUserEmail, setCustomSearchApiKey, setCustomSearchEngineId, setEnvVar, setFirestoreProjectId, setGeminiApiKey, setJiraApiBaseUrl, setJiraApiToken, setJiraUserEmail, setLogToConsole, setNpmToken, setPostgresAuthType, setPostgresDatabase, setPostgresHostName, setPostgresInstanceConnectionName, setPostgresIpType, setPostgresPassword, setPostgresPoolSizeMax, setPostgresUser };
package/dist/index.js CHANGED
@@ -104,10 +104,10 @@ async function getCustomSearchApiKey() {
104
104
  }
105
105
  return apiKey;
106
106
  }
107
- async function getSearchEngineId() {
108
- const searchEngineId = await getEnvVar("SEARCH_ENGINE_ID");
107
+ async function getCustomSearchEngineId() {
108
+ const searchEngineId = await getEnvVar("CUSTOM_SEARCH_ENGINE_ID");
109
109
  if (!searchEngineId) {
110
- throw new Error("SEARCH_ENGINE_ID not found in environment variables.");
110
+ throw new Error("CUSTOM_SEARCH_ENGINE_ID not found in environment variables.");
111
111
  }
112
112
  return searchEngineId;
113
113
  }
@@ -271,6 +271,30 @@ var setJiraUserEmail = async () => {
271
271
  await setEnvVar("JIRA_USER_EMAIL", jiraUserEmail);
272
272
  }
273
273
  };
274
+ var setConfluenceApiToken = async () => {
275
+ const confluenceApiToken = await askQuestion("Enter Confluence API token", "");
276
+ if (confluenceApiToken) {
277
+ await setEnvVar("CONFLUENCE_API_TOKEN", confluenceApiToken);
278
+ }
279
+ };
280
+ var setConfluenceApiBaseUrl = async () => {
281
+ const confluenceApiBaseUrl = await askQuestion("Enter Confluence API Base URL (e.g., https://yoursite.atlassian.net)", "");
282
+ if (confluenceApiBaseUrl) {
283
+ await setEnvVar("CONFLUENCE_API_BASE_URL", confluenceApiBaseUrl);
284
+ }
285
+ };
286
+ var setConfluenceUserEmail = async () => {
287
+ const confluenceUserEmail = await askQuestion("Enter Confluence user email", "you@domain.com");
288
+ if (confluenceUserEmail) {
289
+ await setEnvVar("CONFLUENCE_USER_EMAIL", confluenceUserEmail);
290
+ }
291
+ };
292
+ var setConfluenceDefaultSpaceId = async () => {
293
+ const confluenceDefaultSpaceId = await askQuestion("Enter Confluence default Space ID (numeric ID from space URL)", "");
294
+ if (confluenceDefaultSpaceId) {
295
+ await setEnvVar("CONFLUENCE_DEFAULT_SPACE_ID", confluenceDefaultSpaceId);
296
+ }
297
+ };
274
298
  var setGeminiApiKey = async () => {
275
299
  const apiKey = await askQuestion("Enter Gemini API key:");
276
300
  if (apiKey) await setEnvVar("GEMINI_API_KEY", apiKey);
@@ -285,6 +309,12 @@ var setCustomSearchApiKey = async () => {
285
309
  await setEnvVar("CUSTOM_SEARCH_API_KEY", customSearchApiKey);
286
310
  }
287
311
  };
312
+ var setCustomSearchEngineId = async () => {
313
+ const customSearchEngineId = await askQuestion("Enter Custom Search Engine ID", "");
314
+ if (customSearchEngineId) {
315
+ await setEnvVar("CUSTOM_SEARCH_ENGINE_ID", customSearchEngineId);
316
+ }
317
+ };
288
318
  var setFirestoreProjectId = async () => {
289
319
  const firestoreProjectId = await askQuestion("Enter Firestore Project ID", "dataformer-prod");
290
320
  if (firestoreProjectId) {
@@ -311,6 +341,10 @@ var getFirestoreProjectId = _getFirestoreProjectId;
311
341
  var getJiraApiToken = async () => await getEnvVar("JIRA_API_TOKEN");
312
342
  var getJiraApiBaseUrl = async () => await getEnvVar("JIRA_API_BASE_URL");
313
343
  var getJiraUserEmail = async () => await getEnvVar("JIRA_USER_EMAIL");
344
+ var getConfluenceApiToken = async () => await getEnvVar("CONFLUENCE_API_TOKEN");
345
+ var getConfluenceApiBaseUrl = async () => await getEnvVar("CONFLUENCE_API_BASE_URL");
346
+ var getConfluenceUserEmail = async () => await getEnvVar("CONFLUENCE_USER_EMAIL");
347
+ var getConfluenceDefaultSpaceId = async () => await getEnvVar("CONFLUENCE_DEFAULT_SPACE_ID");
314
348
  var getGeminiApiKey = async () => await getEnvVar("GEMINI_API_KEY");
315
349
  var getNpmToken = async () => await getEnvVar("NPM_TOKEN");
316
350
  var getProjectRoot = () => {
@@ -334,8 +368,13 @@ var printEnv = async () => {
334
368
  const jiraApiToken = await getJiraApiToken();
335
369
  const jiraApiBaseUrl = await getJiraApiBaseUrl();
336
370
  const jiraUserEmail = await getJiraUserEmail();
371
+ const confluenceApiToken = await getConfluenceApiToken();
372
+ const confluenceApiBaseUrl = await getConfluenceApiBaseUrl();
373
+ const confluenceUserEmail = await getConfluenceUserEmail();
374
+ const confluenceDefaultSpaceId = await getConfluenceDefaultSpaceId();
337
375
  const geminiApiKey = await getGeminiApiKey();
338
376
  const customSearchApiKey = await getCustomSearchApiKey();
377
+ const customSearchEngineId = await getCustomSearchEngineId();
339
378
  const gcpProjectIdVal = await getGcpProjectId();
340
379
  const npmToken = await getNpmToken();
341
380
  console.log(`Project Root: ${getProjectRoot()}`);
@@ -356,7 +395,12 @@ var printEnv = async () => {
356
395
  console.log(`Jira API Token: ${obfuscateCred(jiraApiToken)}`);
357
396
  console.log(`Jira API Base URL: ${jiraApiBaseUrl}`);
358
397
  console.log(`Jira User Email: ${jiraUserEmail}`);
398
+ console.log(`Confluence API Token: ${obfuscateCred(confluenceApiToken)}`);
399
+ console.log(`Confluence API Base URL: ${confluenceApiBaseUrl}`);
400
+ console.log(`Confluence User Email: ${confluenceUserEmail}`);
401
+ console.log(`Confluence Default Space ID: ${confluenceDefaultSpaceId}`);
359
402
  console.log(`Custom Search API Key: ${obfuscateCred(customSearchApiKey)}`);
403
+ console.log(`Custom Search Engine ID: ${customSearchEngineId}`);
360
404
  console.log(`Gemini API Key: ${obfuscateCred(geminiApiKey)}`);
361
405
  console.log(`NPM Token: ${obfuscateCred(npmToken)}`);
362
406
  };
@@ -411,6 +455,18 @@ var run = async () => {
411
455
  case "setJiraUserEmail":
412
456
  await setJiraUserEmail();
413
457
  break;
458
+ case "setConfluenceApiToken":
459
+ await setConfluenceApiToken();
460
+ break;
461
+ case "setConfluenceApiBaseUrl":
462
+ await setConfluenceApiBaseUrl();
463
+ break;
464
+ case "setConfluenceUserEmail":
465
+ await setConfluenceUserEmail();
466
+ break;
467
+ case "setConfluenceDefaultSpaceId":
468
+ await setConfluenceDefaultSpaceId();
469
+ break;
414
470
  case "setGeminiApiKey":
415
471
  await setGeminiApiKey();
416
472
  break;
@@ -420,6 +476,9 @@ var run = async () => {
420
476
  case "setCustomSearchApiKey":
421
477
  await setCustomSearchApiKey();
422
478
  break;
479
+ case "setCustomSearchEngineId":
480
+ await setCustomSearchEngineId();
481
+ break;
423
482
  case "printEnv":
424
483
  await printEnv();
425
484
  break;
@@ -440,7 +499,12 @@ export {
440
499
  getBigtableInstanceName,
441
500
  getBigtableProjectId,
442
501
  getBigtableTableName,
502
+ getConfluenceApiBaseUrl,
503
+ getConfluenceApiToken,
504
+ getConfluenceDefaultSpaceId,
505
+ getConfluenceUserEmail,
443
506
  getCustomSearchApiKey,
507
+ getCustomSearchEngineId,
444
508
  getEnvVar,
445
509
  getFirestoreProjectId,
446
510
  getGcpProjectId,
@@ -459,14 +523,18 @@ export {
459
523
  getPostgresPoolSizeMax,
460
524
  getPostgresUser,
461
525
  getProjectRoot,
462
- getSearchEngineId,
463
526
  obfuscateCred,
464
527
  printEnv,
465
528
  run,
466
529
  setBigtableInstanceName,
467
530
  setBigtableProjectId,
468
531
  setBigtableTableName,
532
+ setConfluenceApiBaseUrl,
533
+ setConfluenceApiToken,
534
+ setConfluenceDefaultSpaceId,
535
+ setConfluenceUserEmail,
469
536
  setCustomSearchApiKey,
537
+ setCustomSearchEngineId,
470
538
  setEnvVar,
471
539
  setFirestoreProjectId,
472
540
  setGeminiApiKey,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dataformer/env-service",
3
- "version": "2.4.0",
3
+ "version": "3.0.1",
4
4
  "description": "Environment service for Dataformer",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -11,6 +11,11 @@
11
11
  "types": "./dist/index.d.ts"
12
12
  }
13
13
  },
14
+ "scripts": {
15
+ "build": "tsup src/index.ts --format esm --dts --clean",
16
+ "dev": "tsup src/index.ts --format esm --dts --watch",
17
+ "prepublish": "pnpm run build"
18
+ },
14
19
  "dependencies": {
15
20
  "@google-cloud/secret-manager": "^5.4.0"
16
21
  },
@@ -20,10 +25,5 @@
20
25
  },
21
26
  "peerDependencies": {
22
27
  "typescript": "^5.0.0"
23
- },
24
- "scripts": {
25
- "build": "tsup src/index.ts --format esm --dts --clean",
26
- "dev": "tsup src/index.ts --format esm --dts --watch",
27
- "prepublish": "pnpm run build"
28
28
  }
29
- }
29
+ }
package/src/index.ts CHANGED
@@ -174,10 +174,10 @@ export async function getCustomSearchApiKey(): Promise<string> {
174
174
  return apiKey;
175
175
  }
176
176
 
177
- export async function getSearchEngineId(): Promise<string> {
178
- const searchEngineId = await getEnvVar('SEARCH_ENGINE_ID');
177
+ export async function getCustomSearchEngineId(): Promise<string> {
178
+ const searchEngineId = await getEnvVar('CUSTOM_SEARCH_ENGINE_ID');
179
179
  if (!searchEngineId) {
180
- throw new Error('SEARCH_ENGINE_ID not found in environment variables.');
180
+ throw new Error('CUSTOM_SEARCH_ENGINE_ID not found in environment variables.');
181
181
  }
182
182
  return searchEngineId;
183
183
  }
@@ -374,6 +374,34 @@ const setJiraUserEmail = async (): Promise<void> => {
374
374
  }
375
375
  };
376
376
 
377
+ const setConfluenceApiToken = async (): Promise<void> => {
378
+ const confluenceApiToken = await askQuestion('Enter Confluence API token', '');
379
+ if (confluenceApiToken) {
380
+ await setEnvVar('CONFLUENCE_API_TOKEN', confluenceApiToken);
381
+ }
382
+ };
383
+
384
+ const setConfluenceApiBaseUrl = async (): Promise<void> => {
385
+ const confluenceApiBaseUrl = await askQuestion('Enter Confluence API Base URL (e.g., https://yoursite.atlassian.net)', '');
386
+ if (confluenceApiBaseUrl) {
387
+ await setEnvVar('CONFLUENCE_API_BASE_URL', confluenceApiBaseUrl);
388
+ }
389
+ };
390
+
391
+ const setConfluenceUserEmail = async (): Promise<void> => {
392
+ const confluenceUserEmail = await askQuestion('Enter Confluence user email', 'you@domain.com');
393
+ if (confluenceUserEmail) {
394
+ await setEnvVar('CONFLUENCE_USER_EMAIL', confluenceUserEmail);
395
+ }
396
+ };
397
+
398
+ const setConfluenceDefaultSpaceId = async (): Promise<void> => {
399
+ const confluenceDefaultSpaceId = await askQuestion('Enter Confluence default Space ID (numeric ID from space URL)', '');
400
+ if (confluenceDefaultSpaceId) {
401
+ await setEnvVar('CONFLUENCE_DEFAULT_SPACE_ID', confluenceDefaultSpaceId);
402
+ }
403
+ };
404
+
377
405
  const setGeminiApiKey = async (): Promise<void> => {
378
406
  const apiKey = await askQuestion('Enter Gemini API key:');
379
407
  if (apiKey) await setEnvVar('GEMINI_API_KEY', apiKey);
@@ -391,6 +419,13 @@ const setCustomSearchApiKey = async (): Promise<void> => {
391
419
  }
392
420
  };
393
421
 
422
+ const setCustomSearchEngineId = async (): Promise<void> => {
423
+ const customSearchEngineId = await askQuestion('Enter Custom Search Engine ID', '');
424
+ if (customSearchEngineId) {
425
+ await setEnvVar('CUSTOM_SEARCH_ENGINE_ID', customSearchEngineId);
426
+ }
427
+ };
428
+
394
429
  const setFirestoreProjectId = async (): Promise<void> => {
395
430
  const firestoreProjectId = await askQuestion('Enter Firestore Project ID', 'dataformer-prod');
396
431
  if (firestoreProjectId) {
@@ -421,6 +456,10 @@ export const getFirestoreProjectId = _getFirestoreProjectId;
421
456
  const getJiraApiToken = async (): Promise<string | null> => await getEnvVar('JIRA_API_TOKEN');
422
457
  const getJiraApiBaseUrl = async (): Promise<string | null> => await getEnvVar('JIRA_API_BASE_URL');
423
458
  const getJiraUserEmail = async (): Promise<string | null> => await getEnvVar('JIRA_USER_EMAIL');
459
+ const getConfluenceApiToken = async (): Promise<string | null> => await getEnvVar('CONFLUENCE_API_TOKEN');
460
+ const getConfluenceApiBaseUrl = async (): Promise<string | null> => await getEnvVar('CONFLUENCE_API_BASE_URL');
461
+ const getConfluenceUserEmail = async (): Promise<string | null> => await getEnvVar('CONFLUENCE_USER_EMAIL');
462
+ const getConfluenceDefaultSpaceId = async (): Promise<string | null> => await getEnvVar('CONFLUENCE_DEFAULT_SPACE_ID');
424
463
  const getGeminiApiKey = async (): Promise<string | null> => await getEnvVar('GEMINI_API_KEY');
425
464
  const getNpmToken = async (): Promise<string | null> => await getEnvVar('NPM_TOKEN');
426
465
 
@@ -457,8 +496,13 @@ const printEnv = async (): Promise<void> => {
457
496
  const jiraApiToken = await getJiraApiToken();
458
497
  const jiraApiBaseUrl = await getJiraApiBaseUrl();
459
498
  const jiraUserEmail = await getJiraUserEmail();
499
+ const confluenceApiToken = await getConfluenceApiToken();
500
+ const confluenceApiBaseUrl = await getConfluenceApiBaseUrl();
501
+ const confluenceUserEmail = await getConfluenceUserEmail();
502
+ const confluenceDefaultSpaceId = await getConfluenceDefaultSpaceId();
460
503
  const geminiApiKey = await getGeminiApiKey();
461
504
  const customSearchApiKey = await getCustomSearchApiKey();
505
+ const customSearchEngineId = await getCustomSearchEngineId();
462
506
  const gcpProjectIdVal = await getGcpProjectId();
463
507
  const npmToken = await getNpmToken();
464
508
 
@@ -480,7 +524,12 @@ const printEnv = async (): Promise<void> => {
480
524
  console.log(`Jira API Token: ${obfuscateCred(jiraApiToken)}`);
481
525
  console.log(`Jira API Base URL: ${jiraApiBaseUrl}`);
482
526
  console.log(`Jira User Email: ${jiraUserEmail}`);
527
+ console.log(`Confluence API Token: ${obfuscateCred(confluenceApiToken)}`);
528
+ console.log(`Confluence API Base URL: ${confluenceApiBaseUrl}`);
529
+ console.log(`Confluence User Email: ${confluenceUserEmail}`);
530
+ console.log(`Confluence Default Space ID: ${confluenceDefaultSpaceId}`);
483
531
  console.log(`Custom Search API Key: ${obfuscateCred(customSearchApiKey)}`);
532
+ console.log(`Custom Search Engine ID: ${customSearchEngineId}`);
484
533
  console.log(`Gemini API Key: ${obfuscateCred(geminiApiKey)}`);
485
534
  console.log(`NPM Token: ${obfuscateCred(npmToken)}`);
486
535
  };
@@ -504,9 +553,14 @@ const run = async (): Promise<void> => {
504
553
  case 'setJiraApiToken': await setJiraApiToken(); break;
505
554
  case 'setJiraApiBaseUrl': await setJiraApiBaseUrl(); break;
506
555
  case 'setJiraUserEmail': await setJiraUserEmail(); break;
556
+ case 'setConfluenceApiToken': await setConfluenceApiToken(); break;
557
+ case 'setConfluenceApiBaseUrl': await setConfluenceApiBaseUrl(); break;
558
+ case 'setConfluenceUserEmail': await setConfluenceUserEmail(); break;
559
+ case 'setConfluenceDefaultSpaceId': await setConfluenceDefaultSpaceId(); break;
507
560
  case 'setGeminiApiKey': await setGeminiApiKey(); break;
508
561
  case 'setNpmToken': await setNpmToken(); break;
509
562
  case 'setCustomSearchApiKey': await setCustomSearchApiKey(); break;
563
+ case 'setCustomSearchEngineId': await setCustomSearchEngineId(); break;
510
564
  case 'printEnv': await printEnv(); break;
511
565
  default: console.log('Unknown command. Available commands: setEnv, setBearerToken, ..., printEnv');
512
566
  }
@@ -545,9 +599,14 @@ export {
545
599
  setJiraApiToken,
546
600
  setJiraApiBaseUrl,
547
601
  setJiraUserEmail,
602
+ setConfluenceApiToken,
603
+ setConfluenceApiBaseUrl,
604
+ setConfluenceUserEmail,
605
+ setConfluenceDefaultSpaceId,
548
606
  setGeminiApiKey,
549
607
  setNpmToken,
550
608
  setCustomSearchApiKey,
609
+ setCustomSearchEngineId,
551
610
 
552
611
  // Getters
553
612
  getLogToConsole,
@@ -565,6 +624,10 @@ export {
565
624
  getJiraApiToken,
566
625
  getJiraApiBaseUrl,
567
626
  getJiraUserEmail,
627
+ getConfluenceApiToken,
628
+ getConfluenceApiBaseUrl,
629
+ getConfluenceUserEmail,
630
+ getConfluenceDefaultSpaceId,
568
631
  getGeminiApiKey,
569
632
  getNpmToken,
570
633