@deepseek-ai/dsh-spill-local 0.1.5-rc.2 → 0.1.6-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.i18n.yaml CHANGED
@@ -3,4 +3,4 @@
3
3
  # after editing either side, bring the other along and re-record with:
4
4
  # pnpm run verify-translation-pairing --write packages/spill/spill-local/README.md
5
5
  README.md: 1c7ea86631a7da51c774081c7178d1f29c5094c9
6
- README.zh.md: bb0d0d71f80c4ab7ee1bf863902ddfaba72e2084
6
+ README.zh.md: 93ed836b9fa7429eddcca2a4138cbdfba4d6ef5a
package/README.zh.md CHANGED
@@ -9,7 +9,7 @@ kind: "package-reference"
9
9
 
10
10
  ## 概述
11
11
 
12
- `dsh-spill-local` 把调用方的超大文本保存到宿主文件系统中私有的会话级文件,并以该文件路径作为定位信息返回,同时给出告诉模型读取或搜索它的取回指引。只要组合需要在与 agent 相同的机器上进行 spill 存储,就挂载它。文件对当前用户私有、名称不可预测,且每个会话的文件归入稳定的目录,因此共享根目录既不会泄露输出,也不会被预置的符号链接重定向。配置选择根目录与启动清理保留期;预览与 spill 决策由其他包负责。
12
+ `dsh-spill-local` 把调用方的超大文本保存到宿主文件系统中私有的会话级文件,并以该文件路径作为定位信息返回,同时给出告诉模型读取或搜索它的取回指引。只要组合需要在 agent(智能体)运行所在的同一台机器上进行 spill 存储,就挂载它。文件对当前用户私有、名称不可预测,且每个会话的文件归入稳定的目录,因此共享根目录既不会泄露输出,也不会被预置的符号链接重定向。配置选择根目录与启动清理保留期;预览与 spill 决策由其他包负责。
13
13
 
14
14
  ## 目录
15
15
 
@@ -56,7 +56,7 @@ kind: "package-reference"
56
56
  <a id="startup-cleanup"></a>
57
57
  ### 启动清理
58
58
 
59
- 一次尽力而为的扫描会在激活后启动,不延迟服务可用性。它扫描配置的根目录和操作系统临时目录下先前的默认 `dsh-spill-*` 根目录,删除修改时间严格早于配置截止时间的常规文件,修剪空会话目录,并只删除已经变空的先前默认根目录。长期运行的进程要到重启时才会再次扫描。dispose 会等待扫描结束;如果清理移除了会话目录,并发写入会重新创建它。
59
+ 一次尽力而为的扫描会在激活后启动,不延迟服务可用性。它扫描配置的根目录和操作系统临时目录下先前的默认 `dsh-spill-*` 根目录,删除修改时间严格早于配置截止时间的常规文件,修剪空会话目录,并只删除已经变空的先前默认根目录。长期运行的进程要到重启时才会再次扫描。dispose(资源释放)会等待扫描结束;如果清理移除了会话目录,并发写入会重新创建它。
60
60
 
61
61
  扫描会解析文件系统身份,绝不跟随或删除符号链接,并跳过无关条目。在 POSIX 上,它只接受当前用户拥有、组用户和其他用户不可写、且祖先路径能防止替换的根目录与会话目录;`/tmp` 等带 sticky 位的可写临时目录仍然允许使用。不安全路径会产生警告并保持不变。文件系统和警告接收方故障都会被兜底,因此清理无法使激活或并发 spill 写入失败。
62
62
 
@@ -85,11 +85,11 @@ kind: "package-reference"
85
85
  | [`src/index.ts`](src/index.ts) | 插件入口:`Config`、`LocalSpillStore` 服务、清理生命周期、定位信息与取回提示的组装 |
86
86
  | [`src/cleanup.ts`](src/cleanup.ts) | 一次性按年龄扫描、文件系统身份检查、符号链接和所有权保护 |
87
87
  | [`src/store.ts`](src/store.ts) | 与 Cordis 无关的存储机制:私有根目录、会话目录、安全名称编码、排他写入 |
88
- | — | 不发布运行时不变式伴生入口;约定在 seam 处强制执行。 |
88
+ | — | 不发布运行时不变式伴生入口;除由所属 seam 强制执行的约定外,本包不暴露独立事件序列或可变数据关系。 |
89
89
 
90
90
  ### 文件命名与写入
91
91
 
92
- `suggestedName` 是不可信输入,因此 `encodeSegment` 会把 `[A-Za-z0-9._-]`(以及 `~` 本身)之外的每个字符转义成 `~XXXX` 形式,使映射对所有 JS 字符串都是单射:分隔符、`../`、NUL 与绝对路径永远无法逃出单个路径段,整段 token `.`/`..` 也会被转义。写入采用 `open(path, 'wx', 0o600)`——任何已存在路径(无论是否符号链接)都会失败,因此预置目标无法重定向写入。对同一建议名的两次保存会得到不同的随机前缀。
92
+ `suggestedName` 是不可信输入,因此 `encodeSegment` 会把 `[A-Za-z0-9._-]` 之外的每个字符以及 `~` 本身转义成 `~XXXX` 形式,使映射对所有 JS 字符串都是单射:分隔符、`../`、NUL 与绝对路径永远无法逃出单个路径段,整段 token `.`/`..` 也会被转义。写入采用 `open(path, 'wx', 0o600)`——任何已存在路径(无论是否符号链接)都会失败,因此预置目标无法重定向写入。对同一建议名的两次保存会得到不同的随机前缀。
93
93
 
94
94
  </details>
95
95
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@deepseek-ai/dsh-spill-local",
3
3
  "description": "Local-filesystem implementation of the DeepSeek Harness spill storage seam (private session-scoped files)",
4
- "version": "0.1.5-rc.2",
4
+ "version": "0.1.6-alpha.2",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
@@ -27,7 +27,7 @@
27
27
  ],
28
28
  "license": "MIT",
29
29
  "peerDependencies": {
30
- "@deepseek-ai/dsh-spill": "^0.1.5-rc.2",
30
+ "@deepseek-ai/dsh-spill": "^0.1.6-alpha.2",
31
31
  "@deepseek-ai/cordis": "^4.0.2"
32
32
  },
33
33
  "dependencies": {
@@ -35,11 +35,11 @@
35
35
  },
36
36
  "devDependencies": {
37
37
  "@deepseek-ai/cordis-plugin-include": "^1.0.7",
38
+ "@deepseek-ai/dsh-brand": "^0.1.6-alpha.2",
39
+ "@deepseek-ai/dsh-llm": "^0.1.6-alpha.2",
38
40
  "@deepseek-ai/cordis-plugin-loader": "^1.0.3",
39
- "@deepseek-ai/dsh-brand": "^0.1.5-rc.2",
40
- "@deepseek-ai/dsh-llm": "^0.1.5-rc.2",
41
- "@deepseek-ai/dsh-session": "^0.1.5-rc.2",
42
- "@deepseek-ai/cordis": "^4.0.2",
43
- "@deepseek-ai/dsh-spill": "^0.1.5-rc.2"
41
+ "@deepseek-ai/dsh-session": "^0.1.6-alpha.2",
42
+ "@deepseek-ai/dsh-spill": "^0.1.6-alpha.2",
43
+ "@deepseek-ai/cordis": "^4.0.2"
44
44
  }
45
45
  }