crewly 1.2.7 → 1.2.8
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/dist/backend/backend/src/constants.d.ts +9 -0
- package/dist/backend/backend/src/constants.d.ts.map +1 -1
- package/dist/backend/backend/src/constants.js +9 -0
- package/dist/backend/backend/src/constants.js.map +1 -1
- package/dist/backend/backend/src/controllers/messaging/messenger.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/messaging/messenger.routes.js +6 -3
- package/dist/backend/backend/src/controllers/messaging/messenger.routes.js.map +1 -1
- package/dist/backend/backend/src/controllers/settings/settings.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/settings/settings.controller.js +97 -2
- package/dist/backend/backend/src/controllers/settings/settings.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/team/team.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/team/team.controller.js +149 -1
- package/dist/backend/backend/src/controllers/team/team.controller.js.map +1 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.js +111 -82
- package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/auditor-scheduler.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/auditor-scheduler.service.js +14 -3
- package/dist/backend/backend/src/services/agent/auditor-scheduler.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.d.ts +16 -2
- package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.js +52 -5
- package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.js.map +1 -1
- package/dist/backend/backend/src/services/agent/gemini-runtime.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/gemini-runtime.service.js +22 -9
- package/dist/backend/backend/src/services/agent/gemini-runtime.service.js.map +1 -1
- package/dist/backend/backend/src/services/event-bus/event-bus.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/event-bus/event-bus.service.js +4 -3
- package/dist/backend/backend/src/services/event-bus/event-bus.service.js.map +1 -1
- package/dist/backend/backend/src/services/messaging/adapters/google-chat-messenger.adapter.d.ts +58 -2
- package/dist/backend/backend/src/services/messaging/adapters/google-chat-messenger.adapter.d.ts.map +1 -1
- package/dist/backend/backend/src/services/messaging/adapters/google-chat-messenger.adapter.js +158 -7
- package/dist/backend/backend/src/services/messaging/adapters/google-chat-messenger.adapter.js.map +1 -1
- package/dist/backend/backend/src/services/messaging/response-router.service.d.ts +12 -0
- package/dist/backend/backend/src/services/messaging/response-router.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/messaging/response-router.service.js +27 -42
- package/dist/backend/backend/src/services/messaging/response-router.service.js.map +1 -1
- package/dist/backend/backend/src/services/orchestrator/orchestrator-restart.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/orchestrator/orchestrator-restart.service.js +12 -3
- package/dist/backend/backend/src/services/orchestrator/orchestrator-restart.service.js.map +1 -1
- package/dist/backend/backend/src/services/settings/settings.service.d.ts +9 -1
- package/dist/backend/backend/src/services/settings/settings.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/settings/settings.service.js +12 -1
- package/dist/backend/backend/src/services/settings/settings.service.js.map +1 -1
- package/dist/backend/backend/src/services/slack/notify-reconciliation.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/notify-reconciliation.service.js +13 -0
- package/dist/backend/backend/src/services/slack/notify-reconciliation.service.js.map +1 -1
- package/dist/backend/backend/src/types/chat.types.d.ts +1 -1
- package/dist/backend/backend/src/types/chat.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/chat.types.js +1 -1
- package/dist/backend/backend/src/types/chat.types.js.map +1 -1
- package/dist/backend/backend/src/types/settings.types.d.ts +93 -0
- package/dist/backend/backend/src/types/settings.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/settings.types.js +131 -0
- package/dist/backend/backend/src/types/settings.types.js.map +1 -1
- package/dist/backend/backend/src/types/skill.types.js +2 -2
- package/dist/backend/backend/src/types/skill.types.js.map +1 -1
- package/dist/backend/backend/src/utils/format-error.d.ts +8 -0
- package/dist/backend/backend/src/utils/format-error.d.ts.map +1 -0
- package/dist/backend/backend/src/utils/format-error.js +10 -0
- package/dist/backend/backend/src/utils/format-error.js.map +1 -0
- package/dist/backend/backend/src/websocket/terminal.gateway.d.ts.map +1 -1
- package/dist/backend/backend/src/websocket/terminal.gateway.js +8 -6
- package/dist/backend/backend/src/websocket/terminal.gateway.js.map +1 -1
- package/dist/cli/backend/src/constants.d.ts +9 -0
- package/dist/cli/backend/src/constants.d.ts.map +1 -1
- package/dist/cli/backend/src/constants.js +9 -0
- package/dist/cli/backend/src/constants.js.map +1 -1
- package/dist/cli/backend/src/types/chat.types.d.ts +1 -1
- package/dist/cli/backend/src/types/chat.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/chat.types.js +1 -1
- package/dist/cli/backend/src/types/chat.types.js.map +1 -1
- package/dist/cli/backend/src/types/settings.types.d.ts +93 -0
- package/dist/cli/backend/src/types/settings.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/settings.types.js +131 -0
- package/dist/cli/backend/src/types/settings.types.js.map +1 -1
- package/dist/cli/backend/src/types/skill.types.js +2 -2
- package/dist/cli/backend/src/types/skill.types.js.map +1 -1
- package/frontend/dist/assets/index-58509b6a.js +4919 -0
- package/frontend/dist/assets/{index-dee3a3a9.css → index-ddb38eb0.css} +1 -1
- package/frontend/dist/index.html +2 -2
- package/package.json +1 -1
- package/frontend/dist/assets/index-5cf8820f.js +0 -4919
package/dist/backend/backend/src/services/messaging/adapters/google-chat-messenger.adapter.js
CHANGED
|
@@ -28,12 +28,18 @@ export class GoogleChatMessengerAdapter {
|
|
|
28
28
|
webhookUrl = null;
|
|
29
29
|
/** Service account key JSON string */
|
|
30
30
|
serviceAccountKey = null;
|
|
31
|
-
/**
|
|
31
|
+
/** Authentication mode: service_account (JWT) or adc (refresh token) */
|
|
32
|
+
authMode = 'service_account';
|
|
33
|
+
/** ADC credentials (parsed from application_default_credentials.json) */
|
|
34
|
+
adcCredentials = null;
|
|
35
|
+
/** Access token obtained from service account or ADC (cached) */
|
|
32
36
|
accessToken = null;
|
|
33
37
|
/** Access token expiry timestamp */
|
|
34
38
|
tokenExpiresAt = 0;
|
|
35
39
|
/** OAuth2 scopes for the current mode */
|
|
36
40
|
tokenScopes = GOOGLE_CHAT_PUBSUB_CONSTANTS.CHAT_SCOPE;
|
|
41
|
+
/** Pending token refresh promise to deduplicate concurrent requests (RL2) */
|
|
42
|
+
pendingTokenRefresh = null;
|
|
37
43
|
/** Full Pub/Sub subscription resource name (e.g. projects/PROJECT/subscriptions/SUB) */
|
|
38
44
|
subscriptionName = null;
|
|
39
45
|
/** GCP project ID (for Pub/Sub mode) */
|
|
@@ -63,6 +69,7 @@ export class GoogleChatMessengerAdapter {
|
|
|
63
69
|
const projectId = config.projectId;
|
|
64
70
|
const subscriptionName = config.subscriptionName;
|
|
65
71
|
const onIncomingMessage = config.onIncomingMessage;
|
|
72
|
+
const authMode = (config.authMode === 'adc' ? 'adc' : 'service_account');
|
|
66
73
|
// Webhook mode
|
|
67
74
|
if (typeof webhookUrl === 'string' && webhookUrl) {
|
|
68
75
|
if (!webhookUrl.startsWith('https://chat.googleapis.com/')) {
|
|
@@ -73,10 +80,35 @@ export class GoogleChatMessengerAdapter {
|
|
|
73
80
|
this.mode = 'webhook';
|
|
74
81
|
return;
|
|
75
82
|
}
|
|
76
|
-
//
|
|
83
|
+
// ADC mode — use Application Default Credentials (no SA key needed)
|
|
84
|
+
if (authMode === 'adc') {
|
|
85
|
+
const adcCreds = await this.loadAdcCredentials();
|
|
86
|
+
this.resetState();
|
|
87
|
+
this.authMode = 'adc';
|
|
88
|
+
this.adcCredentials = adcCreds;
|
|
89
|
+
// Pub/Sub mode: requires projectId + subscriptionName
|
|
90
|
+
if (typeof projectId === 'string' && projectId &&
|
|
91
|
+
typeof subscriptionName === 'string' && subscriptionName) {
|
|
92
|
+
this.projectId = projectId;
|
|
93
|
+
this.subscriptionName = `projects/${projectId}/subscriptions/${subscriptionName}`;
|
|
94
|
+
this.tokenScopes = `${GOOGLE_CHAT_PUBSUB_CONSTANTS.CHAT_SCOPE} ${GOOGLE_CHAT_PUBSUB_CONSTANTS.PUBSUB_SCOPE}`;
|
|
95
|
+
this.mode = 'pubsub';
|
|
96
|
+
if (typeof onIncomingMessage === 'function') {
|
|
97
|
+
this.onIncomingMessage = onIncomingMessage;
|
|
98
|
+
}
|
|
99
|
+
this.startPubSubPull();
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
// Service account mode with ADC auth (send-only)
|
|
103
|
+
this.mode = 'service-account';
|
|
104
|
+
this.tokenScopes = GOOGLE_CHAT_PUBSUB_CONSTANTS.CHAT_SCOPE;
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
// Service Account mode — requires a service account key
|
|
77
108
|
if (typeof serviceAccountKey === 'string' && serviceAccountKey) {
|
|
78
109
|
this.validateServiceAccountKey(serviceAccountKey);
|
|
79
110
|
this.resetState();
|
|
111
|
+
this.authMode = 'service_account';
|
|
80
112
|
this.serviceAccountKey = serviceAccountKey;
|
|
81
113
|
// Pub/Sub mode: requires projectId + subscriptionName
|
|
82
114
|
if (typeof projectId === 'string' && projectId &&
|
|
@@ -96,7 +128,7 @@ export class GoogleChatMessengerAdapter {
|
|
|
96
128
|
this.tokenScopes = GOOGLE_CHAT_PUBSUB_CONSTANTS.CHAT_SCOPE;
|
|
97
129
|
return;
|
|
98
130
|
}
|
|
99
|
-
throw new Error('Google Chat requires either a webhookUrl or
|
|
131
|
+
throw new Error('Google Chat requires either a webhookUrl, serviceAccountKey, or authMode: adc');
|
|
100
132
|
}
|
|
101
133
|
/**
|
|
102
134
|
* Send a text message to a Google Chat space.
|
|
@@ -114,7 +146,8 @@ export class GoogleChatMessengerAdapter {
|
|
|
114
146
|
await this.sendViaWebhook(text, options?.threadId);
|
|
115
147
|
return;
|
|
116
148
|
}
|
|
117
|
-
if ((this.mode === 'service-account' || this.mode === 'pubsub') &&
|
|
149
|
+
if ((this.mode === 'service-account' || this.mode === 'pubsub') &&
|
|
150
|
+
(this.serviceAccountKey || this.adcCredentials)) {
|
|
118
151
|
await this.sendViaApi(channel, text, options?.threadId);
|
|
119
152
|
return;
|
|
120
153
|
}
|
|
@@ -131,6 +164,7 @@ export class GoogleChatMessengerAdapter {
|
|
|
131
164
|
platform: this.platform,
|
|
132
165
|
details: {
|
|
133
166
|
mode: this.mode,
|
|
167
|
+
authMode: this.authMode,
|
|
134
168
|
...(this.mode === 'pubsub' ? {
|
|
135
169
|
subscriptionName: this.subscriptionName,
|
|
136
170
|
projectId: this.projectId,
|
|
@@ -332,8 +366,8 @@ export class GoogleChatMessengerAdapter {
|
|
|
332
366
|
* @param threadName - Optional full thread name (e.g., "spaces/SPACE/threads/THREAD")
|
|
333
367
|
*/
|
|
334
368
|
async sendViaApi(space, text, threadName) {
|
|
335
|
-
if (!this.serviceAccountKey) {
|
|
336
|
-
throw new Error('
|
|
369
|
+
if (!this.serviceAccountKey && !this.adcCredentials) {
|
|
370
|
+
throw new Error('No credentials configured (service account key or ADC)');
|
|
337
371
|
}
|
|
338
372
|
if (!space || !space.startsWith('spaces/')) {
|
|
339
373
|
throw new Error('Invalid Google Chat space name. Must start with "spaces/"');
|
|
@@ -369,7 +403,7 @@ export class GoogleChatMessengerAdapter {
|
|
|
369
403
|
/**
|
|
370
404
|
* Get a valid access token, refreshing if needed.
|
|
371
405
|
*
|
|
372
|
-
* Uses
|
|
406
|
+
* Uses JWT-based OAuth2 for service accounts, or refresh_token flow for ADC.
|
|
373
407
|
* The scope includes Pub/Sub when in pubsub mode.
|
|
374
408
|
*
|
|
375
409
|
* @returns Valid access token string
|
|
@@ -379,6 +413,39 @@ export class GoogleChatMessengerAdapter {
|
|
|
379
413
|
if (this.accessToken && Date.now() < this.tokenExpiresAt - 60_000) {
|
|
380
414
|
return this.accessToken;
|
|
381
415
|
}
|
|
416
|
+
// Deduplicate concurrent refresh requests (RL2)
|
|
417
|
+
if (this.pendingTokenRefresh) {
|
|
418
|
+
return this.pendingTokenRefresh;
|
|
419
|
+
}
|
|
420
|
+
this.pendingTokenRefresh = this.refreshAccessToken();
|
|
421
|
+
try {
|
|
422
|
+
return await this.pendingTokenRefresh;
|
|
423
|
+
}
|
|
424
|
+
finally {
|
|
425
|
+
this.pendingTokenRefresh = null;
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
/**
|
|
429
|
+
* Perform the actual token refresh.
|
|
430
|
+
*
|
|
431
|
+
* Dispatches to the appropriate flow based on authMode:
|
|
432
|
+
* - `service_account`: JWT-based OAuth2 flow with SA private key
|
|
433
|
+
* - `adc`: Refresh token flow using ADC credentials
|
|
434
|
+
*
|
|
435
|
+
* @returns Fresh access token string
|
|
436
|
+
*/
|
|
437
|
+
async refreshAccessToken() {
|
|
438
|
+
if (this.authMode === 'adc') {
|
|
439
|
+
return this.refreshAccessTokenViaAdc();
|
|
440
|
+
}
|
|
441
|
+
return this.refreshAccessTokenViaJwt();
|
|
442
|
+
}
|
|
443
|
+
/**
|
|
444
|
+
* Refresh access token via JWT-based OAuth2 flow (service account).
|
|
445
|
+
*
|
|
446
|
+
* @returns Fresh access token string
|
|
447
|
+
*/
|
|
448
|
+
async refreshAccessTokenViaJwt() {
|
|
382
449
|
if (!this.serviceAccountKey) {
|
|
383
450
|
throw new Error('Service account key not configured');
|
|
384
451
|
}
|
|
@@ -413,6 +480,41 @@ export class GoogleChatMessengerAdapter {
|
|
|
413
480
|
this.tokenExpiresAt = Date.now() + data.expires_in * 1000;
|
|
414
481
|
return this.accessToken;
|
|
415
482
|
}
|
|
483
|
+
/**
|
|
484
|
+
* Refresh access token via ADC (Application Default Credentials).
|
|
485
|
+
*
|
|
486
|
+
* Uses the refresh_token from the ADC JSON file to obtain a new access token
|
|
487
|
+
* from Google's OAuth2 token endpoint. This supports credentials created by
|
|
488
|
+
* `gcloud auth application-default login`.
|
|
489
|
+
*
|
|
490
|
+
* @returns Fresh access token string
|
|
491
|
+
*/
|
|
492
|
+
async refreshAccessTokenViaAdc() {
|
|
493
|
+
if (!this.adcCredentials) {
|
|
494
|
+
throw new Error('ADC credentials not loaded');
|
|
495
|
+
}
|
|
496
|
+
const { client_id, client_secret, refresh_token } = this.adcCredentials;
|
|
497
|
+
const body = new URLSearchParams({
|
|
498
|
+
grant_type: 'refresh_token',
|
|
499
|
+
client_id,
|
|
500
|
+
client_secret,
|
|
501
|
+
refresh_token,
|
|
502
|
+
});
|
|
503
|
+
const resp = await fetch('https://oauth2.googleapis.com/token', {
|
|
504
|
+
method: 'POST',
|
|
505
|
+
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
|
|
506
|
+
body: body.toString(),
|
|
507
|
+
signal: AbortSignal.timeout(GOOGLE_CHAT_PUBSUB_CONSTANTS.FETCH_TIMEOUT_MS),
|
|
508
|
+
});
|
|
509
|
+
if (!resp.ok) {
|
|
510
|
+
const details = await resp.text();
|
|
511
|
+
throw new Error(`ADC token refresh failed (${resp.status}): ${details}`);
|
|
512
|
+
}
|
|
513
|
+
const data = await resp.json();
|
|
514
|
+
this.accessToken = data.access_token;
|
|
515
|
+
this.tokenExpiresAt = Date.now() + data.expires_in * 1000;
|
|
516
|
+
return this.accessToken;
|
|
517
|
+
}
|
|
416
518
|
// ===========================================================================
|
|
417
519
|
// Helpers
|
|
418
520
|
// ===========================================================================
|
|
@@ -436,6 +538,52 @@ export class GoogleChatMessengerAdapter {
|
|
|
436
538
|
throw err;
|
|
437
539
|
}
|
|
438
540
|
}
|
|
541
|
+
/**
|
|
542
|
+
* Load ADC (Application Default Credentials) from the filesystem.
|
|
543
|
+
*
|
|
544
|
+
* Checks (in order):
|
|
545
|
+
* 1. `GOOGLE_APPLICATION_CREDENTIALS` environment variable (custom path)
|
|
546
|
+
* 2. Default gcloud ADC path: `~/.config/gcloud/application_default_credentials.json`
|
|
547
|
+
*
|
|
548
|
+
* @returns Parsed ADC credentials
|
|
549
|
+
* @throws Error if the ADC file is not found or invalid
|
|
550
|
+
*/
|
|
551
|
+
async loadAdcCredentials() {
|
|
552
|
+
const { readFile } = await import('node:fs/promises');
|
|
553
|
+
const { join } = await import('node:path');
|
|
554
|
+
const { homedir } = await import('node:os');
|
|
555
|
+
const envPath = process.env.GOOGLE_APPLICATION_CREDENTIALS;
|
|
556
|
+
const defaultPath = join(homedir(), '.config', 'gcloud', 'application_default_credentials.json');
|
|
557
|
+
const credPath = envPath || defaultPath;
|
|
558
|
+
let raw;
|
|
559
|
+
try {
|
|
560
|
+
raw = await readFile(credPath, 'utf-8');
|
|
561
|
+
}
|
|
562
|
+
catch {
|
|
563
|
+
throw new Error(`ADC credentials file not found at ${credPath}. ` +
|
|
564
|
+
'Run: gcloud auth application-default login --scopes=' +
|
|
565
|
+
'https://www.googleapis.com/auth/chat.bot,' +
|
|
566
|
+
'https://www.googleapis.com/auth/pubsub,' +
|
|
567
|
+
'https://www.googleapis.com/auth/cloud-platform');
|
|
568
|
+
}
|
|
569
|
+
let parsed;
|
|
570
|
+
try {
|
|
571
|
+
parsed = JSON.parse(raw);
|
|
572
|
+
}
|
|
573
|
+
catch {
|
|
574
|
+
throw new Error('ADC credentials file is not valid JSON');
|
|
575
|
+
}
|
|
576
|
+
if (!parsed.client_id || !parsed.client_secret || !parsed.refresh_token) {
|
|
577
|
+
throw new Error('ADC credentials file must contain client_id, client_secret, and refresh_token. ' +
|
|
578
|
+
'Ensure you ran gcloud auth application-default login with the correct scopes.');
|
|
579
|
+
}
|
|
580
|
+
return {
|
|
581
|
+
client_id: parsed.client_id,
|
|
582
|
+
client_secret: parsed.client_secret,
|
|
583
|
+
refresh_token: parsed.refresh_token,
|
|
584
|
+
type: parsed.type || 'authorized_user',
|
|
585
|
+
};
|
|
586
|
+
}
|
|
439
587
|
/**
|
|
440
588
|
* Reset all internal state to defaults.
|
|
441
589
|
*/
|
|
@@ -443,9 +591,12 @@ export class GoogleChatMessengerAdapter {
|
|
|
443
591
|
this.stopPubSubPull();
|
|
444
592
|
this.webhookUrl = null;
|
|
445
593
|
this.serviceAccountKey = null;
|
|
594
|
+
this.authMode = 'service_account';
|
|
595
|
+
this.adcCredentials = null;
|
|
446
596
|
this.accessToken = null;
|
|
447
597
|
this.tokenExpiresAt = 0;
|
|
448
598
|
this.tokenScopes = GOOGLE_CHAT_PUBSUB_CONSTANTS.CHAT_SCOPE;
|
|
599
|
+
this.pendingTokenRefresh = null;
|
|
449
600
|
this.subscriptionName = null;
|
|
450
601
|
this.projectId = null;
|
|
451
602
|
this.onIncomingMessage = null;
|
package/dist/backend/backend/src/services/messaging/adapters/google-chat-messenger.adapter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google-chat-messenger.adapter.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/messaging/adapters/google-chat-messenger.adapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"google-chat-messenger.adapter.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/messaging/adapters/google-chat-messenger.adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,6 +53,18 @@ export declare class ResponseRouterService {
|
|
|
53
53
|
* @param response - The response content
|
|
54
54
|
*/
|
|
55
55
|
private routeToGoogleChat;
|
|
56
|
+
/**
|
|
57
|
+
* Resolve a source-specific callback stored in the message's sourceMetadata.
|
|
58
|
+
*
|
|
59
|
+
* Shared helper used by routeToSlack, routeToGoogleChat, and routeError
|
|
60
|
+
* to avoid duplicating the resolve-callback pattern.
|
|
61
|
+
*
|
|
62
|
+
* @param message - The QueuedMessage containing the callback in sourceMetadata
|
|
63
|
+
* @param response - The response string to pass to the callback
|
|
64
|
+
* @param callbackKey - The key in sourceMetadata that holds the resolve function
|
|
65
|
+
* @param label - Human-readable label for log messages (e.g. "Slack", "Google Chat")
|
|
66
|
+
*/
|
|
67
|
+
private resolveCallback;
|
|
56
68
|
/**
|
|
57
69
|
* Route an error to the appropriate destination.
|
|
58
70
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response-router.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/messaging/response-router.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"response-router.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/messaging/response-router.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAEpE;;;;;;;;;GASG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,MAAM,CAAkB;;IAMhC;;;;;OAKG;IACH,aAAa,CAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAwB7D;;;;;;;OAOG;IACH,OAAO,CAAC,cAAc;IAQtB;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;IAIpB;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAIzB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,eAAe;IAwBvB;;;;;OAKG;IACH,UAAU,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;CA2BxD"}
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
* @module services/messaging/response-router
|
|
9
9
|
*/
|
|
10
10
|
import { LoggerService } from '../core/logger.service.js';
|
|
11
|
+
import { formatError } from '../../utils/format-error.js';
|
|
11
12
|
/**
|
|
12
13
|
* ResponseRouterService routes orchestrator responses to the appropriate
|
|
13
14
|
* destination based on the message source.
|
|
@@ -75,29 +76,7 @@ export class ResponseRouterService {
|
|
|
75
76
|
* @param response - The response content
|
|
76
77
|
*/
|
|
77
78
|
routeToSlack(message, response) {
|
|
78
|
-
|
|
79
|
-
if (typeof slackResolve === 'function') {
|
|
80
|
-
try {
|
|
81
|
-
slackResolve(response);
|
|
82
|
-
this.logger.debug('Slack response resolved', {
|
|
83
|
-
messageId: message.id,
|
|
84
|
-
conversationId: message.conversationId,
|
|
85
|
-
responseLength: response.length,
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
catch (error) {
|
|
89
|
-
this.logger.error('Failed to resolve Slack response', {
|
|
90
|
-
messageId: message.id,
|
|
91
|
-
error: error instanceof Error ? error.message : String(error),
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
else {
|
|
96
|
-
this.logger.warn('Slack message has no slackResolve callback', {
|
|
97
|
-
messageId: message.id,
|
|
98
|
-
conversationId: message.conversationId,
|
|
99
|
-
});
|
|
100
|
-
}
|
|
79
|
+
this.resolveCallback(message, response, 'slackResolve', 'Slack');
|
|
101
80
|
}
|
|
102
81
|
/**
|
|
103
82
|
* Route response to Google Chat by calling the googleChatResolve callback.
|
|
@@ -107,25 +86,39 @@ export class ResponseRouterService {
|
|
|
107
86
|
* @param response - The response content
|
|
108
87
|
*/
|
|
109
88
|
routeToGoogleChat(message, response) {
|
|
110
|
-
|
|
111
|
-
|
|
89
|
+
this.resolveCallback(message, response, 'googleChatResolve', 'Google Chat');
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Resolve a source-specific callback stored in the message's sourceMetadata.
|
|
93
|
+
*
|
|
94
|
+
* Shared helper used by routeToSlack, routeToGoogleChat, and routeError
|
|
95
|
+
* to avoid duplicating the resolve-callback pattern.
|
|
96
|
+
*
|
|
97
|
+
* @param message - The QueuedMessage containing the callback in sourceMetadata
|
|
98
|
+
* @param response - The response string to pass to the callback
|
|
99
|
+
* @param callbackKey - The key in sourceMetadata that holds the resolve function
|
|
100
|
+
* @param label - Human-readable label for log messages (e.g. "Slack", "Google Chat")
|
|
101
|
+
*/
|
|
102
|
+
resolveCallback(message, response, callbackKey, label) {
|
|
103
|
+
const resolve = message.sourceMetadata?.[callbackKey];
|
|
104
|
+
if (typeof resolve === 'function') {
|
|
112
105
|
try {
|
|
113
|
-
|
|
114
|
-
this.logger.debug(
|
|
106
|
+
resolve(response);
|
|
107
|
+
this.logger.debug(`${label} response resolved`, {
|
|
115
108
|
messageId: message.id,
|
|
116
109
|
conversationId: message.conversationId,
|
|
117
110
|
responseLength: response.length,
|
|
118
111
|
});
|
|
119
112
|
}
|
|
120
113
|
catch (error) {
|
|
121
|
-
this.logger.error(
|
|
114
|
+
this.logger.error(`Failed to resolve ${label} response`, {
|
|
122
115
|
messageId: message.id,
|
|
123
|
-
error:
|
|
116
|
+
error: formatError(error),
|
|
124
117
|
});
|
|
125
118
|
}
|
|
126
119
|
}
|
|
127
120
|
else {
|
|
128
|
-
this.logger.warn(
|
|
121
|
+
this.logger.warn(`${label} message has no ${callbackKey} callback`, {
|
|
129
122
|
messageId: message.id,
|
|
130
123
|
conversationId: message.conversationId,
|
|
131
124
|
});
|
|
@@ -145,20 +138,12 @@ export class ResponseRouterService {
|
|
|
145
138
|
error,
|
|
146
139
|
});
|
|
147
140
|
break;
|
|
148
|
-
case 'slack':
|
|
149
|
-
|
|
150
|
-
if (typeof slackResolve === 'function') {
|
|
151
|
-
slackResolve(`Error: ${error}`);
|
|
152
|
-
}
|
|
141
|
+
case 'slack':
|
|
142
|
+
this.resolveCallback(message, `Error: ${error}`, 'slackResolve', 'Slack');
|
|
153
143
|
break;
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
const gchatResolve = message.sourceMetadata?.googleChatResolve;
|
|
157
|
-
if (typeof gchatResolve === 'function') {
|
|
158
|
-
gchatResolve(`Error: ${error}`);
|
|
159
|
-
}
|
|
144
|
+
case 'google_chat':
|
|
145
|
+
this.resolveCallback(message, `Error: ${error}`, 'googleChatResolve', 'Google Chat');
|
|
160
146
|
break;
|
|
161
|
-
}
|
|
162
147
|
case 'system_event':
|
|
163
148
|
this.logger.debug('System event error routed (no-op)', {
|
|
164
149
|
messageId: message.id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response-router.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/messaging/response-router.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,aAAa,EAAmB,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"response-router.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/messaging/response-router.service.ts"],"names":[],"mappings":"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"}
|
package/dist/backend/backend/src/services/orchestrator/orchestrator-restart.service.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator-restart.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/orchestrator/orchestrator-restart.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"orchestrator-restart.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/orchestrator/orchestrator-restart.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAeH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AACvF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAI/E;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B,sDAAsD;IACtD,aAAa,EAAE,MAAM,CAAC;IACtB,kDAAkD;IAClD,gBAAgB,EAAE,MAAM,CAAC;IACzB,iDAAiD;IACjD,YAAY,EAAE,OAAO,CAAC;IACtB,+CAA+C;IAC/C,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,0DAA0D;IAC1D,cAAc,EAAE,OAAO,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,0BAA0B;IACtC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA2C;IAClE,OAAO,CAAC,MAAM,CAAkB;IAEhC,0DAA0D;IAC1D,OAAO,CAAC,iBAAiB,CAAgB;IACzC,iDAAiD;IACjD,OAAO,CAAC,aAAa,CAAK;IAC1B,kDAAkD;IAClD,OAAO,CAAC,YAAY,CAAS;IAE7B,2DAA2D;IAC3D,OAAO,CAAC,wBAAwB,CAAyC;IACzE,OAAO,CAAC,cAAc,CAAgC;IACtD,OAAO,CAAC,QAAQ,CAAiE;IAEjF,OAAO;IAIP;;;;OAIG;IACH,MAAM,CAAC,WAAW,IAAI,0BAA0B;IAOhD;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,IAAI;IAW5B;;;;;;OAMG;IACH,eAAe,CACd,wBAAwB,EAAE,wBAAwB,EAClD,cAAc,EAAE,eAAe,EAC/B,QAAQ,CAAC,EAAE;QAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;KAAE,GACzD,IAAI;IAMP;;;;OAIG;IACH,gBAAgB,IAAI,OAAO;IAU3B;;;;;;;;;;;;;OAaG;IACG,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IA+IxC;;;OAGG;YACW,8BAA8B;IAgB5C;;;;OAIG;IACH,eAAe,IAAI,YAAY;IAiB/B;;;OAGG;YACW,WAAW;CAezB"}
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
*/
|
|
10
10
|
import { ORCHESTRATOR_SESSION_NAME, ORCHESTRATOR_ROLE, ORCHESTRATOR_WINDOW_NAME, ORCHESTRATOR_RESTART_CONSTANTS, RUNTIME_TYPES, } from '../../constants.js';
|
|
11
11
|
import { LoggerService } from '../core/logger.service.js';
|
|
12
|
+
import { formatError } from '../../utils/format-error.js';
|
|
12
13
|
import { StorageService } from '../core/storage.service.js';
|
|
13
14
|
import { MemoryService } from '../memory/memory.service.js';
|
|
14
15
|
import { getTerminalGateway } from '../../websocket/terminal.gateway.js';
|
|
@@ -63,6 +64,14 @@ export class OrchestratorRestartService {
|
|
|
63
64
|
* Reset the singleton instance (for testing).
|
|
64
65
|
*/
|
|
65
66
|
static resetInstance() {
|
|
67
|
+
if (OrchestratorRestartService.instance) {
|
|
68
|
+
// Clear internal state to prevent stale references
|
|
69
|
+
OrchestratorRestartService.instance.agentRegistrationService = null;
|
|
70
|
+
OrchestratorRestartService.instance.sessionBackend = null;
|
|
71
|
+
OrchestratorRestartService.instance.socketIO = null;
|
|
72
|
+
OrchestratorRestartService.instance.restartTimestamps = [];
|
|
73
|
+
OrchestratorRestartService.instance.isRestarting = false;
|
|
74
|
+
}
|
|
66
75
|
OrchestratorRestartService.instance = null;
|
|
67
76
|
}
|
|
68
77
|
/**
|
|
@@ -158,7 +167,7 @@ export class OrchestratorRestartService {
|
|
|
158
167
|
}
|
|
159
168
|
catch (error) {
|
|
160
169
|
this.logger.warn('Failed to get projects for Gemini CLI allowlist (continuing without)', {
|
|
161
|
-
error:
|
|
170
|
+
error: formatError(error),
|
|
162
171
|
});
|
|
163
172
|
}
|
|
164
173
|
}
|
|
@@ -220,7 +229,7 @@ export class OrchestratorRestartService {
|
|
|
220
229
|
}
|
|
221
230
|
catch (error) {
|
|
222
231
|
this.logger.error('Orchestrator restart failed', {
|
|
223
|
-
error:
|
|
232
|
+
error: formatError(error),
|
|
224
233
|
stack: error instanceof Error ? error.stack : undefined,
|
|
225
234
|
});
|
|
226
235
|
return false;
|
|
@@ -243,7 +252,7 @@ export class OrchestratorRestartService {
|
|
|
243
252
|
}
|
|
244
253
|
catch (error) {
|
|
245
254
|
this.logger.warn('Failed to resolve orchestrator runtime type from storage, using default', {
|
|
246
|
-
error:
|
|
255
|
+
error: formatError(error),
|
|
247
256
|
});
|
|
248
257
|
}
|
|
249
258
|
return RUNTIME_TYPES.CLAUDE_CODE;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator-restart.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/orchestrator/orchestrator-restart.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACN,yBAAyB,EACzB,iBAAiB,EACjB,wBAAwB,EACxB,8BAA8B,EAC9B,aAAa,GAEb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAmB,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAGzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AACrF,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAkBnD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,OAAO,0BAA0B;IAC9B,MAAM,CAAC,QAAQ,GAAsC,IAAI,CAAC;IAC1D,MAAM,CAAkB;IAEhC,0DAA0D;IAClD,iBAAiB,GAAa,EAAE,CAAC;IACzC,iDAAiD;IACzC,aAAa,GAAG,CAAC,CAAC;IAC1B,kDAAkD;IAC1C,YAAY,GAAG,KAAK,CAAC;IAE7B,2DAA2D;IACnD,wBAAwB,GAAoC,IAAI,CAAC;IACjE,cAAc,GAA2B,IAAI,CAAC;IAC9C,QAAQ,GAA4D,IAAI,CAAC;IAEjF;QACC,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC,qBAAqB,CAAC,qBAAqB,CAAC,CAAC;IACxF,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,WAAW;QACjB,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,CAAC;YAC1C,0BAA0B,CAAC,QAAQ,GAAG,IAAI,0BAA0B,EAAE,CAAC;QACxE,CAAC;QACD,OAAO,0BAA0B,CAAC,QAAQ,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,aAAa;QACnB,0BAA0B,CAAC,QAAQ,GAAG,IAAI,CAAC;IAC5C,CAAC;
|
|
1
|
+
{"version":3,"file":"orchestrator-restart.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/orchestrator/orchestrator-restart.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
* @module services/settings/settings.service
|
|
8
8
|
*/
|
|
9
|
-
import { CrewlySettings, UpdateSettingsInput, SettingsValidationResult } from '../../types/settings.types.js';
|
|
9
|
+
import { CrewlySettings, UpdateSettingsInput, SettingsValidationResult, ApiKeyProvider, ApiKeyResolutionContext } from '../../types/settings.types.js';
|
|
10
10
|
/**
|
|
11
11
|
* Error thrown when settings validation fails
|
|
12
12
|
*/
|
|
@@ -113,6 +113,14 @@ export declare class SettingsService {
|
|
|
113
113
|
* @throws {SettingsFileError} If file cannot be read or parsed
|
|
114
114
|
*/
|
|
115
115
|
importSettings(importPath: string): Promise<CrewlySettings>;
|
|
116
|
+
/**
|
|
117
|
+
* Resolve an API key through the override chain: skill → runtime → global → env var
|
|
118
|
+
*
|
|
119
|
+
* @param provider - The API key provider (gemini, anthropic, openai)
|
|
120
|
+
* @param context - Optional context with runtime and/or skill for override resolution
|
|
121
|
+
* @returns The resolved API key or undefined if not configured anywhere
|
|
122
|
+
*/
|
|
123
|
+
getApiKey(provider: ApiKeyProvider, context?: ApiKeyResolutionContext): Promise<string | undefined>;
|
|
116
124
|
/**
|
|
117
125
|
* Clear the settings cache
|
|
118
126
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/settings/settings.service.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,wBAAwB,
|
|
1
|
+
{"version":3,"file":"settings.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/settings/settings.service.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,wBAAwB,EAKxB,cAAc,EACd,uBAAuB,EAExB,MAAM,+BAA+B,CAAC;AAOvC;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,SAAgB,MAAM,EAAE,MAAM,EAAE,CAAC;gBAErB,MAAM,EAAE,MAAM,EAAE;CAK7B;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;aACG,KAAK,CAAC,EAAE,KAAK;gBAA9C,OAAO,EAAE,MAAM,EAAkB,KAAK,CAAC,EAAE,KAAK,YAAA;CAI3D;AAMD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,aAAa,CAA+B;IAEpD;;;;;OAKG;gBACS,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE;IAM9C;;;;;;OAMG;IACG,WAAW,IAAI,OAAO,CAAC,cAAc,CAAC;IAe5C;;;;;;;;OAQG;IACG,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,cAAc,CAAC;IAczE;;;;OAIG;IACG,aAAa,IAAI,OAAO,CAAC,cAAc,CAAC;IAO9C;;;;;OAKG;IACG,YAAY,CAAC,OAAO,EAAE,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAc1E;;;;;;;OAOG;IACG,qBAAqB,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAM1F;;;;OAIG;IACG,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKvD;;;;;;;;;OASG;IACG,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IA6BjE;;;;;;OAMG;IACG,SAAS,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAKzG;;;;OAIG;IACH,UAAU,IAAI,IAAI;IAIlB;;;;OAIG;IACH,mBAAmB,IAAI,MAAM;IAI7B;;;;OAIG;IACG,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IAazC;;;;;;;OAOG;IACH,OAAO,CAAC,eAAe;IA6BvB;;;;OAIG;YACW,YAAY;CAI3B;AAQD;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,eAAe,CAKpD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C"}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import { promises as fs } from 'fs';
|
|
10
10
|
import path from 'path';
|
|
11
|
-
import { getDefaultSettings, validateSettings, mergeSettings, } from '../../types/settings.types.js';
|
|
11
|
+
import { getDefaultSettings, validateSettings, mergeSettings, resolveApiKey, } from '../../types/settings.types.js';
|
|
12
12
|
import { atomicWriteJson, safeReadJson } from '../../utils/file-io.utils.js';
|
|
13
13
|
// ============================================================================
|
|
14
14
|
// Custom Error Classes
|
|
@@ -201,6 +201,17 @@ export class SettingsService {
|
|
|
201
201
|
this.settingsCache = merged;
|
|
202
202
|
return merged;
|
|
203
203
|
}
|
|
204
|
+
/**
|
|
205
|
+
* Resolve an API key through the override chain: skill → runtime → global → env var
|
|
206
|
+
*
|
|
207
|
+
* @param provider - The API key provider (gemini, anthropic, openai)
|
|
208
|
+
* @param context - Optional context with runtime and/or skill for override resolution
|
|
209
|
+
* @returns The resolved API key or undefined if not configured anywhere
|
|
210
|
+
*/
|
|
211
|
+
async getApiKey(provider, context) {
|
|
212
|
+
const settings = await this.getSettings();
|
|
213
|
+
return resolveApiKey(provider, settings.apiKeys, context);
|
|
214
|
+
}
|
|
204
215
|
/**
|
|
205
216
|
* Clear the settings cache
|
|
206
217
|
*
|