Metadata-Version: 2.5
Name: ikc-core-sdk
Version: 0.12.2
Summary: IKC 实例核心服务（ikc-core-service）客户端 SDK：typed 资源方法 + 统一壳解包 + 身份信任头/traceId/幂等重试装配
Author: SITECH-iKM
Requires-Python: >=3.12
Requires-Dist: httpx<1.0,>=0.27
Requires-Dist: ikc-sdk-lib==0.39.0
Requires-Dist: pydantic<3.0,>=2.7
Description-Content-Type: text/markdown

# ikc-core-sdk

IKC 实例核心服务（ikc-core-service）的独立客户端 SDK 分发（导入包 `ikc_core_sdk`）。

- 与 `ikc-core` 服务端 wheel 中的 `ikc_core_sdk` 同源（force-include 自 `src/ikc_core_sdk`），版本号保持一致；
- 供下游（如 ikc-open-platform）以正常依赖模式引用，无需安装服务端重型依赖（celery/psycopg 等）；
- 能力面：typed 资源方法（知识库 A-01~A-07、文档 ingest/upload/get、Wiki/Graph、Workspace 模型配置内部支撑面、Tenant 首任管理员开户、系统路由）+ 泛化 `client.request`；统一响应壳解包与类型化异常；身份信任头 / Bearer / 内部令牌 / Tenant 头 / 23 位 traceId / 幂等重试装配。

用法与资源清单见 ikc-core-service 仓库 `docs/客户端SDK设计与使用.md`。

## 安装

```bash
pip install "ikc-core-sdk==0.12.2"      # 构建并分发对应 wheel 后安装
```

## 版本与兼容性

| ikc-core-sdk | 依赖 ikc-sdk-lib | 说明 |
| --- | --- | --- |
| `0.12.2` | `==0.39.0` | 仅对齐 shared 0.39.0（indexer 契约），客户端方法与 0.12.1 相同 |
| `0.12.1` | `==0.37.0` | 对齐 W-06 `markdownFileId`；保留 Tenant 首任管理员开户、Workspace 模型配置与 A-07 `delete(kbId)` |
| `0.12.0` | `==0.31.0` | 新增同步/异步 `tenant_bootstraps`，整批建立首任管理员 Principal、Tenant 职责和默认个人空间 |
| `0.11.0` | `==0.29.0` | Workspace 模型固定探针测试、safe resolve 与软删除；移除 set-status、debug 和运行授权资源 |
| `0.10.0`（历史） | `==0.28.0` | 旧版曾包含模型运行授权与调试方法；已由 0.11.0 移除，不应用于当前调用方式 |
| `0.9.0` | `==0.27.0` | 新增同步/异步 `workspace_model_configs` 七个内部动作；使用 internal token 与 Tenant 头，内部路由不进入公开 catalog/manifest |
| `0.8.0` | `==0.22.0` | 对齐开放平台模型管理契约升级后的依赖装配；资源方法与统一壳传输不变 |
| `0.7.0` | `==0.18.0` | `graph` 资源新增 G-04 邻域 / 路径 / 图内检索三件套 `neighbors` / `paths` / `search`（同步 `AsyncGraph`，`search` 以查询参数下发）；**依赖 pin 不变**，方法签名与返回形状不变（资源方法仍返回响应壳 `data` dict） |
| `0.6.0` | `==0.18.0` | 新增本体（Ontology）域资源 `ontology`（O-01~O-24，同步 `Ontology` / `AsyncOntology`）；catalog/manifest 同步 +24 条 |
| `0.5.0` | `==0.16.0` | `graph` 资源补齐图谱人工修正写面 G-08~G-17（约束派生 P4 / 投影刷新与行集导出 P3）；方法签名与返回形状不变 |
| `0.4.2` | `==0.9.2` | 仅依赖 pin 变更（方法签名与返回形状不变）+ **修正 `__version__` 漂移**：0.4.0/0.4.1 只递增了 `pyproject.toml`，`src/ikc_core_sdk/_version.py` 仍是 `0.3.0`（0.4.1 已带该缺陷发布，**建议使用 0.4.2**） |
| `0.4.0` | `==0.8.3` | `wiki.build`/`graph.build` 增 `async=True`（返回作业视图）+ `build_async()` 别名，新增 `wiki.job`/`graph.job`（W-07/G-07）；`AsyncWiki`/`AsyncGraph` 同步补齐；同步方法签名与返回形状不变 |
| `0.3.0` | `==0.8.2` | 新增 `wiki.build`（W-06）/ `graph.build`（G-06）：请求/响应模型取自 ikc-sdk-lib，返回写后结果视图；只读方法签名与返回形状不变 |
| `0.2.0` | `==0.7.0` | 对齐图谱资产对象（G8）/ traceId 纯函数（G2）/ 引擎作业视图与状态映射（G3）；方法签名与返回形状不变（资源方法仍返回响应壳 `data` dict） |
| `0.1.0` | `==0.6.1` | 首个独立分发版本 |

> SDK 版本与 ikc-core 服务端版本解耦（SDK 可先于服务端发版）；升级 `ikc-sdk-lib` pin 属
> 兼容性变更，下游（如 ikc-open-platform）升级前请核对上表。

> 分发形态：本包**只发布 wheel**（`sdk/dist/ikc_core_sdk-<version>-py3-none-any.whl`）。
> sdist 在“由 sdist 重建 wheel”时会因 `force-include` 的相对路径（`../src/ikc_core_sdk`）
> 失效而构建失败，故不上传 sdist；本地历史 sdist 仅作构建留档。

### 0.12.2 兼容性

`ikc-core-sdk==0.12.2` 精确依赖 `ikc-sdk-lib==0.39.0`，为平台同时使用 IDX-01~IDX-03
indexer 契约而升级共享 pin；同步/异步客户端方法签名与 0.12.1 完全一致。

### 0.12.1 兼容性

`ikc-core-sdk==0.12.1` 精确依赖 `ikc-sdk-lib==0.37.0`，合并 0.12.0 的 Tenant 首任管理员开户、
Workspace 模型配置资源、A-07 `delete(kbId)` 与 W-06 `markdownFileId`/`markdown` 双来源；
同步/异步客户端方法签名不变。

### 0.12.0 兼容性

`ikc-core-sdk==0.12.0` 精确依赖 `ikc-sdk-lib==0.31.0`。同步和异步客户端新增
`tenant_bootstraps.provision_principals()` 与 `tenant_bootstraps.provision_workspaces()`；
两者使用内部令牌和 `X-IKC-Tenant-Id`，不自动重试写请求，也不进入公开 catalog/manifest。

### 0.11.0 兼容性

`ikc-core-sdk==0.11.0` 精确依赖 `ikc-sdk-lib==0.29.0`。同步和异步 `workspace_model_configs` 方法保持一致，覆盖 CRUD、同步重试、固定连通性测试、resolve 与知识库引用；请求使用 typed 内部模型，并附加 `X-Internal-Token` 与 `X-IKC-Tenant-Id`。这些端点不进入公开 catalog/manifest。
