1
1
const { AdvancedBase } = require ( "@heyputer/puter-js-common" ) ;
2
+ const config = require ( "../../config" ) ;
2
3
3
4
class PuterAIModule extends AdvancedBase {
4
5
async install ( context ) {
@@ -7,17 +8,26 @@ class PuterAIModule extends AdvancedBase {
7
8
const { AIInterfaceService } = require ( './AIInterfaceService' ) ;
8
9
services . registerService ( '__ai-interfaces' , AIInterfaceService ) ;
9
10
10
- const { AWSTextractService } = require ( './AWSTextractService' ) ;
11
- services . registerService ( 'aws-textract' , AWSTextractService ) ;
11
+ // TODO: services should govern their own availability instead of
12
+ // the module deciding what to register
12
13
13
- const { AWSPollyService } = require ( './AWSPollyService' ) ;
14
- services . registerService ( 'aws-polly' , AWSPollyService ) ;
14
+ if ( ! ! config ?. services ?. [ 'aws-textract' ] ?. aws ) {
15
+ const { AWSTextractService } = require ( './AWSTextractService' ) ;
16
+ services . registerService ( 'aws-textract' , AWSTextractService ) ;
17
+ }
15
18
16
- const { OpenAICompletionService } = require ( './OpenAICompletionService' ) ;
17
- services . registerService ( 'openai-completion' , OpenAICompletionService ) ;
19
+ if ( ! ! config ?. services ?. [ 'aws-polly' ] ?. aws ) {
20
+ const { AWSPollyService } = require ( './AWSPollyService' ) ;
21
+ services . registerService ( 'aws-polly' , AWSPollyService ) ;
22
+ }
18
23
19
- const { OpenAIImageGenerationService } = require ( './OpenAIImageGenerationService' ) ;
20
- services . registerService ( 'openai-image-generation' , OpenAIImageGenerationService ) ;
24
+ if ( ! ! config ?. openai ) {
25
+ const { OpenAICompletionService } = require ( './OpenAICompletionService' ) ;
26
+ services . registerService ( 'openai-completion' , OpenAICompletionService ) ;
27
+
28
+ const { OpenAIImageGenerationService } = require ( './OpenAIImageGenerationService' ) ;
29
+ services . registerService ( 'openai-image-generation' , OpenAIImageGenerationService ) ;
30
+ }
21
31
}
22
32
}
23
33
0 commit comments