codehere 0.5.0-alpha → 0.5.1-alpha
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/application/agents/execution-agent.js +2 -2
- package/dist/application/services/dependency-container.d.ts.map +1 -1
- package/dist/application/services/dependency-container.js +3 -25
- package/dist/application/services/dependency-container.js.map +1 -1
- package/dist/application/services/intelligent-router.d.ts +5 -11
- package/dist/application/services/intelligent-router.d.ts.map +1 -1
- package/dist/application/services/intelligent-router.js +80 -147
- package/dist/application/services/intelligent-router.js.map +1 -1
- package/dist/application/use-cases/ask-question-use-case.d.ts +0 -1
- package/dist/application/use-cases/ask-question-use-case.d.ts.map +1 -1
- package/dist/application/use-cases/ask-question-use-case.js +3 -4
- package/dist/application/use-cases/ask-question-use-case.js.map +1 -1
- package/dist/chat.d.ts.map +1 -1
- package/dist/chat.js +18 -7
- package/dist/chat.js.map +1 -1
- package/dist/index.js +7 -3
- package/dist/index.js.map +1 -1
- package/dist/infrastructure/ai/cohere-ai-service.js +1 -1
- package/dist/infrastructure/ai/provider-ai-service.js +1 -1
- package/dist/infrastructure/context/conversation-context.d.ts +11 -10
- package/dist/infrastructure/context/conversation-context.d.ts.map +1 -1
- package/dist/infrastructure/context/conversation-context.js +2 -5
- package/dist/infrastructure/context/conversation-context.js.map +1 -1
- package/dist/infrastructure/index.d.ts +0 -1
- package/dist/infrastructure/index.d.ts.map +1 -1
- package/dist/infrastructure/index.js +2 -1
- package/dist/infrastructure/index.js.map +1 -1
- package/dist/infrastructure/providers/cohere-provider.d.ts +2 -1
- package/dist/infrastructure/providers/cohere-provider.d.ts.map +1 -1
- package/dist/infrastructure/providers/cohere-provider.js +37 -13
- package/dist/infrastructure/providers/cohere-provider.js.map +1 -1
- package/dist/infrastructure/providers/operation-provider-resolver.d.ts.map +1 -1
- package/dist/infrastructure/providers/operation-provider-resolver.js +7 -33
- package/dist/infrastructure/providers/operation-provider-resolver.js.map +1 -1
- package/dist/infrastructure/security/network-guard.d.ts +8 -0
- package/dist/infrastructure/security/network-guard.d.ts.map +1 -0
- package/dist/infrastructure/security/network-guard.js +70 -0
- package/dist/infrastructure/security/network-guard.js.map +1 -0
- package/dist/infrastructure/security/offline.d.ts +16 -0
- package/dist/infrastructure/security/offline.d.ts.map +1 -0
- package/dist/infrastructure/security/offline.js +24 -0
- package/dist/infrastructure/security/offline.js.map +1 -0
- package/dist/infrastructure/storage/memory-stream-service.d.ts.map +1 -1
- package/dist/infrastructure/storage/memory-stream-service.js +88 -58
- package/dist/infrastructure/storage/memory-stream-service.js.map +1 -1
- package/dist/infrastructure/storage/sqljs-init.d.ts +8 -0
- package/dist/infrastructure/storage/sqljs-init.d.ts.map +1 -0
- package/dist/infrastructure/storage/sqljs-init.js +23 -0
- package/dist/infrastructure/storage/sqljs-init.js.map +1 -0
- package/dist/infrastructure/ux/meta-query.d.ts +9 -0
- package/dist/infrastructure/ux/meta-query.d.ts.map +1 -0
- package/dist/infrastructure/ux/meta-query.js +63 -0
- package/dist/infrastructure/ux/meta-query.js.map +1 -0
- package/dist/infrastructure/ux/progress-indicator.d.ts +10 -49
- package/dist/infrastructure/ux/progress-indicator.d.ts.map +1 -1
- package/dist/infrastructure/ux/progress-indicator.js +9 -112
- package/dist/infrastructure/ux/progress-indicator.js.map +1 -1
- package/dist/infrastructure/ux/repo-fingerprint.d.ts +10 -0
- package/dist/infrastructure/ux/repo-fingerprint.d.ts.map +1 -0
- package/dist/infrastructure/ux/repo-fingerprint.js +55 -0
- package/dist/infrastructure/ux/repo-fingerprint.js.map +1 -0
- package/dist/presentation/cli/commands/ask-command.d.ts.map +1 -1
- package/dist/presentation/cli/commands/ask-command.js +56 -77
- package/dist/presentation/cli/commands/ask-command.js.map +1 -1
- package/dist/presentation/cli/commands/fix-command.d.ts.map +1 -1
- package/dist/presentation/cli/commands/fix-command.js +1 -23
- package/dist/presentation/cli/commands/fix-command.js.map +1 -1
- package/dist/presentation/cli/commands/smart-command.d.ts.map +1 -1
- package/dist/presentation/cli/commands/smart-command.js +0 -1
- package/dist/presentation/cli/commands/smart-command.js.map +1 -1
- package/dist/search.d.ts.map +1 -1
- package/dist/search.js +18 -5
- package/dist/search.js.map +1 -1
- package/dist/session.d.ts +0 -1
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +5 -11
- package/dist/session.js.map +1 -1
- package/dist/tools/bash.d 2.ts +53 -0
- package/dist/tools/bash.js 2.map +1 -0
- package/dist/tools/edit 2.js +235 -0
- package/dist/tools/edit.d.ts 2.map +1 -0
- package/package.json +4 -3
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Conversation Context Manager
|
|
3
|
-
* Manages conversation history and context for session-aware interactions
|
|
4
|
-
*
|
|
5
|
-
* Phase 1: v0.5.0-alpha.0
|
|
2
|
+
* Conversation Context Manager (v0.5.0-alpha.0)
|
|
6
3
|
*/
|
|
4
|
+
export interface ConversationEntity {
|
|
5
|
+
type: 'file' | 'symbol';
|
|
6
|
+
value: string;
|
|
7
|
+
}
|
|
7
8
|
export interface ConversationTurn {
|
|
8
9
|
query: string;
|
|
9
10
|
response: string;
|
|
10
|
-
timestamp: string
|
|
11
|
-
entities?:
|
|
12
|
-
intent?:
|
|
11
|
+
timestamp: string;
|
|
12
|
+
entities?: ConversationEntity[];
|
|
13
|
+
intent?: string;
|
|
13
14
|
}
|
|
14
|
-
interface ConversationSession {
|
|
15
|
+
export interface ConversationSession {
|
|
15
16
|
sessionId: string;
|
|
16
17
|
turns: ConversationTurn[];
|
|
17
18
|
createdAt: number;
|
|
@@ -35,11 +36,11 @@ declare class ConversationContextManager {
|
|
|
35
36
|
/**
|
|
36
37
|
* Extract entities from text (simple heuristic-based extraction)
|
|
37
38
|
*/
|
|
38
|
-
extractEntities(text: string,
|
|
39
|
+
extractEntities(text: string, _options?: unknown): ConversationEntity[];
|
|
39
40
|
/**
|
|
40
41
|
* Add a conversation turn
|
|
41
42
|
*/
|
|
42
|
-
addTurn(sessionId: string, query: string, response: string, entities?:
|
|
43
|
+
addTurn(sessionId: string, query: string, response: string, entities?: ConversationEntity[], intent?: string): void;
|
|
43
44
|
/**
|
|
44
45
|
* Get full context for a session
|
|
45
46
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation-context.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/context/conversation-context.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"conversation-context.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/context/conversation-context.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,cAAM,0BAA0B;IAC9B,OAAO,CAAC,QAAQ,CAA+C;IAC/D,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAM;IAE3C;;OAEG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,gBAAgB,EAAE;IAgBrE;;OAEG;IACH,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAkC3D;;OAEG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,kBAAkB,EAAE;IAqBvE;;OAEG;IACH,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAE,kBAAkB,EAAO,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IA8BvH;;OAEG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI;IAIzD;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;CAOhC;AAED,eAAO,MAAM,0BAA0B,4BAAmC,CAAC"}
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Conversation Context Manager
|
|
3
|
-
* Manages conversation history and context for session-aware interactions
|
|
4
|
-
*
|
|
5
|
-
* Phase 1: v0.5.0-alpha.0
|
|
2
|
+
* Conversation Context Manager (v0.5.0-alpha.0)
|
|
6
3
|
*/
|
|
7
4
|
/**
|
|
8
5
|
* In-memory conversation context manager
|
|
@@ -62,7 +59,7 @@ class ConversationContextManager {
|
|
|
62
59
|
/**
|
|
63
60
|
* Extract entities from text (simple heuristic-based extraction)
|
|
64
61
|
*/
|
|
65
|
-
extractEntities(text,
|
|
62
|
+
extractEntities(text, _options) {
|
|
66
63
|
// Simple entity extraction - can be enhanced later
|
|
67
64
|
const entities = [];
|
|
68
65
|
// Extract file paths
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation-context.js","sourceRoot":"","sources":["../../../src/infrastructure/context/conversation-context.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"conversation-context.js","sourceRoot":"","sources":["../../../src/infrastructure/context/conversation-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/infrastructure/index.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/infrastructure/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,cAAc,0CAA0C,CAAC;AACzD,cAAc,uCAAuC,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Infrastructure Layer - Public Exports
|
|
3
3
|
*/
|
|
4
|
-
export
|
|
4
|
+
// Lazy export - don't export cohere-ai-service to prevent loading cohere-ai
|
|
5
|
+
// export * from './ai/cohere-ai-service.js';
|
|
5
6
|
export * from './storage/sqlite-embedding-repository.js';
|
|
6
7
|
export * from './storage/sqlite-memory-repository.js';
|
|
7
8
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/infrastructure/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/infrastructure/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,4EAA4E;AAC5E,6CAA6C;AAC7C,cAAc,0CAA0C,CAAC;AACzD,cAAc,uCAAuC,CAAC"}
|
|
@@ -16,7 +16,8 @@ export declare class CohereProvider implements IModelProvider {
|
|
|
16
16
|
readonly id = "cohere";
|
|
17
17
|
readonly name = "Cohere";
|
|
18
18
|
readonly capabilities: ProviderCapabilities;
|
|
19
|
-
private
|
|
19
|
+
private clientPromise;
|
|
20
|
+
private getClient;
|
|
20
21
|
constructor(apiKey?: string);
|
|
21
22
|
getModels(): Promise<ModelInfo[]>;
|
|
22
23
|
getDefaultModel(): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cohere-provider.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/providers/cohere-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"cohere-provider.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/providers/cohere-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAQH,OAAO,KAAK,EACV,cAAc,EACd,oBAAoB,EACpB,SAAS,EACT,WAAW,EACX,YAAY,EACZ,WAAW,EACX,cAAc,EAEf,MAAM,+BAA+B,CAAC;AAmCvC;;;GAGG;AACH,qBAAa,cAAe,YAAW,cAAc;IACnD,QAAQ,CAAC,EAAE,YAAY;IACvB,QAAQ,CAAC,IAAI,YAAY;IAEzB,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAOzC;IAEF,OAAO,CAAC,aAAa,CAA6B;YAEpC,SAAS;gBAcX,MAAM,CAAC,EAAE,MAAM;IAYrB,SAAS,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAiGvC,eAAe,IAAI,MAAM;IAUnB,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAqClE,UAAU,CACd,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,WAAW,EACrB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,GACrC,OAAO,CAAC,YAAY,CAAC;IAyElB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC;IA8B9D,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAoC5C,MAAM,CACV,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EAAE,EACnB,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC1C,OAAO,CAAC,cAAc,CAAC;IA4CpB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAM3D,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAqBrC,WAAW,CAAC,CAAC,KAAK,EAAE,OAAO,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;CAmEpF"}
|
|
@@ -7,7 +7,8 @@
|
|
|
7
7
|
* TODO: In Phase 4B, integrate with CohereAIService context compression and prompt building.
|
|
8
8
|
* For now, this is a minimal wrapper that preserves existing Cohere behavior.
|
|
9
9
|
*/
|
|
10
|
-
import
|
|
10
|
+
// Lazy import - don't load cohere-ai SDK at module load time
|
|
11
|
+
// import { CohereClient } from 'cohere-ai';
|
|
11
12
|
import { config } from 'dotenv';
|
|
12
13
|
import { join, dirname } from 'path';
|
|
13
14
|
import { fileURLToPath } from 'url';
|
|
@@ -60,13 +61,30 @@ export class CohereProvider {
|
|
|
60
61
|
rerank: true,
|
|
61
62
|
toolCalling: true, // Cohere supports tool calling
|
|
62
63
|
};
|
|
63
|
-
|
|
64
|
+
clientPromise = null;
|
|
65
|
+
async getClient() {
|
|
66
|
+
if (!this.clientPromise) {
|
|
67
|
+
this.clientPromise = (async () => {
|
|
68
|
+
const { CohereClient } = await import('cohere-ai');
|
|
69
|
+
const key = process.env.COHERE_API_KEY;
|
|
70
|
+
if (!key) {
|
|
71
|
+
throw new Error('COHERE_API_KEY not found in environment');
|
|
72
|
+
}
|
|
73
|
+
return new CohereClient({ token: key });
|
|
74
|
+
})();
|
|
75
|
+
}
|
|
76
|
+
return this.clientPromise;
|
|
77
|
+
}
|
|
64
78
|
constructor(apiKey) {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
79
|
+
// Lazy initialization - don't load cohere-ai SDK at construction time
|
|
80
|
+
// This prevents hangs when FAKE_AI=1
|
|
81
|
+
if (apiKey) {
|
|
82
|
+
// If API key provided, pre-initialize
|
|
83
|
+
this.clientPromise = (async () => {
|
|
84
|
+
const { CohereClient } = await import('cohere-ai');
|
|
85
|
+
return new CohereClient({ token: apiKey });
|
|
86
|
+
})();
|
|
68
87
|
}
|
|
69
|
-
this.client = new CohereClient({ token: key });
|
|
70
88
|
}
|
|
71
89
|
async getModels() {
|
|
72
90
|
// TODO: In Phase 4B, fetch available models from Cohere API if possible
|
|
@@ -175,9 +193,10 @@ export class CohereProvider {
|
|
|
175
193
|
}
|
|
176
194
|
async chat(prompt, options) {
|
|
177
195
|
const model = options?.model || this.getDefaultModel();
|
|
196
|
+
const client = await this.getClient();
|
|
178
197
|
return await retryWithBackoff(async () => {
|
|
179
198
|
return await cohereCircuitBreaker.execute(async () => {
|
|
180
|
-
const response = await
|
|
199
|
+
const response = await client.chat({
|
|
181
200
|
message: prompt,
|
|
182
201
|
...(model ? { model } : {}),
|
|
183
202
|
temperature: options?.temperature ?? 0.7,
|
|
@@ -204,14 +223,15 @@ export class CohereProvider {
|
|
|
204
223
|
}
|
|
205
224
|
async chatStream(prompt, options, onEvent) {
|
|
206
225
|
const model = options?.model || this.getDefaultModel();
|
|
226
|
+
const client = await this.getClient();
|
|
207
227
|
let fullText = '';
|
|
208
228
|
try {
|
|
209
229
|
if (onEvent) {
|
|
210
230
|
onEvent({ type: 'start' });
|
|
211
231
|
}
|
|
212
232
|
// Check if Cohere SDK supports streaming
|
|
213
|
-
if (typeof
|
|
214
|
-
const stream = await
|
|
233
|
+
if (typeof client.chatStream === 'function') {
|
|
234
|
+
const stream = await client.chatStream({
|
|
215
235
|
message: prompt,
|
|
216
236
|
...(model ? { model } : {}),
|
|
217
237
|
temperature: options?.temperature ?? 0.7,
|
|
@@ -270,9 +290,10 @@ export class CohereProvider {
|
|
|
270
290
|
}
|
|
271
291
|
async embed(text) {
|
|
272
292
|
const texts = Array.isArray(text) ? text : [text];
|
|
293
|
+
const client = await this.getClient();
|
|
273
294
|
return await retryWithBackoff(async () => {
|
|
274
295
|
return await cohereCircuitBreaker.execute(async () => {
|
|
275
|
-
const response = await
|
|
296
|
+
const response = await client.embed({
|
|
276
297
|
texts,
|
|
277
298
|
model: 'embed-english-v3.0',
|
|
278
299
|
inputType: 'search_document',
|
|
@@ -291,9 +312,10 @@ export class CohereProvider {
|
|
|
291
312
|
});
|
|
292
313
|
}
|
|
293
314
|
async embedQuery(query) {
|
|
315
|
+
const client = await this.getClient();
|
|
294
316
|
return await retryWithBackoff(async () => {
|
|
295
317
|
return await cohereCircuitBreaker.execute(async () => {
|
|
296
|
-
const response = await
|
|
318
|
+
const response = await client.embed({
|
|
297
319
|
texts: [query],
|
|
298
320
|
model: 'embed-english-v3.0',
|
|
299
321
|
inputType: 'search_query',
|
|
@@ -333,7 +355,8 @@ export class CohereProvider {
|
|
|
333
355
|
const model = options?.model || 'rerank-english-v3.0';
|
|
334
356
|
return await retryWithBackoff(async () => {
|
|
335
357
|
return await cohereCircuitBreaker.execute(async () => {
|
|
336
|
-
const
|
|
358
|
+
const client = await this.getClient();
|
|
359
|
+
const response = await client.rerank({
|
|
337
360
|
model,
|
|
338
361
|
query,
|
|
339
362
|
documents: documentsToRerank,
|
|
@@ -362,9 +385,10 @@ export class CohereProvider {
|
|
|
362
385
|
}
|
|
363
386
|
async isAvailable() {
|
|
364
387
|
try {
|
|
388
|
+
const client = await this.getClient();
|
|
365
389
|
// Actually test API connectivity with a minimal API call
|
|
366
390
|
// getModels() doesn't make an API call, so we need to test with a real endpoint
|
|
367
|
-
const response = await
|
|
391
|
+
const response = await client.chat({
|
|
368
392
|
message: 'test',
|
|
369
393
|
model: 'command-r-08-2024',
|
|
370
394
|
maxTokens: 1,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cohere-provider.js","sourceRoot":"","sources":["../../../src/infrastructure/providers/cohere-provider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cohere-provider.js","sourceRoot":"","sources":["../../../src/infrastructure/providers/cohere-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operation-provider-resolver.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/providers/operation-provider-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;AAE5D;;;;;;;;;;;GAWG;AACH,qBAAa,yBAAyB;IACpC,OAAO,CAAC,eAAe,CAAwC;IAC/D,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,QAAQ,CAAmB;gBAGjC,QAAQ,EAAE,gBAAgB,EAC1B,eAAe,CAAC,EAAE,uBAAuB,GAAG,IAAI,EAChD,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI;IAOvC;;;;;OAKG;IACH,eAAe,CAAC,SAAS,EAAE,aAAa,GAAG,cAAc;
|
|
1
|
+
{"version":3,"file":"operation-provider-resolver.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/providers/operation-provider-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;AAE5D;;;;;;;;;;;GAWG;AACH,qBAAa,yBAAyB;IACpC,OAAO,CAAC,eAAe,CAAwC;IAC/D,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,QAAQ,CAAmB;gBAGjC,QAAQ,EAAE,gBAAgB,EAC1B,eAAe,CAAC,EAAE,uBAAuB,GAAG,IAAI,EAChD,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI;IAOvC;;;;;OAKG;IACH,eAAe,CAAC,SAAS,EAAE,aAAa,GAAG,cAAc;IAiEzD;;OAEG;IACH,kBAAkB,CAAC,MAAM,EAAE,uBAAuB,GAAG,IAAI,GAAG,IAAI;IAIhE;;OAEG;IACH,kBAAkB,IAAI,uBAAuB,GAAG,IAAI;CAGrD"}
|
|
@@ -33,26 +33,9 @@ export class OperationProviderResolver {
|
|
|
33
33
|
* @returns The IModelProvider to use for this operation
|
|
34
34
|
*/
|
|
35
35
|
resolveProvider(operation) {
|
|
36
|
-
const supportsOperation = (provider) => {
|
|
37
|
-
if (!provider)
|
|
38
|
-
return false;
|
|
39
|
-
return provider.capabilities?.[operation] === true || operation === 'chat'; // chat assumed supported if provider exists
|
|
40
|
-
};
|
|
41
|
-
const safeGet = (providerId, context) => {
|
|
42
|
-
if (!providerId)
|
|
43
|
-
return undefined;
|
|
44
|
-
const provider = this.registry.get(providerId);
|
|
45
|
-
if (provider && supportsOperation(provider)) {
|
|
46
|
-
return provider;
|
|
47
|
-
}
|
|
48
|
-
if (provider && !supportsOperation(provider)) {
|
|
49
|
-
console.warn(`[OperationProviderResolver] Provider '${providerId}' does not support '${operation}', skipping (${context})`);
|
|
50
|
-
}
|
|
51
|
-
return undefined;
|
|
52
|
-
};
|
|
53
36
|
// Precedence 1: FakeProvider always wins if CODEHERE_FAKE_AI=1
|
|
54
37
|
if (process.env.CODEHERE_FAKE_AI === '1') {
|
|
55
|
-
const fakeProvider =
|
|
38
|
+
const fakeProvider = this.registry.get('fake');
|
|
56
39
|
if (fakeProvider) {
|
|
57
40
|
return fakeProvider;
|
|
58
41
|
}
|
|
@@ -73,16 +56,16 @@ export class OperationProviderResolver {
|
|
|
73
56
|
}
|
|
74
57
|
// If operation-specific provider is set, use it
|
|
75
58
|
if (providerId) {
|
|
76
|
-
const provider =
|
|
59
|
+
const provider = this.registry.get(providerId);
|
|
77
60
|
if (provider) {
|
|
78
61
|
return provider;
|
|
79
62
|
}
|
|
80
63
|
// If operation provider is misconfigured, fall through to next precedence
|
|
81
|
-
console.warn(`[OperationProviderResolver] Provider '${providerId}' not found
|
|
64
|
+
console.warn(`[OperationProviderResolver] Provider '${providerId}' not found for operation '${operation}', falling back to default`);
|
|
82
65
|
}
|
|
83
66
|
// Check for default in operation config
|
|
84
67
|
if (this.operationConfig.default) {
|
|
85
|
-
const provider =
|
|
68
|
+
const provider = this.registry.get(this.operationConfig.default);
|
|
86
69
|
if (provider) {
|
|
87
70
|
return provider;
|
|
88
71
|
}
|
|
@@ -90,7 +73,7 @@ export class OperationProviderResolver {
|
|
|
90
73
|
}
|
|
91
74
|
// Precedence 2b: Config default provider (if no operation override)
|
|
92
75
|
if (this.configDefault) {
|
|
93
|
-
const provider =
|
|
76
|
+
const provider = this.registry.get(this.configDefault);
|
|
94
77
|
if (provider) {
|
|
95
78
|
return provider;
|
|
96
79
|
}
|
|
@@ -98,22 +81,13 @@ export class OperationProviderResolver {
|
|
|
98
81
|
// Precedence 3: Global provider env choice (CODEHERE_AI_PROVIDER)
|
|
99
82
|
const requestedProvider = process.env.CODEHERE_AI_PROVIDER?.toLowerCase();
|
|
100
83
|
if (requestedProvider) {
|
|
101
|
-
const provider =
|
|
84
|
+
const provider = this.registry.get(requestedProvider);
|
|
102
85
|
if (provider) {
|
|
103
86
|
return provider;
|
|
104
87
|
}
|
|
105
88
|
}
|
|
106
89
|
// Precedence 4: Registry default provider (fallback)
|
|
107
|
-
|
|
108
|
-
if (supportsOperation(defaultProvider)) {
|
|
109
|
-
return defaultProvider;
|
|
110
|
-
}
|
|
111
|
-
// Final fallback: first provider that supports the operation
|
|
112
|
-
const candidates = this.registry.findByCapability(operation);
|
|
113
|
-
if (candidates.length > 0) {
|
|
114
|
-
return candidates[0];
|
|
115
|
-
}
|
|
116
|
-
return defaultProvider;
|
|
90
|
+
return this.registry.getDefault();
|
|
117
91
|
}
|
|
118
92
|
/**
|
|
119
93
|
* Set operation-level configuration (for testing or future config file support)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operation-provider-resolver.js","sourceRoot":"","sources":["../../../src/infrastructure/providers/operation-provider-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAWH;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,yBAAyB;IAC5B,eAAe,GAAmC,IAAI,CAAC;IACvD,aAAa,GAAkB,IAAI,CAAC;IACpC,QAAQ,CAAmB;IAEnC,YACE,QAA0B,EAC1B,eAAgD,EAChD,qBAAqC;QAErC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,eAAe,GAAG,eAAe,IAAI,IAAI,CAAC;QAC/C,IAAI,CAAC,aAAa,GAAG,qBAAqB,IAAI,IAAI,CAAC;IACrD,CAAC;IAED;;;;;OAKG;IACH,eAAe,CAAC,SAAwB;QACtC
|
|
1
|
+
{"version":3,"file":"operation-provider-resolver.js","sourceRoot":"","sources":["../../../src/infrastructure/providers/operation-provider-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
type NetworkGuardOptions = {
|
|
2
|
+
allowLocalhost?: boolean;
|
|
3
|
+
allowHosts?: string[];
|
|
4
|
+
};
|
|
5
|
+
export declare function installNetworkGuard(options?: NetworkGuardOptions): void;
|
|
6
|
+
export declare function uninstallNetworkGuardForTestsOnly(): void;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=network-guard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"network-guard.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/security/network-guard.ts"],"names":[],"mappings":"AAYA,KAAK,mBAAmB,GAAG;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB,CAAC;AAsBF,wBAAgB,mBAAmB,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAkCvE;AAED,wBAAgB,iCAAiC,IAAI,IAAI,CAOxD"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Security: Network Guard
|
|
3
|
+
* Blocks outbound network calls when offline mode is enabled.
|
|
4
|
+
*
|
|
5
|
+
* Implementation strategy:
|
|
6
|
+
* - Patch global fetch (Node >= 18) to enforce a deny-by-default policy.
|
|
7
|
+
* - Allow localhost by default so local providers (Ollama/LM Studio) keep working.
|
|
8
|
+
*
|
|
9
|
+
* No new dependencies.
|
|
10
|
+
*/
|
|
11
|
+
import { isOfflineModeEnabled, getOfflineModeReason } from './offline.js';
|
|
12
|
+
let installed = false;
|
|
13
|
+
let originalFetch = null;
|
|
14
|
+
function isLocalhostHost(hostname) {
|
|
15
|
+
return hostname === 'localhost' || hostname === '127.0.0.1' || hostname === '::1';
|
|
16
|
+
}
|
|
17
|
+
function getUrlFromInput(input) {
|
|
18
|
+
try {
|
|
19
|
+
if (typeof input === 'string')
|
|
20
|
+
return new URL(input);
|
|
21
|
+
if (input instanceof URL)
|
|
22
|
+
return input;
|
|
23
|
+
// Request
|
|
24
|
+
const anyInput = input;
|
|
25
|
+
if (anyInput?.url)
|
|
26
|
+
return new URL(String(anyInput.url));
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
export function installNetworkGuard(options) {
|
|
34
|
+
if (installed)
|
|
35
|
+
return;
|
|
36
|
+
// Only install guard if offline mode is enabled.
|
|
37
|
+
if (!isOfflineModeEnabled())
|
|
38
|
+
return;
|
|
39
|
+
if (typeof globalThis.fetch !== 'function') {
|
|
40
|
+
// Nothing to guard (older runtime); offline enforcement will rely on provider gating.
|
|
41
|
+
installed = true;
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
const allowLocalhost = options?.allowLocalhost !== false;
|
|
45
|
+
const allowHosts = new Set((options?.allowHosts || []).map(h => h.toLowerCase()));
|
|
46
|
+
originalFetch = globalThis.fetch.bind(globalThis);
|
|
47
|
+
globalThis.fetch = (async (input, init) => {
|
|
48
|
+
const url = getUrlFromInput(input);
|
|
49
|
+
if (url) {
|
|
50
|
+
const hostname = url.hostname.toLowerCase();
|
|
51
|
+
const allowed = (allowLocalhost && isLocalhostHost(hostname)) ||
|
|
52
|
+
allowHosts.has(hostname);
|
|
53
|
+
if (!allowed) {
|
|
54
|
+
throw new Error(`${getOfflineModeReason()} Blocked request to ${url.origin}`);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return await originalFetch(input, init);
|
|
58
|
+
});
|
|
59
|
+
installed = true;
|
|
60
|
+
}
|
|
61
|
+
export function uninstallNetworkGuardForTestsOnly() {
|
|
62
|
+
if (!installed)
|
|
63
|
+
return;
|
|
64
|
+
if (originalFetch) {
|
|
65
|
+
globalThis.fetch = originalFetch;
|
|
66
|
+
}
|
|
67
|
+
installed = false;
|
|
68
|
+
originalFetch = null;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=network-guard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"network-guard.js","sourceRoot":"","sources":["../../../src/infrastructure/security/network-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAO1E,IAAI,SAAS,GAAG,KAAK,CAAC;AACtB,IAAI,aAAa,GAAwB,IAAI,CAAC;AAE9C,SAAS,eAAe,CAAC,QAAgB;IACvC,OAAO,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,KAAK,CAAC;AACpF,CAAC;AAED,SAAS,eAAe,CAAC,KAAkC;IACzD,IAAI,CAAC;QACH,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,KAAK,YAAY,GAAG;YAAE,OAAO,KAAK,CAAC;QACvC,UAAU;QACV,MAAM,QAAQ,GAAG,KAAY,CAAC;QAC9B,IAAI,QAAQ,EAAE,GAAG;YAAE,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAA6B;IAC/D,IAAI,SAAS;QAAE,OAAO;IAEtB,iDAAiD;IACjD,IAAI,CAAC,oBAAoB,EAAE;QAAE,OAAO;IAEpC,IAAI,OAAO,UAAU,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;QAC3C,sFAAsF;QACtF,SAAS,GAAG,IAAI,CAAC;QACjB,OAAO;IACT,CAAC;IAED,MAAM,cAAc,GAAG,OAAO,EAAE,cAAc,KAAK,KAAK,CAAC;IACzD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAElF,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAElD,UAAU,CAAC,KAAK,GAAG,CAAC,KAAK,EAAE,KAAU,EAAE,IAAU,EAAE,EAAE;QACnD,MAAM,GAAG,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC5C,MAAM,OAAO,GACX,CAAC,cAAc,IAAI,eAAe,CAAC,QAAQ,CAAC,CAAC;gBAC7C,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAE3B,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,GAAG,oBAAoB,EAAE,uBAAuB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YAChF,CAAC;QACH,CAAC;QAED,OAAO,MAAO,aAAqB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC,CAAQ,CAAC;IAEV,SAAS,GAAG,IAAI,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,iCAAiC;IAC/C,IAAI,CAAC,SAAS;QAAE,OAAO;IACvB,IAAI,aAAa,EAAE,CAAC;QAClB,UAAU,CAAC,KAAK,GAAG,aAAoB,CAAC;IAC1C,CAAC;IACD,SAAS,GAAG,KAAK,CAAC;IAClB,aAAa,GAAG,IAAI,CAAC;AACvB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Security: Offline Mode
|
|
3
|
+
* Centralized detection for "no network" execution.
|
|
4
|
+
*
|
|
5
|
+
* IMPORTANT:
|
|
6
|
+
* - Keep logic minimal and dependency-free.
|
|
7
|
+
* - This is an execution contract, not just UX copy.
|
|
8
|
+
*/
|
|
9
|
+
export declare function isOfflineModeEnabled(): boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Enable offline mode early when `--offline` is passed.
|
|
12
|
+
* We set an env var so downstream modules (DI / providers) can react without plumbing.
|
|
13
|
+
*/
|
|
14
|
+
export declare function enableOfflineModeFromArgv(argv?: string[]): void;
|
|
15
|
+
export declare function getOfflineModeReason(): string;
|
|
16
|
+
//# sourceMappingURL=offline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"offline.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/security/offline.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAE9C;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,GAAE,MAAM,EAAiB,GAAG,IAAI,CAI7E;AAED,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Security: Offline Mode
|
|
3
|
+
* Centralized detection for "no network" execution.
|
|
4
|
+
*
|
|
5
|
+
* IMPORTANT:
|
|
6
|
+
* - Keep logic minimal and dependency-free.
|
|
7
|
+
* - This is an execution contract, not just UX copy.
|
|
8
|
+
*/
|
|
9
|
+
export function isOfflineModeEnabled() {
|
|
10
|
+
return process.env.CODEHERE_OFFLINE === '1' || process.env.CODEHERE_OFFLINE === 'true';
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Enable offline mode early when `--offline` is passed.
|
|
14
|
+
* We set an env var so downstream modules (DI / providers) can react without plumbing.
|
|
15
|
+
*/
|
|
16
|
+
export function enableOfflineModeFromArgv(argv = process.argv) {
|
|
17
|
+
if (argv.includes('--offline')) {
|
|
18
|
+
process.env.CODEHERE_OFFLINE = '1';
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
export function getOfflineModeReason() {
|
|
22
|
+
return 'Offline mode is enabled (no outbound network calls allowed).';
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=offline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"offline.js","sourceRoot":"","sources":["../../../src/infrastructure/security/offline.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB;IAClC,OAAO,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,MAAM,CAAC;AACzF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CAAC,OAAiB,OAAO,CAAC,IAAI;IACrE,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,GAAG,CAAC;IACrC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO,8DAA8D,CAAC;AACxE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-stream-service.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/storage/memory-stream-service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAEvE,OAAO,KAAK,EAAE,MAAM,EAAc,MAAM,iCAAiC,CAAC;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iDAAiD,CAAC;AAGlF,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,UAAU,CAAyB;IAC3C,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,cAAc,CAAuB;gBAEjC,UAAU,EAAE,sBAAsB,EAAE,SAAS,EAAE,UAAU;IAMrE;;OAEG;IACG,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"memory-stream-service.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/storage/memory-stream-service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAEvE,OAAO,KAAK,EAAE,MAAM,EAAc,MAAM,iCAAiC,CAAC;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iDAAiD,CAAC;AAGlF,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,UAAU,CAAyB;IAC3C,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,cAAc,CAAuB;gBAEjC,UAAU,EAAE,sBAAsB,EAAE,SAAS,EAAE,UAAU;IAMrE;;OAEG;IACG,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BvH;;OAEG;IACG,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BzJ;;OAEG;IACG,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2B3G;;;;OAIG;IACG,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,EAAE,SAAS,GAAE,OAAc,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAmD/F;;;;OAIG;IACG,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,EAAE,SAAS,GAAE,OAAc,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAoD7H;;OAEG;IACG,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjD;;OAEG;IACH,OAAO,CAAC,mBAAmB;CAoB5B"}
|