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.
Files changed (82) hide show
  1. package/dist/application/agents/execution-agent.js +2 -2
  2. package/dist/application/services/dependency-container.d.ts.map +1 -1
  3. package/dist/application/services/dependency-container.js +3 -25
  4. package/dist/application/services/dependency-container.js.map +1 -1
  5. package/dist/application/services/intelligent-router.d.ts +5 -11
  6. package/dist/application/services/intelligent-router.d.ts.map +1 -1
  7. package/dist/application/services/intelligent-router.js +80 -147
  8. package/dist/application/services/intelligent-router.js.map +1 -1
  9. package/dist/application/use-cases/ask-question-use-case.d.ts +0 -1
  10. package/dist/application/use-cases/ask-question-use-case.d.ts.map +1 -1
  11. package/dist/application/use-cases/ask-question-use-case.js +3 -4
  12. package/dist/application/use-cases/ask-question-use-case.js.map +1 -1
  13. package/dist/chat.d.ts.map +1 -1
  14. package/dist/chat.js +18 -7
  15. package/dist/chat.js.map +1 -1
  16. package/dist/index.js +7 -3
  17. package/dist/index.js.map +1 -1
  18. package/dist/infrastructure/ai/cohere-ai-service.js +1 -1
  19. package/dist/infrastructure/ai/provider-ai-service.js +1 -1
  20. package/dist/infrastructure/context/conversation-context.d.ts +11 -10
  21. package/dist/infrastructure/context/conversation-context.d.ts.map +1 -1
  22. package/dist/infrastructure/context/conversation-context.js +2 -5
  23. package/dist/infrastructure/context/conversation-context.js.map +1 -1
  24. package/dist/infrastructure/index.d.ts +0 -1
  25. package/dist/infrastructure/index.d.ts.map +1 -1
  26. package/dist/infrastructure/index.js +2 -1
  27. package/dist/infrastructure/index.js.map +1 -1
  28. package/dist/infrastructure/providers/cohere-provider.d.ts +2 -1
  29. package/dist/infrastructure/providers/cohere-provider.d.ts.map +1 -1
  30. package/dist/infrastructure/providers/cohere-provider.js +37 -13
  31. package/dist/infrastructure/providers/cohere-provider.js.map +1 -1
  32. package/dist/infrastructure/providers/operation-provider-resolver.d.ts.map +1 -1
  33. package/dist/infrastructure/providers/operation-provider-resolver.js +7 -33
  34. package/dist/infrastructure/providers/operation-provider-resolver.js.map +1 -1
  35. package/dist/infrastructure/security/network-guard.d.ts +8 -0
  36. package/dist/infrastructure/security/network-guard.d.ts.map +1 -0
  37. package/dist/infrastructure/security/network-guard.js +70 -0
  38. package/dist/infrastructure/security/network-guard.js.map +1 -0
  39. package/dist/infrastructure/security/offline.d.ts +16 -0
  40. package/dist/infrastructure/security/offline.d.ts.map +1 -0
  41. package/dist/infrastructure/security/offline.js +24 -0
  42. package/dist/infrastructure/security/offline.js.map +1 -0
  43. package/dist/infrastructure/storage/memory-stream-service.d.ts.map +1 -1
  44. package/dist/infrastructure/storage/memory-stream-service.js +88 -58
  45. package/dist/infrastructure/storage/memory-stream-service.js.map +1 -1
  46. package/dist/infrastructure/storage/sqljs-init.d.ts +8 -0
  47. package/dist/infrastructure/storage/sqljs-init.d.ts.map +1 -0
  48. package/dist/infrastructure/storage/sqljs-init.js +23 -0
  49. package/dist/infrastructure/storage/sqljs-init.js.map +1 -0
  50. package/dist/infrastructure/ux/meta-query.d.ts +9 -0
  51. package/dist/infrastructure/ux/meta-query.d.ts.map +1 -0
  52. package/dist/infrastructure/ux/meta-query.js +63 -0
  53. package/dist/infrastructure/ux/meta-query.js.map +1 -0
  54. package/dist/infrastructure/ux/progress-indicator.d.ts +10 -49
  55. package/dist/infrastructure/ux/progress-indicator.d.ts.map +1 -1
  56. package/dist/infrastructure/ux/progress-indicator.js +9 -112
  57. package/dist/infrastructure/ux/progress-indicator.js.map +1 -1
  58. package/dist/infrastructure/ux/repo-fingerprint.d.ts +10 -0
  59. package/dist/infrastructure/ux/repo-fingerprint.d.ts.map +1 -0
  60. package/dist/infrastructure/ux/repo-fingerprint.js +55 -0
  61. package/dist/infrastructure/ux/repo-fingerprint.js.map +1 -0
  62. package/dist/presentation/cli/commands/ask-command.d.ts.map +1 -1
  63. package/dist/presentation/cli/commands/ask-command.js +56 -77
  64. package/dist/presentation/cli/commands/ask-command.js.map +1 -1
  65. package/dist/presentation/cli/commands/fix-command.d.ts.map +1 -1
  66. package/dist/presentation/cli/commands/fix-command.js +1 -23
  67. package/dist/presentation/cli/commands/fix-command.js.map +1 -1
  68. package/dist/presentation/cli/commands/smart-command.d.ts.map +1 -1
  69. package/dist/presentation/cli/commands/smart-command.js +0 -1
  70. package/dist/presentation/cli/commands/smart-command.js.map +1 -1
  71. package/dist/search.d.ts.map +1 -1
  72. package/dist/search.js +18 -5
  73. package/dist/search.js.map +1 -1
  74. package/dist/session.d.ts +0 -1
  75. package/dist/session.d.ts.map +1 -1
  76. package/dist/session.js +5 -11
  77. package/dist/session.js.map +1 -1
  78. package/dist/tools/bash.d 2.ts +53 -0
  79. package/dist/tools/bash.js 2.map +1 -0
  80. package/dist/tools/edit 2.js +235 -0
  81. package/dist/tools/edit.d.ts 2.map +1 -0
  82. 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 | number;
