@@ -42,11 +42,6 @@ public struct PromptToCodeServiceDependencyKey: DependencyKey {
4242 public static let previewValue : PromptToCodeServiceType = PreviewPromptToCodeService ( )
4343}
4444
45- public struct PromptToCodeServiceFactoryDependencyKey : DependencyKey {
46- public static let liveValue : ( ) -> PromptToCodeServiceType = { OpenAIPromptToCodeService ( ) }
47- public static let previewValue : ( ) -> PromptToCodeServiceType = { PreviewPromptToCodeService ( ) }
48- }
49-
5045public extension DependencyValues {
5146 var promptToCodeService : PromptToCodeServiceType {
5247 get { self [ PromptToCodeServiceDependencyKey . self] }
@@ -59,3 +54,57 @@ public extension DependencyValues {
5954 }
6055}
6156
57+ #if canImport(ContextAwarePromptToCodeService)
58+
59+ import ContextAwarePromptToCodeService
60+
61+ extension ContextAwarePromptToCodeService : PromptToCodeServiceType {
62+ public func modifyCode(
63+ code: String ,
64+ requirement: String ,
65+ source: PromptToCodeSource ,
66+ isDetached: Bool ,
67+ extraSystemPrompt: String ? ,
68+ generateDescriptionRequirement: Bool ?
69+ ) async throws -> AsyncThrowingStream < ( code: String , description: String ) , Error > {
70+ try await modifyCode (
71+ code: code,
72+ requirement: requirement,
73+ source: ContextAwarePromptToCodeService . Source (
74+ language: source. language,
75+ documentURL: source. documentURL,
76+ projectRootURL: source. projectRootURL,
77+ allCode: source. allCode,
78+ range: source. range
79+ ) ,
80+ isDetached: isDetached,
81+ extraSystemPrompt: extraSystemPrompt,
82+ generateDescriptionRequirement: generateDescriptionRequirement
83+ )
84+ }
85+ }
86+
87+ public struct PromptToCodeServiceFactoryDependencyKey : DependencyKey {
88+ public static let liveValue : ( ) -> PromptToCodeServiceType = {
89+ ContextAwarePromptToCodeService ( )
90+ }
91+
92+ public static let previewValue : ( ) -> PromptToCodeServiceType = {
93+ PreviewPromptToCodeService ( )
94+ }
95+ }
96+
97+ #else
98+
99+ public struct PromptToCodeServiceFactoryDependencyKey : DependencyKey {
100+ public static let liveValue : ( ) -> PromptToCodeServiceType = {
101+ OpenAIPromptToCodeService ( )
102+ }
103+
104+ public static let previewValue : ( ) -> PromptToCodeServiceType = {
105+ PreviewPromptToCodeService ( )
106+ }
107+ }
108+
109+ #endif
110+
0 commit comments