@quantiya/codevibe-core 1.0.2 → 1.0.4
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/README.md +15 -6
- package/bin/codevibe.js +1 -1
- package/dist/index.js +216 -67
- package/package.json +10 -10
- package/dist/appsync/appsync-client.d.ts +0 -132
- package/dist/appsync/appsync-client.js +0 -575
- package/dist/appsync/index.d.ts +0 -2
- package/dist/appsync/index.js +0 -10
- package/dist/appsync/queries.d.ts +0 -16
- package/dist/appsync/queries.js +0 -189
- package/dist/auth/auth-cli.d.ts +0 -5
- package/dist/auth/auth-cli.js +0 -217
- package/dist/auth/auth-service.d.ts +0 -53
- package/dist/auth/auth-service.js +0 -310
- package/dist/auth/index.d.ts +0 -2
- package/dist/auth/index.js +0 -9
- package/dist/config/config.d.ts +0 -53
- package/dist/config/config.js +0 -123
- package/dist/config/index.d.ts +0 -2
- package/dist/config/index.js +0 -8
- package/dist/crypto/crypto-service.d.ts +0 -118
- package/dist/crypto/crypto-service.js +0 -284
- package/dist/crypto/index.d.ts +0 -1
- package/dist/crypto/index.js +0 -9
- package/dist/index.d.ts +0 -14
- package/dist/keychain/index.d.ts +0 -1
- package/dist/keychain/index.js +0 -8
- package/dist/keychain/keychain-manager.d.ts +0 -125
- package/dist/keychain/keychain-manager.js +0 -375
- package/dist/logger/index.d.ts +0 -1
- package/dist/logger/index.js +0 -8
- package/dist/logger/logger.d.ts +0 -35
- package/dist/logger/logger.js +0 -142
- package/dist/prompt-parser.d.ts +0 -39
- package/dist/prompt-parser.js +0 -236
- package/dist/session/index.d.ts +0 -2
- package/dist/session/index.js +0 -7
- package/dist/session/session-resume.d.ts +0 -55
- package/dist/session/session-resume.js +0 -151
- package/dist/types/auth.d.ts +0 -15
- package/dist/types/auth.js +0 -3
- package/dist/types/encryption.d.ts +0 -54
- package/dist/types/encryption.js +0 -3
- package/dist/types/events.d.ts +0 -74
- package/dist/types/events.js +0 -28
- package/dist/types/index.d.ts +0 -4
- package/dist/types/index.js +0 -22
- package/dist/types/session.d.ts +0 -59
- package/dist/types/session.js +0 -22
package/dist/types/events.d.ts
DELETED
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Event types matching GraphQL schema
|
|
3
|
-
*/
|
|
4
|
-
export declare enum EventType {
|
|
5
|
-
USER_PROMPT = "USER_PROMPT",
|
|
6
|
-
ASSISTANT_RESPONSE = "ASSISTANT_RESPONSE",
|
|
7
|
-
TOOL_USE = "TOOL_USE",
|
|
8
|
-
NOTIFICATION = "NOTIFICATION",
|
|
9
|
-
INTERACTIVE_PROMPT = "INTERACTIVE_PROMPT",
|
|
10
|
-
PROMPT_RESPONSE = "PROMPT_RESPONSE",
|
|
11
|
-
REASONING = "REASONING"
|
|
12
|
-
}
|
|
13
|
-
export declare enum EventSource {
|
|
14
|
-
DESKTOP = "DESKTOP",
|
|
15
|
-
MOBILE = "MOBILE"
|
|
16
|
-
}
|
|
17
|
-
export declare enum DeliveryStatus {
|
|
18
|
-
SENT = "SENT",
|
|
19
|
-
DELIVERED = "DELIVERED",
|
|
20
|
-
EXECUTED = "EXECUTED"
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Attachment type (for images/files attached to messages)
|
|
24
|
-
*/
|
|
25
|
-
export interface Attachment {
|
|
26
|
-
id: string;
|
|
27
|
-
type: string;
|
|
28
|
-
filename?: string;
|
|
29
|
-
s3Key: string;
|
|
30
|
-
size?: number;
|
|
31
|
-
width?: number;
|
|
32
|
-
height?: number;
|
|
33
|
-
isEncrypted?: boolean;
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Event type
|
|
37
|
-
*/
|
|
38
|
-
export interface Event {
|
|
39
|
-
eventId: string;
|
|
40
|
-
sessionId: string;
|
|
41
|
-
type: EventType;
|
|
42
|
-
source: EventSource;
|
|
43
|
-
content: string;
|
|
44
|
-
timestamp: string;
|
|
45
|
-
metadata?: Record<string, any>;
|
|
46
|
-
promptId?: string;
|
|
47
|
-
attachments?: Attachment[];
|
|
48
|
-
deliveryStatus?: DeliveryStatus;
|
|
49
|
-
deliveredAt?: string;
|
|
50
|
-
executedAt?: string;
|
|
51
|
-
isEncrypted?: boolean;
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* GraphQL input for creating events
|
|
55
|
-
*/
|
|
56
|
-
export interface CreateEventInput {
|
|
57
|
-
sessionId: string;
|
|
58
|
-
type: EventType;
|
|
59
|
-
source: EventSource;
|
|
60
|
-
content: string;
|
|
61
|
-
metadata?: Record<string, any>;
|
|
62
|
-
promptId?: string;
|
|
63
|
-
timestamp?: string;
|
|
64
|
-
isEncrypted?: boolean;
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* GraphQL input for updating event status
|
|
68
|
-
*/
|
|
69
|
-
export interface UpdateEventStatusInput {
|
|
70
|
-
eventId: string;
|
|
71
|
-
sessionId: string;
|
|
72
|
-
timestamp: string;
|
|
73
|
-
deliveryStatus: DeliveryStatus;
|
|
74
|
-
}
|
package/dist/types/events.js
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DeliveryStatus = exports.EventSource = exports.EventType = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Event types matching GraphQL schema
|
|
6
|
-
*/
|
|
7
|
-
var EventType;
|
|
8
|
-
(function (EventType) {
|
|
9
|
-
EventType["USER_PROMPT"] = "USER_PROMPT";
|
|
10
|
-
EventType["ASSISTANT_RESPONSE"] = "ASSISTANT_RESPONSE";
|
|
11
|
-
EventType["TOOL_USE"] = "TOOL_USE";
|
|
12
|
-
EventType["NOTIFICATION"] = "NOTIFICATION";
|
|
13
|
-
EventType["INTERACTIVE_PROMPT"] = "INTERACTIVE_PROMPT";
|
|
14
|
-
EventType["PROMPT_RESPONSE"] = "PROMPT_RESPONSE";
|
|
15
|
-
EventType["REASONING"] = "REASONING";
|
|
16
|
-
})(EventType || (exports.EventType = EventType = {}));
|
|
17
|
-
var EventSource;
|
|
18
|
-
(function (EventSource) {
|
|
19
|
-
EventSource["DESKTOP"] = "DESKTOP";
|
|
20
|
-
EventSource["MOBILE"] = "MOBILE";
|
|
21
|
-
})(EventSource || (exports.EventSource = EventSource = {}));
|
|
22
|
-
var DeliveryStatus;
|
|
23
|
-
(function (DeliveryStatus) {
|
|
24
|
-
DeliveryStatus["SENT"] = "SENT";
|
|
25
|
-
DeliveryStatus["DELIVERED"] = "DELIVERED";
|
|
26
|
-
DeliveryStatus["EXECUTED"] = "EXECUTED";
|
|
27
|
-
})(DeliveryStatus || (exports.DeliveryStatus = DeliveryStatus = {}));
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL2V2ZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7R0FFRztBQUNILElBQVksU0FRWDtBQVJELFdBQVksU0FBUztJQUNuQix3Q0FBMkIsQ0FBQTtJQUMzQixzREFBeUMsQ0FBQTtJQUN6QyxrQ0FBcUIsQ0FBQTtJQUNyQiwwQ0FBNkIsQ0FBQTtJQUM3QixzREFBeUMsQ0FBQTtJQUN6QyxnREFBbUMsQ0FBQTtJQUNuQyxvQ0FBdUIsQ0FBQTtBQUN6QixDQUFDLEVBUlcsU0FBUyx5QkFBVCxTQUFTLFFBUXBCO0FBRUQsSUFBWSxXQUdYO0FBSEQsV0FBWSxXQUFXO0lBQ3JCLGtDQUFtQixDQUFBO0lBQ25CLGdDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFIVyxXQUFXLDJCQUFYLFdBQVcsUUFHdEI7QUFFRCxJQUFZLGNBSVg7QUFKRCxXQUFZLGNBQWM7SUFDeEIsK0JBQWEsQ0FBQTtJQUNiLHlDQUF1QixDQUFBO0lBQ3ZCLHVDQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFKVyxjQUFjLDhCQUFkLGNBQWMsUUFJekIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEV2ZW50IHR5cGVzIG1hdGNoaW5nIEdyYXBoUUwgc2NoZW1hXG4gKi9cbmV4cG9ydCBlbnVtIEV2ZW50VHlwZSB7XG4gIFVTRVJfUFJPTVBUID0gJ1VTRVJfUFJPTVBUJyxcbiAgQVNTSVNUQU5UX1JFU1BPTlNFID0gJ0FTU0lTVEFOVF9SRVNQT05TRScsXG4gIFRPT0xfVVNFID0gJ1RPT0xfVVNFJyxcbiAgTk9USUZJQ0FUSU9OID0gJ05PVElGSUNBVElPTicsXG4gIElOVEVSQUNUSVZFX1BST01QVCA9ICdJTlRFUkFDVElWRV9QUk9NUFQnLFxuICBQUk9NUFRfUkVTUE9OU0UgPSAnUFJPTVBUX1JFU1BPTlNFJyxcbiAgUkVBU09OSU5HID0gJ1JFQVNPTklORycsXG59XG5cbmV4cG9ydCBlbnVtIEV2ZW50U291cmNlIHtcbiAgREVTS1RPUCA9ICdERVNLVE9QJyxcbiAgTU9CSUxFID0gJ01PQklMRScsXG59XG5cbmV4cG9ydCBlbnVtIERlbGl2ZXJ5U3RhdHVzIHtcbiAgU0VOVCA9ICdTRU5UJyxcbiAgREVMSVZFUkVEID0gJ0RFTElWRVJFRCcsXG4gIEVYRUNVVEVEID0gJ0VYRUNVVEVEJyxcbn1cblxuLyoqXG4gKiBBdHRhY2htZW50IHR5cGUgKGZvciBpbWFnZXMvZmlsZXMgYXR0YWNoZWQgdG8gbWVzc2FnZXMpXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXR0YWNobWVudCB7XG4gIGlkOiBzdHJpbmc7XG4gIHR5cGU6IHN0cmluZztcbiAgZmlsZW5hbWU/OiBzdHJpbmc7XG4gIHMzS2V5OiBzdHJpbmc7XG4gIHNpemU/OiBudW1iZXI7XG4gIHdpZHRoPzogbnVtYmVyO1xuICBoZWlnaHQ/OiBudW1iZXI7XG4gIGlzRW5jcnlwdGVkPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBFdmVudCB0eXBlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRXZlbnQge1xuICBldmVudElkOiBzdHJpbmc7XG4gIHNlc3Npb25JZDogc3RyaW5nO1xuICB0eXBlOiBFdmVudFR5cGU7XG4gIHNvdXJjZTogRXZlbnRTb3VyY2U7XG4gIGNvbnRlbnQ6IHN0cmluZztcbiAgdGltZXN0YW1wOiBzdHJpbmc7XG4gIG1ldGFkYXRhPzogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgcHJvbXB0SWQ/OiBzdHJpbmc7XG4gIGF0dGFjaG1lbnRzPzogQXR0YWNobWVudFtdO1xuICBkZWxpdmVyeVN0YXR1cz86IERlbGl2ZXJ5U3RhdHVzO1xuICBkZWxpdmVyZWRBdD86IHN0cmluZztcbiAgZXhlY3V0ZWRBdD86IHN0cmluZztcbiAgaXNFbmNyeXB0ZWQ/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEdyYXBoUUwgaW5wdXQgZm9yIGNyZWF0aW5nIGV2ZW50c1xuICovXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZUV2ZW50SW5wdXQge1xuICBzZXNzaW9uSWQ6IHN0cmluZztcbiAgdHlwZTogRXZlbnRUeXBlO1xuICBzb3VyY2U6IEV2ZW50U291cmNlO1xuICBjb250ZW50OiBzdHJpbmc7XG4gIG1ldGFkYXRhPzogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgcHJvbXB0SWQ/OiBzdHJpbmc7XG4gIHRpbWVzdGFtcD86IHN0cmluZzsgIC8vIE9wdGlvbmFsIGNsaWVudC1wcm92aWRlZCB0aW1lc3RhbXAgZm9yIG9yZGVyaW5nXG4gIGlzRW5jcnlwdGVkPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBHcmFwaFFMIGlucHV0IGZvciB1cGRhdGluZyBldmVudCBzdGF0dXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVFdmVudFN0YXR1c0lucHV0IHtcbiAgZXZlbnRJZDogc3RyaW5nO1xuICBzZXNzaW9uSWQ6IHN0cmluZztcbiAgdGltZXN0YW1wOiBzdHJpbmc7XG4gIGRlbGl2ZXJ5U3RhdHVzOiBEZWxpdmVyeVN0YXR1cztcbn1cbiJdfQ==
|
package/dist/types/index.d.ts
DELETED
package/dist/types/index.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
// Re-export all types
|
|
18
|
-
__exportStar(require("./events"), exports);
|
|
19
|
-
__exportStar(require("./session"), exports);
|
|
20
|
-
__exportStar(require("./encryption"), exports);
|
|
21
|
-
__exportStar(require("./auth"), exports);
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHNCQUFzQjtBQUN0QiwyQ0FBeUI7QUFDekIsNENBQTBCO0FBQzFCLCtDQUE2QjtBQUM3Qix5Q0FBdUIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBSZS1leHBvcnQgYWxsIHR5cGVzXG5leHBvcnQgKiBmcm9tICcuL2V2ZW50cyc7XG5leHBvcnQgKiBmcm9tICcuL3Nlc3Npb24nO1xuZXhwb3J0ICogZnJvbSAnLi9lbmNyeXB0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vYXV0aCc7XG4iXX0=
|
package/dist/types/session.d.ts
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { EncryptedSessionKey } from './encryption';
|
|
2
|
-
/**
|
|
3
|
-
* Session status enum
|
|
4
|
-
*/
|
|
5
|
-
export declare enum SessionStatus {
|
|
6
|
-
ACTIVE = "ACTIVE",
|
|
7
|
-
INACTIVE = "INACTIVE",
|
|
8
|
-
PAUSED = "PAUSED"
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Agent type for multi-agent support
|
|
12
|
-
*/
|
|
13
|
-
export declare enum AgentType {
|
|
14
|
-
CLAUDE = "CLAUDE",
|
|
15
|
-
GEMINI = "GEMINI",
|
|
16
|
-
CODEX = "CODEX"
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Session type
|
|
20
|
-
*/
|
|
21
|
-
export interface Session {
|
|
22
|
-
sessionId: string;
|
|
23
|
-
userId: string;
|
|
24
|
-
agentType: AgentType;
|
|
25
|
-
projectPath: string;
|
|
26
|
-
status: SessionStatus;
|
|
27
|
-
createdAt: string;
|
|
28
|
-
updatedAt: string;
|
|
29
|
-
metadata?: Record<string, any>;
|
|
30
|
-
isEncrypted?: boolean;
|
|
31
|
-
encryptedKeys?: EncryptedSessionKey[];
|
|
32
|
-
creatorDeviceId?: string;
|
|
33
|
-
encryptionVersion?: number;
|
|
34
|
-
lastHeartbeatAt?: string;
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* GraphQL input for creating sessions
|
|
38
|
-
*/
|
|
39
|
-
export interface CreateSessionInput {
|
|
40
|
-
sessionId?: string;
|
|
41
|
-
userId: string;
|
|
42
|
-
agentType?: AgentType;
|
|
43
|
-
projectPath: string;
|
|
44
|
-
status?: SessionStatus;
|
|
45
|
-
metadata?: Record<string, any>;
|
|
46
|
-
encryptedKeys?: EncryptedSessionKey[];
|
|
47
|
-
creatorDeviceId?: string;
|
|
48
|
-
isEncrypted?: boolean;
|
|
49
|
-
encryptionVersion?: number;
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* GraphQL input for updating sessions
|
|
53
|
-
*/
|
|
54
|
-
export interface UpdateSessionInput {
|
|
55
|
-
sessionId: string;
|
|
56
|
-
status?: SessionStatus;
|
|
57
|
-
metadata?: Record<string, any>;
|
|
58
|
-
lastHeartbeatAt?: string;
|
|
59
|
-
}
|
package/dist/types/session.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AgentType = exports.SessionStatus = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Session status enum
|
|
6
|
-
*/
|
|
7
|
-
var SessionStatus;
|
|
8
|
-
(function (SessionStatus) {
|
|
9
|
-
SessionStatus["ACTIVE"] = "ACTIVE";
|
|
10
|
-
SessionStatus["INACTIVE"] = "INACTIVE";
|
|
11
|
-
SessionStatus["PAUSED"] = "PAUSED";
|
|
12
|
-
})(SessionStatus || (exports.SessionStatus = SessionStatus = {}));
|
|
13
|
-
/**
|
|
14
|
-
* Agent type for multi-agent support
|
|
15
|
-
*/
|
|
16
|
-
var AgentType;
|
|
17
|
-
(function (AgentType) {
|
|
18
|
-
AgentType["CLAUDE"] = "CLAUDE";
|
|
19
|
-
AgentType["GEMINI"] = "GEMINI";
|
|
20
|
-
AgentType["CODEX"] = "CODEX";
|
|
21
|
-
})(AgentType || (exports.AgentType = AgentType = {}));
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy9zZXNzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBOztHQUVHO0FBQ0gsSUFBWSxhQUlYO0FBSkQsV0FBWSxhQUFhO0lBQ3ZCLGtDQUFpQixDQUFBO0lBQ2pCLHNDQUFxQixDQUFBO0lBQ3JCLGtDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFKVyxhQUFhLDZCQUFiLGFBQWEsUUFJeEI7QUFFRDs7R0FFRztBQUNILElBQVksU0FJWDtBQUpELFdBQVksU0FBUztJQUNuQiw4QkFBaUIsQ0FBQTtJQUNqQiw4QkFBaUIsQ0FBQTtJQUNqQiw0QkFBZSxDQUFBO0FBQ2pCLENBQUMsRUFKVyxTQUFTLHlCQUFULFNBQVMsUUFJcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbmNyeXB0ZWRTZXNzaW9uS2V5IH0gZnJvbSAnLi9lbmNyeXB0aW9uJztcblxuLyoqXG4gKiBTZXNzaW9uIHN0YXR1cyBlbnVtXG4gKi9cbmV4cG9ydCBlbnVtIFNlc3Npb25TdGF0dXMge1xuICBBQ1RJVkUgPSAnQUNUSVZFJyxcbiAgSU5BQ1RJVkUgPSAnSU5BQ1RJVkUnLFxuICBQQVVTRUQgPSAnUEFVU0VEJyxcbn1cblxuLyoqXG4gKiBBZ2VudCB0eXBlIGZvciBtdWx0aS1hZ2VudCBzdXBwb3J0XG4gKi9cbmV4cG9ydCBlbnVtIEFnZW50VHlwZSB7XG4gIENMQVVERSA9ICdDTEFVREUnLFxuICBHRU1JTkkgPSAnR0VNSU5JJyxcbiAgQ09ERVggPSAnQ09ERVgnLFxufVxuXG4vKipcbiAqIFNlc3Npb24gdHlwZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlc3Npb24ge1xuICBzZXNzaW9uSWQ6IHN0cmluZztcbiAgdXNlcklkOiBzdHJpbmc7XG4gIGFnZW50VHlwZTogQWdlbnRUeXBlO1xuICBwcm9qZWN0UGF0aDogc3RyaW5nO1xuICBzdGF0dXM6IFNlc3Npb25TdGF0dXM7XG4gIGNyZWF0ZWRBdDogc3RyaW5nO1xuICB1cGRhdGVkQXQ6IHN0cmluZztcbiAgbWV0YWRhdGE/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICBpc0VuY3J5cHRlZD86IGJvb2xlYW47XG4gIGVuY3J5cHRlZEtleXM/OiBFbmNyeXB0ZWRTZXNzaW9uS2V5W107XG4gIGNyZWF0b3JEZXZpY2VJZD86IHN0cmluZztcbiAgZW5jcnlwdGlvblZlcnNpb24/OiBudW1iZXI7XG4gIGxhc3RIZWFydGJlYXRBdD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBHcmFwaFFMIGlucHV0IGZvciBjcmVhdGluZyBzZXNzaW9uc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZVNlc3Npb25JbnB1dCB7XG4gIHNlc3Npb25JZD86IHN0cmluZztcbiAgdXNlcklkOiBzdHJpbmc7XG4gIGFnZW50VHlwZT86IEFnZW50VHlwZTtcbiAgcHJvamVjdFBhdGg6IHN0cmluZztcbiAgc3RhdHVzPzogU2Vzc2lvblN0YXR1cztcbiAgbWV0YWRhdGE/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICBlbmNyeXB0ZWRLZXlzPzogRW5jcnlwdGVkU2Vzc2lvbktleVtdO1xuICBjcmVhdG9yRGV2aWNlSWQ/OiBzdHJpbmc7XG4gIGlzRW5jcnlwdGVkPzogYm9vbGVhbjtcbiAgZW5jcnlwdGlvblZlcnNpb24/OiBudW1iZXI7XG59XG5cbi8qKlxuICogR3JhcGhRTCBpbnB1dCBmb3IgdXBkYXRpbmcgc2Vzc2lvbnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVTZXNzaW9uSW5wdXQge1xuICBzZXNzaW9uSWQ6IHN0cmluZztcbiAgc3RhdHVzPzogU2Vzc2lvblN0YXR1cztcbiAgbWV0YWRhdGE/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICBsYXN0SGVhcnRiZWF0QXQ/OiBzdHJpbmc7XG59XG4iXX0=
|