# @cortexkit/store 中文文档

规范地址：https://npmcn.com/package/%40cortexkit/store/

版本：0\.2\.3
npm 元数据更新时间：2026-10-14T05:51:11.599Z
中文译文更新时间：2026-11-10T19:58:11.526Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40cortexkit/store
原文对照：https://npmcn.com/package/%40cortexkit/store/?lang=original

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：58.4 kB，32 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=18
- 运行依赖：1 个
- 首次发布：2026-07-03T05:36:15.242Z
- 最新版本发布：2026-10-14T05:51:11.403Z
- 近 30 天下载量：35569（2026-10-11 至 2026-11-09，npm 官方下载统计）
- 已发布版本数：5（近 12 个月 5 个）

## 中文简介

TypeScript 存储描述器和 CortexKit 存储的衍生等同库.

## 安装

```sh
npm install @cortexkit/store
```

也可以使用：`pnpm add @cortexkit/store`、`yarn add @cortexkit/store`、`bun add @cortexkit/store`

## README

# @ cortexkit/ 仓库

TypeScript 存储描述器,导出,以及 CortexKit 模块的密道检查. 它反映了红外线的形状和定型命名工具 `cortexkit-store-types` 合同所以 TypeScript 模块读取准确存储 描述 `subc` 解决.

当 TypeScript/JavaScript 模块收到时使用 `HELLO_ACK.storage` 结束 `@cortexkit/subc-client` 并需要打入的描述符加字节-同义字 Postgres 数据库名称或 sqlite 存储路径 .

## 安装

它的船舶汇编了无害环境管理和类型申报,并在Bun或Node 18上运行. 共享 POSIX 祖先政策和 Windows 私人操作使用 `@cortexkit/private-files` (单位:千美元)`^0.2.0`) (中文(简体) ). 它的JavaScript包需要在每个平台上;本土的预建只需要在Windows上. 马科斯和 Linux 仅装入其 JavaScript 执行并不需要其本土的附加.

```jsonc
// from the subconscious monorepo
"dependencies": { "@cortexkit/store": "workspace:*" }
```

为了在私密文件发布前进行开发, 承诺的 Bun 锁文件 链接 `../private-files` 而package.json保持了已公布的 semver 依赖, 碞钩 `clients/log` 链接其兄弟商店。 先建双胞胎:

```sh
cd clients/private-files
bun install --frozen-lockfile
bun run build
cd ../store
bun install --frozen-lockfile
bun run typecheck
bun test
```

## 使用量

```ts
import {
  parseStorageDescriptor,
  postgresDatabaseName,
  sqliteStorePath,
} from "@cortexkit/store";

const descriptor = parseStorageDescriptor(helloAck.storage);
const dbName = postgresDatabaseName("ai-provider-quota");
const path = sqliteStorePath("/data", "ai-provider-quota");
```

## 只有所有者的秘密路径

```ts
import { checkOwnerOnlyPathAsync, createPrivateFile } from "@cortexkit/store";

const result = await checkOwnerOnlyPathAsync(tokenPath);
if (!result.ok) {
  throw new Error(`${result.reason}: ${result.path}`);
}
// The immediate parent must already exist. Creation is exclusive, not replacement.
await createPrivateFile(tokenPath, secretBytes);
```

两次检查返回 `{ ok: true }` 或者说 `{ ok: false, reason, path }`他们从来没有 创建文件或目录。 丢失的目标通过最近的检查 现有祖先。 在Unix上,剩余组件包含在已解决部分中 路径; 检查已存在的目录本身并解决已存在的文件 选中父项 。 在 Windows 上,已存在的文件或目录被验证本身, 或对缺失目标进行校验。 窗口链接 在核查之前不会解决: 本地的回放点检查必须看到 他们。 决议或检查错误拒绝而不是给予信任.

