@ 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 运行时存储驱动程序选择确定后, 未来将添加 .