@cortexkit/store

中文文档
0.2.3发布于 2026/10/14MITTypeScriptES Module近 30 天下载 3.6万

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

中文使用文档
文档目录4 节
  1. 安装
  2. 使用量
  3. 只有所有者的秘密路径
  4. 范围

@ 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 执行并不需要其本土的附加.

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

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

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

使用量

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");

只有所有者的秘密路径

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 共发布 5 个版本,首次发布于 2026/07/03;过去 12 个月发布了 5 个版本。

版本发布日期距今
0.2.3latest2026/10/1427 天前
0.2.22026/10/1328 天前
0.2.12026/10/1328 天前
0.2.02026/10/1328 天前
0.1.02026/07/034 个月前

关于 @cortexkit/store 的常见问题

@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 和提交记录判断。