11
- entities?: any[];
12
- intent?: any;
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, options?: any): any[];
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?: any[], intent?: any): void;
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;;;;;GAKG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,GAAG,CAAC;CACd;AAED,UAAU,mBAAmB;IAC3B,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,OAAO,CAAC,EAAE,GAAG,GAAG,GAAG,EAAE;IAqBnD;;OAEG;IACH,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAE,GAAG,EAAO,EAAE,MAAM,CAAC,EAAE,GAAG,GAAG,IAAI;IA8BrG;;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
+ {"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, options) {
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":"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"}
1
+ {"version":3,"file":"conversation-context.js","sourceRoot":"","sources":["../../../src/infrastructure/context/conversation-context.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  /**
2
2
  * Infrastructure Layer - Public Exports
3
3
  */
4
- export * from './ai/cohere-ai-service.js';
5
4
  export * from './storage/sqlite-embedding-repository.js';
6
5
  export * from './storage/sqlite-memory-repository.js';
7
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/infrastructure/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0CAA0C,CAAC;AACzD,cAAc,uCAAuC,CAAC"}
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 * from './ai/cohere-ai-service.js';
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,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0CAA0C,CAAC;AACzD,cAAc,uCAAuC,CAAC"}
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 client;
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;AAOH,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,MAAM,CAAe;gBAEjB,MAAM,CAAC,EAAE,MAAM;IAQrB,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;IAoClE,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;IAwElB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC;IA6B9D,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAmC5C,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;IA2CpB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAM3D,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAoBrC,WAAW,CAAC,CAAC,KAAK,EAAE,OAAO,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;CAmEpF"}
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 { CohereClient } from 'cohere-ai';
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
- client;
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
- const key = apiKey || process.env.COHERE_API_KEY;
66
- if (!key) {
67
- throw new Error('COHERE_API_KEY not found in environment');
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 this.client.chat({
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 this.client.chatStream === 'function') {
214
- const stream = await this.client.chatStream({
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 this.client.embed({
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 this.client.embed({
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 response = await this.client.rerank({
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 this.client.chat({
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":"AAAA;;;;;;;;GAQG;AAEH,6DAA6D;AAC7D,4CAA4C;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAW9C,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAEhF,8CAA8C;AAC9C,IAAI,CAAC;IACH,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAChD,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;AAC3C,CAAC;AAAC,MAAM,CAAC,CAAA,CAAC;AACV,MAAM,EAAE,CAAC;AAET,2DAA2D;AAC3D,IAAI,YAAY,GAAiD,IAAI,CAAC;AACtE,SAAS,eAAe;IACtB,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,IAAI,CAAC;YACH,YAAY,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAC;QACrD,CAAC;QAAC,MAAM,CAAC;YACP,YAAY,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAS,WAAW,CAAC,IAAY;IAC/B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;QAClC,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IACrC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;QACzF,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACpC,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,cAAc;IAChB,EAAE,GAAG,QAAQ,CAAC;IACd,IAAI,GAAG,QAAQ,CAAC;IAEhB,YAAY,GAAyB;QAC5C,IAAI,EAAE,IAAI;QACV,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,IAAI;QACf,cAAc,EAAE,IAAI,EAAE,4CAA4C;QAClE,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,IAAI,EAAE,+BAA+B;KACnD,CAAC;IAEM,aAAa,GAAwB,IAAI,CAAC;IAE1C,KAAK,CAAC,SAAS;QACrB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,IAAI,CAAC,aAAa,GAAG,CAAC,KAAK,IAAI,EAAE;gBAC/B,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;gBACnD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;gBACvC,IAAI,CAAC,GAAG,EAAE,CAAC;oBACT,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;gBAC7D,CAAC;gBACD,OAAO,IAAI,YAAY,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YAC1C,CAAC,CAAC,EAAE,CAAC;QACP,CAAC;QACD,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,YAAY,MAAe;QACzB,sEAAsE;QACtE,qCAAqC;QACrC,IAAI,MAAM,EAAE,CAAC;YACX,sCAAsC;YACtC,IAAI,CAAC,aAAa,GAAG,CAAC,KAAK,IAAI,EAAE;gBAC/B,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;gBACnD,OAAO,IAAI,YAAY,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YAC7C,CAAC,CAAC,EAAE,CAAC;QACP,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS;QACb,wEAAwE;QACxE,sFAAsF;QACtF,OAAO;YACL;gBACE,EAAE,EAAE,mBAAmB;gBACvB,IAAI,EAAE,qBAAqB;gBAC3B,UAAU,EAAE,QAAQ;gBACpB,eAAe,EAAE,mBAAmB;gBACpC,aAAa,EAAE,MAAM;gBACrB,YAAY,EAAE;oBACZ,IAAI,EAAE,IAAI;oBACV,SAAS,EAAE,IAAI;oBACf,SAAS,EAAE,KAAK;oBAChB,cAAc,EAAE,KAAK;oBACrB,MAAM,EAAE,KAAK;oBACb,WAAW,EAAE,IAAI;iBAClB;aACF;YACD;gBACE,EAAE,EAAE,wBAAwB;gBAC5B,IAAI,EAAE,sBAAsB;gBAC5B,UAAU,EAAE,QAAQ;gBACpB,eAAe,EAAE,wBAAwB;gBACzC,aAAa,EAAE,MAAM;gBACrB,YAAY,EAAE;oBACZ,IAAI,EAAE,IAAI;oBACV,SAAS,EAAE,IAAI;oBACf,SAAS,EAAE,KAAK;oBAChB,cAAc,EAAE,KAAK;oBACrB,MAAM,EAAE,KAAK;oBACb,WAAW,EAAE,IAAI;iBAClB;aACF;YACD;gBACE,EAAE,EAAE,mBAAmB;gBACvB,IAAI,EAAE,qBAAqB;gBAC3B,UAAU,EAAE,QAAQ;gBACpB,eAAe,EAAE,mBAAmB;gBACpC,aAAa,EAAE,MAAM;gBACrB,YAAY,EAAE;oBACZ,IAAI,EAAE,IAAI;oBACV,SAAS,EAAE,IAAI;oBACf,SAAS,EAAE,KAAK;oBAChB,cAAc,EAAE,KAAK;oBACrB,MAAM,EAAE,KAAK;oBACb,WAAW,EAAE,IAAI;iBAClB;aACF;YACD;gBACE,EAAE,EAAE,qBAAqB;gBACzB,IAAI,EAAE,uBAAuB;gBAC7B,UAAU,EAAE,QAAQ;gBACpB,eAAe,EAAE,qBAAqB;gBACtC,aAAa,EAAE,MAAM;gBACrB,YAAY,EAAE;oBACZ,IAAI,EAAE,IAAI;oBACV,SAAS,EAAE,IAAI;oBACf,SAAS,EAAE,KAAK;oBAChB,cAAc,EAAE,KAAK;oBACrB,MAAM,EAAE,KAAK;oBACb,WAAW,EAAE,IAAI;iBAClB;aACF;YACD;gBACE,EAAE,EAAE,kBAAkB;gBACtB,IAAI,EAAE,oBAAoB;gBAC1B,UAAU,EAAE,QAAQ;gBACpB,eAAe,EAAE,oBAAoB;gBACrC,aAAa,EAAE,GAAG;gBAClB,YAAY,EAAE;oBACZ,IAAI,EAAE,KAAK;oBACX,SAAS,EAAE,KAAK;oBAChB,SAAS,EAAE,IAAI;oBACf,cAAc,EAAE,IAAI;oBACpB,MAAM,EAAE,KAAK;oBACb,WAAW,EAAE,KAAK;iBACnB;aACF;YACD;gBACE,EAAE,EAAE,mBAAmB;gBACvB,IAAI,EAAE,qBAAqB;gBAC3B,UAAU,EAAE,QAAQ;gBACpB,eAAe,EAAE,qBAAqB;gBACtC,aAAa,EAAE,IAAI;gBACnB,YAAY,EAAE;oBACZ,IAAI,EAAE,KAAK;oBACX,SAAS,EAAE,KAAK;oBAChB,SAAS,EAAE,KAAK;oBAChB,cAAc,EAAE,KAAK;oBACrB,MAAM,EAAE,IAAI;oBACZ,WAAW,EAAE,KAAK;iBACnB;aACF;SACF,CAAC;IACJ,CAAC;IAED,eAAe;QACb,0CAA0C;QAC1C,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC;YACtC,OAAO,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;QAC3C,CAAC;QACD,4FAA4F;QAC5F,2GAA2G;QAC3G,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAc,EAAE,OAAqB;QAC9C,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;QACvD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QAEtC,OAAO,MAAM,gBAAgB,CAC3B,KAAK,IAAI,EAAE;YACT,OAAO,MAAM,oBAAoB,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;gBACnD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;oBACjC,OAAO,EAAE,MAAM;oBACf,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3B,WAAW,EAAE,OAAO,EAAE,WAAW,IAAI,GAAG;oBACxC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAChE,CAAC,CAAC;gBAEH,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,uBAAuB,CAAC;gBACtD,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;gBACxC,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;gBAEvC,OAAO;oBACL,IAAI;oBACJ,KAAK,EAAE,KAAK,IAAI,SAAS;oBACzB,KAAK,EAAE;wBACL,WAAW;wBACX,YAAY;qBACb;iBACF,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,EACD;YACE,UAAU,EAAE,CAAC;YACb,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,KAAK;YACf,aAAa,EAAE,sBAAsB;SACtC,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,UAAU,CACd,MAAc,EACd,OAAqB,EACrB,OAAsC;QAEtC,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;QACvD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACtC,IAAI,QAAQ,GAAG,EAAE,CAAC;QAElB,IAAI,CAAC;YACH,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YAC7B,CAAC;YAED,yCAAyC;YACzC,IAAI,OAAQ,MAAc,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;gBACrD,MAAM,MAAM,GAAG,MAAO,MAAc,CAAC,UAAU,CAAC;oBAC9C,OAAO,EAAE,MAAM;oBACf,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3B,WAAW,EAAE,OAAO,EAAE,WAAW,IAAI,GAAG;iBACzC,CAAC,CAAC;gBAEH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBACjC,IAAI,KAAK,CAAC,SAAS,KAAK,iBAAiB,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;wBACnE,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;wBAC9C,IAAI,KAAK,EAAE,CAAC;4BACV,QAAQ,IAAI,KAAK,CAAC;4BAClB,IAAI,OAAO,EAAE,CAAC;gCACZ,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;4BAC1C,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,6BAA6B;gBAC7B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAClD,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC;gBAEzB,uCAAuC;gBACvC,IAAI,OAAO,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACnC,MAAM,SAAS,GAAG,EAAE,CAAC;oBACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;wBACpD,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC;wBACnD,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;wBACxC,IAAI,QAAQ,CAAC,MAAM,GAAG,SAAS,GAAG,CAAC,EAAE,CAAC;4BACpC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;wBACxD,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;YAChC,CAAC;YAED,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;YACxC,MAAM,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;YAE3C,OAAO;gBACL,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,KAAK,IAAI,SAAS;gBACzB,KAAK,EAAE;oBACL,WAAW;oBACX,YAAY;iBACb;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC;oBACN,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;iBACjE,CAAC,CAAC;YACL,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAuB;QACjC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAElD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACtC,OAAO,MAAM,gBAAgB,CAC3B,KAAK,IAAI,EAAE;YACT,OAAO,MAAM,oBAAoB,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;gBACnD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC;oBAClC,KAAK;oBACL,KAAK,EAAE,oBAAoB;oBAC3B,SAAS,EAAE,iBAAiB;iBAC7B,CAAC,CAAC;gBAEH,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;gBAEvC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACvB,OAAQ,UAAyB,CAAC,CAAC,CAAa,CAAC;gBACnD,CAAC;gBACD,OAAO,UAAwB,CAAC;YAClC,CAAC,CAAC,CAAC;QACL,CAAC,EACD;YACE,UAAU,EAAE,CAAC;YACb,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,KAAK;YACf,aAAa,EAAE,uBAAuB;SACvC,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAa;QAC5B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACtC,OAAO,MAAM,gBAAgB,CAC3B,KAAK,IAAI,EAAE;YACT,OAAO,MAAM,oBAAoB,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;gBACnD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC;oBAClC,KAAK,EAAE,CAAC,KAAK,CAAC;oBACd,KAAK,EAAE,oBAAoB;oBAC3B,SAAS,EAAE,cAAc;iBAC1B,CAAC,CAAC;gBAEH,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;gBAEvC,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC9B,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC5B,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;oBACrD,CAAC;oBACD,OAAQ,UAAU,CAAC,CAAC,CAAc,IAAI,EAAE,CAAC;gBAC3C,CAAC;qBAAM,CAAC;oBACN,MAAM,eAAe,GAAI,UAAkB,CAAC,KAAK,IAAI,EAAE,CAAC;oBACxD,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACjC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;oBACrD,CAAC;oBACD,OAAQ,eAAe,CAAC,CAAC,CAAc,IAAI,EAAE,CAAC;gBAChD,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,EACD;YACE,UAAU,EAAE,CAAC;YACb,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,KAAK;YACf,aAAa,EAAE,6BAA6B;SAC7C,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CACV,KAAa,EACb,SAAmB,EACnB,OAA2C;QAE3C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO;gBACL,OAAO,EAAE,EAAE;gBACX,KAAK,EAAE,qBAAqB;aAC7B,CAAC;QACJ,CAAC;QAED,2DAA2D;QAC3D,MAAM,iBAAiB,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACrE,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,qBAAqB,CAAC;QAEtD,OAAO,MAAM,gBAAgB,CAC3B,KAAK,IAAI,EAAE;YACT,OAAO,MAAM,oBAAoB,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;gBACnD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;gBACtC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC;oBACnC,KAAK;oBACL,KAAK;oBACL,SAAS,EAAE,iBAAiB;oBAC5B,IAAI;iBACL,CAAC,CAAC;gBAEH,MAAM,OAAO,GAAmB,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,CAAC;oBAC7E,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,CAAC;iBAC3C,CAAC,CAAC,CAAC;gBAEJ,OAAO;oBACL,OAAO;oBACP,KAAK;iBACN,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,EACD;YACE,UAAU,EAAE,CAAC;YACb,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,KAAK;YACf,aAAa,EAAE,wBAAwB;SACxC,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAY,EAAE,MAAe;QAC7C,gEAAgE;QAChE,yDAAyD;QACzD,OAAO,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,WAAW;QACf,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,yDAAyD;YACzD,gFAAgF;YAChF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;gBACjC,OAAO,EAAE,MAAM;gBACf,KAAK,EAAE,mBAAmB;gBAC1B,SAAS,EAAE,CAAC;aACb,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,gFAAgF;YAChF,IAAI,KAAK,EAAE,UAAU,KAAK,GAAG,IAAI,KAAK,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;gBACvD,OAAO,KAAK,CAAC,CAAC,cAAc;YAC9B,CAAC;YACD,kEAAkE;YAClE,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,WAAW,CAAE,KAAc;QACzB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5E,MAAM,YAAY,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;QAEhD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvC,MAAM,GAAG,GAAG,KAAY,CAAC;YAEzB,2EAA2E;YAC3E,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG;gBAC5C,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAC5B,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC;gBACnC,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBACxC,OAAO;oBACL,IAAI,EAAE,YAAY;oBAClB,SAAS,EAAE,KAAK;oBAChB,OAAO,EAAE,qBAAqB;iBAC/B,CAAC;YACJ,CAAC;YAED,mFAAmF;YACnF,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG;gBAC5C,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAC5B,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC;gBACrC,YAAY,CAAC,QAAQ,CAAC,mBAAmB,CAAC;gBAC1C,YAAY,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBAC7C,OAAO;oBACL,IAAI,EAAE,YAAY;oBAClB,SAAS,EAAE,KAAK;oBAChB,OAAO,EAAE,uCAAuC;iBACjD,CAAC;YACJ,CAAC;YAED,4BAA4B;YAC5B,IAAI,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAClF,OAAO;oBACL,IAAI,EAAE,gBAAgB;oBACtB,SAAS,EAAE,KAAK;oBAChB,OAAO,EAAE,4DAA4D;iBACtE,CAAC;YACJ,CAAC;YAED,2BAA2B;YAC3B,IAAI,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;gBAClF,OAAO;oBACL,IAAI,EAAE,gBAAgB;oBACtB,SAAS,EAAE,KAAK;oBAChB,OAAO,EAAE,oBAAoB;iBAC9B,CAAC;YACJ,CAAC;QACH,CAAC;QAED,iBAAiB;QACjB,IAAI,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;YAClH,OAAO;gBACL,IAAI,EAAE,eAAe;gBACrB,SAAS,EAAE,IAAI;gBACf,OAAO,EAAE,YAAY;aACtB,CAAC;QACJ,CAAC;QAED,6BAA6B;QAC7B,OAAO;YACL,IAAI,EAAE,SAAS;YACf,SAAS,EAAE,IAAI;YACf,OAAO,EAAE,YAAY;SACtB,CAAC;IACJ,CAAC;CACF"}
@@ -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;IA4FzD;;OAEG;IACH,kBAAkB,CAAC,MAAM,EAAE,uBAAuB,GAAG,IAAI,GAAG,IAAI;IAIhE;;OAEG;IACH,kBAAkB,IAAI,uBAAuB,GAAG,IAAI;CAGrD"}
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 = safeGet('fake', 'fake');
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 = safeGet(providerId, 'operation override');
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 or unsupported for operation '${operation}', falling back to default`);
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 = safeGet(this.operationConfig.default, 'config default');
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 = safeGet(this.configDefault, 'config default (no override)');
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 = safeGet(requestedProvider, 'env');
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
- const defaultProvider = this.registry.getDefault();
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":"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"}
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;IAuBvH;;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;IAyBzJ;;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;IAuB3G;;;;OAIG;IACG,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,EAAE,SAAS,GAAE,OAAc,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IA6C/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;IA8C7H;;OAEG;IACG,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjD;;OAEG;IACH,OAAO,CAAC,mBAAmB;CAoB5B"}
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"}