merge: integrate AIFabric (S2) into S3 app — unified package
- Resolve Package.swift add/add: one manifest, single AIFabric target (Sources/AI compiled once; no duplicate-symbol risk) + DSKit/AppFeature/DSApp + AITests + DSKitTests, AIFabric library product kept. - import AI -> import AIFabric across AppFeature + RouterFallbackTests (S2 renamed module). - AppModel.askMeta qualified DSKit.AskResponse (AIFabric also defines an AskResponse for RemoteDS). swift build + swift test green (71 tests: S2 AITests + S3 DSKitTests). Frozen AIProvider interface intact. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import SwiftUI
|
||||
import AI
|
||||
import AIFabric
|
||||
|
||||
public extension AIProviderID {
|
||||
var displayName: String {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import Foundation
|
||||
import AI
|
||||
import AIFabric
|
||||
|
||||
/// Renderable failure (the UI never sees a raw AIRoutingError — that would break the
|
||||
/// "visible error, not silent fallback" contract).
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import Foundation
|
||||
import AI
|
||||
import AIFabric
|
||||
|
||||
/// The ONE composition touch-point that names MockAIProvider. When S2 ships real providers,
|
||||
/// only this file changes (mockProviders -> realProviders) — AIService, views, and intents stay put.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import SwiftUI
|
||||
import AI
|
||||
import AIFabric
|
||||
|
||||
/// RAG proof page: routes corpusAsk through AIService (-> AIRouter -> MockAIProvider). Explicit backend
|
||||
/// pick sets explicitProvider; an explicit-unavailable result renders a visible, non-retrying error.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import SwiftUI
|
||||
import Observation
|
||||
import DSKit
|
||||
import AI
|
||||
import AIFabric
|
||||
|
||||
/// The single app-state store driving the 3-pane shell. @MainActor @Observable: mutations are
|
||||
/// main-isolated; the DSClient returns Sendable models; AIService is an actor.
|
||||
@@ -35,7 +35,7 @@ public final class AppModel {
|
||||
public var searchResponse: SearchResponse?
|
||||
public var askQuery: String = ""
|
||||
public var askResult: AIResult?
|
||||
public var askMeta: AskResponse?
|
||||
public var askMeta: DSKit.AskResponse? // qualified: AIFabric also defines an AskResponse
|
||||
public var memoList: [MemoResponse] = []
|
||||
public var memoDetail: MemoResponse?
|
||||
public var digest: DigestResponse?
|
||||
|
||||
Reference in New Issue
Block a user