CxLLM-SDK/Package.swift
CxAI Agent 30d9799c88 feat: initial CxLLM-SDK umbrella package
Phase 2 scaffold. Declares 11 library products that re-export upstream
sibling modules from cxai-studio.com/git/CxAI-Project/CxLLM-* packages.
Downstream apps depend on this single URL.

Products: CxCode, CxAWS, CxGit, CxAgent, CxMCP, CxModels, CxChat,
CxARA, CxSPARenderer, CxLangBridge, CxInstrument.
2026-05-16 14:23:29 -05:00

90 lines
4.6 KiB
Swift

// swift-tools-version: 5.9
// CxLLM-SDK umbrella package that re-exports the CxLLM-* siblings.
//
// Downstream apps (CxLLM-IOS, CxWebApp/swift-app, third parties) depend on
// this single URL and import any combination of: CxCode, CxAWS, CxGit,
// CxAgent, CxMCP, CxModels, CxChat, CxARA, CxSPARenderer, CxLangBridge,
// CxInstrument.
//
// Each umbrella product is a thin target that does `@_exported import` of
// the upstream sibling module(s). This lets us reshape the sibling layout
// later without breaking downstream imports.
import PackageDescription
let package = Package(
name: "CxLLM-SDK",
platforms: [.macOS(.v13), .iOS(.v17)],
products: [
.library(name: "CxCode", targets: ["CxCode"]),
.library(name: "CxAWS", targets: ["CxAWS"]),
.library(name: "CxGit", targets: ["CxGit"]),
.library(name: "CxAgent", targets: ["CxAgent"]),
.library(name: "CxMCP", targets: ["CxMCP"]),
.library(name: "CxModels", targets: ["CxModels"]),
.library(name: "CxChat", targets: ["CxChat"]),
.library(name: "CxARA", targets: ["CxARA_Re"]),
.library(name: "CxSPARenderer", targets: ["CxSPARenderer_Re"]),
.library(name: "CxLangBridge", targets: ["CxLangBridge_Re"]),
.library(name: "CxInstrument", targets: ["CxInstrument_Re"]),
],
dependencies: [
.package(url: "https://cxai-studio.com/git/CxAI-Project/CxLLM-Kernel.git", branch: "main"),
.package(url: "https://cxai-studio.com/git/CxAI-Project/CxLLM-LIB.git", branch: "main"),
.package(url: "https://cxai-studio.com/git/CxAI-Project/CxLLM-PLG.git", branch: "main"),
.package(url: "https://cxai-studio.com/git/CxAI-Project/CxLLM-Drive.git", branch: "main"),
.package(url: "https://cxai-studio.com/git/CxAI-Project/CxLLM-ARA.git", branch: "main"),
.package(url: "https://cxai-studio.com/git/CxAI-Project/CxLLM-SPA-RNDR.git", branch: "main"),
.package(url: "https://cxai-studio.com/git/CxAI-Project/CxLLM-LB-SDK.git", branch: "main"),
.package(url: "https://cxai-studio.com/git/CxAI-Project/CxLLM-INSTRUMENT-PCKG.git", branch: "main"),
],
targets: [
// CxCode = Kernel + Lib + Plugin
.target(name: "CxCode", dependencies: [
.product(name: "CxKernel", package: "CxLLM-Kernel"),
.product(name: "CxLib", package: "CxLLM-LIB"),
.product(name: "CxPlugin", package: "CxLLM-PLG"),
], path: "Sources/CxCode"),
// CxAWS, CxGit, CxDrive umbrella products all live in CxLLM-Drive
.target(name: "CxAWS", dependencies: [
.product(name: "CxAWS", package: "CxLLM-Drive"),
], path: "Sources/CxAWS"),
.target(name: "CxGit", dependencies: [
.product(name: "CxGit", package: "CxLLM-Drive"),
], path: "Sources/CxGit"),
// CxAgent / CxMCP / CxModels / CxChat are app-layer modules in CxLLM-IOS
// today. Phase 3 will move them into their own sibling packages; for now
// we expose seed targets here so downstream `import CxAgent` etc. compile.
.target(name: "CxAgent", dependencies: [
.product(name: "CxLib", package: "CxLLM-LIB"),
], path: "Sources/CxAgent"),
.target(name: "CxMCP", dependencies: [
.product(name: "CxLib", package: "CxLLM-LIB"),
], path: "Sources/CxMCP"),
.target(name: "CxModels", dependencies: [
.product(name: "CxLib", package: "CxLLM-LIB"),
], path: "Sources/CxModels"),
.target(name: "CxChat", dependencies: [
.product(name: "CxLib", package: "CxLLM-LIB"),
.product(name: "CxKernel", package: "CxLLM-Kernel"),
], path: "Sources/CxChat"),
// Pure re-export shims for siblings whose product name collides with
// an umbrella target name. The "_Re" target re-exports the sibling.
.target(name: "CxARA_Re", dependencies: [
.product(name: "CxARA", package: "CxLLM-ARA"),
], path: "Sources/CxARA_Re"),
.target(name: "CxSPARenderer_Re", dependencies: [
.product(name: "CxSPARenderer", package: "CxLLM-SPA-RNDR"),
], path: "Sources/CxSPARenderer_Re"),
.target(name: "CxLangBridge_Re", dependencies: [
.product(name: "CxLangBridge", package: "CxLLM-LB-SDK"),
], path: "Sources/CxLangBridge_Re"),
.target(name: "CxInstrument_Re", dependencies: [
.product(name: "CxInstrument", package: "CxLLM-INSTRUMENT-PCKG"),
], path: "Sources/CxInstrument_Re"),
]
)