-   **Unix :** 解析符号链接,然后通过根检查每个目录 `lstat` 财务报告和审定财务报表 `stat`。所有者必须是有效的用户或根,没有组或根 世界写作。 可写入的 root 拥有的粘贴目录( 例如 ) `/tmp`允许 只有在其直系子女为有效用户所拥有且无有效用户时 写入 。 非粘贴组写入只允许用户- 私有组 : 所有者和团体必须匹配 euid/egid, `/etc/group` 不得列出任何其他成员 比该用户,和 `/etc/passwd` 一定是没有其他用户 与该主要gid. 无法读取,畸形,缺失,或账户记录模棱两可,拒绝例外.
-   **窗口 :** 通过 @ cortexkit/ private- files 校验仅所有者的安全描述符 . 不存在 AppData 位置规则或倒置 。 本地验证使用相同的 作为 Rust 的描述政策,包括兼容的 继承的 Rust 写入文件, 拒绝不安全的祖先 并重写点。 只有绝对的,毫不含糊的地方 支持固定的ACL-persisting卷上的驱动路径;参见兄弟会的 读取全部边界。 缺失的加通( E)`PrivateFilesUnavailableError`(中文(简体) ) 以明确的理由拒绝; 不允许不加限制或只写模式. `checkOwnerOnlyPath` 总是在 Windows 上拒绝使用指导 `checkOwnerOnlyPathAsync`,因为本地验证是同步的.

`options` 能够注入 `platform`, (中文(简体) ), `euid`, (中文(简体) ), `egid`, (中文(简体) ), 财务报告和审定财务报表 `fs`同步 `fs` 方法为 `realpathSync`, (中文(简体) ), `lstatSync`, (中文(简体) ), `statSync`,以及 `readFileSync`; 同步双胞胎取回承诺 `realpath`, (中文(简体) ), `lstat`, (中文(简体) ), `stat`, (中文(简体) ), 财务报告和审定财务报表 `readFile`。读取返回字节,用于严格的UTF-8解码账户文件. 出入境方法使用真实文件系统;为孤立测试注入所有方法. 明确 `null` 有效的身份识别模型 一个无法使用的身份. 遗产 `env` 为兼容性保留选项,但不再给予信任.

这是飞行前检查,不是原子文件系统能力:另一个过程 可以改变之后的路径. **通过 `createPrivateFile` 财务报告和审定财务报表 `createPrivateDirectory` 是 Windows 上的安全路径 :** 私人文件集和 在创作时对描述进行解剖验证,并通过同一个手柄来写作. 检查路径,然后按路径写入会离开比赛窗口. 两种包装 拒绝失踪的外加 宣传安全失败 永不退缩.

`createPrivateFile(path, bytes)` 仅创建一个文件; `createPrivateDirectory(path)` 创建一个目录,而不是递归树。 也没有 覆盖、修复或再利用已有对象。 解开这些包装检查 在创建前使用未修改的 Unix 策略的父程序 `0600`编号 :`0700`。 。 。 . Unix 飞行前和路径名创建不是原子能力; 呼叫者仍然 需要控制其路径同步变化.

Windows 模块边界授权和不可用附加测试都运行 主机处于孤立的模拟进程。 测试名称 `real Windows creates and verifies owner-only security descriptors` 只运行在匹配的正版窗口 土生土长 便携式测试不合格 Windows ACL 执行 私人文件 Windows 资质套件 提供这种证明。 真实不变 Unix 文件系统检查和 no-addon/专属创建测试在macOS/Linux上运行.

## 范围

此套件提供了定型描述器, 解析器, 衍生核心, 并共享秘密通道许可政策. 储存机械,如sqlite/postgres连接、迁移和租赁 一旦 TypeScript 运行时存储驱动程序选择确定后, 未来将添加 .

## 常见问题

### @cortexkit/store 是什么？

TypeScript 存储描述器和 CortexKit 存储的衍生等同库\.

### 如何安装 @cortexkit/store？

在项目目录运行 npm install @cortexkit/store，或使用 pnpm add / yarn add / bun add。

### @cortexkit/store 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @cortexkit/store 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @cortexkit/store 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=18。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @cortexkit/store 可以商用吗？

@cortexkit/store 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @cortexkit/store 的下载量有多少？

根据 npm 官方下载统计，@cortexkit/store 在 2026/10/11 – 2026/11/09 这 30 天内被下载 35,569 次，日均约 1,186 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @cortexkit/store 还在维护吗？

最新版本 0\.2\.3 发布于 2026/10/14（27 天前）；至今共发布 5 个版本，其中过去 12 个月发布了 5 个；首次发布于 2026/07/03。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

