@deepseek-ai/dsh-tmux-context 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
@@ -2,5 +2,5 @@
2
2
  # side as of the last confirmed-consistent state. Both languages carry equal authority;
3
3
  # after editing either side, bring the other along and re-record with:
4
4
  # pnpm run verify-translation-pairing --write packages/context/tmux-context/README.md
5
- README.md: 2f00aa4e8f42670bbadba4e2a1777d5b596090b9
6
- README.zh.md: 06743d57d6332401fcb65bf00e6c23bf0ec7eec2
5
+ README.md: 1a5255e11f661296d44423e1bed940ec160b80b5
6
+ README.zh.md: 3dab566a4fbe3d3819d81861e6531d5b01c940eb
package/README.md CHANGED
@@ -27,7 +27,7 @@ English | [中文](README.zh.md)
27
27
 
28
28
  Mount this plugin when the agent process runs inside tmux and the model benefits from knowing its window and pane location. Each reading is one additional user-role message in durable history; an unchanged location adds nothing, so long-running sessions accumulate little.
29
29
 
30
- ### What the agent gets
30
+ ### What the model gets
31
31
 
32
32
  On each turn whose tmux state changed, the model receives one source-tagged context message with the session name, window index and name, pane index and id, active flags, and the compact pane-tree layout. Readings happen on the first step of a turn only; a pane moved or resized mid-turn is reflected on the next turn. Pixel sizes are intentionally excluded, and the visible contents of sibling panes are never captured.
33
33
 
@@ -85,7 +85,7 @@ At the first step of a turn, the listener checks whether an injection is due, qu
85
85
 
86
86
  Read these pages when the package-level contract is not enough. They move from the design decision to the executor the query runs through and the exhaustive configuration.
87
87
 
88
- - [Tmux location context decision record](../../../.agents/notes/archived/feature/2026-07-27-tmux-location-context.md) — design rationale for the tty-based detection and reading shape.
88
+ - [tmux location context decision record](../../../.agents/notes/archived/feature/2026-07-27-tmux-location-context.md) — design rationale for the tty-based detection and reading shape.
89
89
  - [Shell subsystem](../../../docs/subsystems/shell.md) — the executor service the read-only query runs through.
90
90
  - [Context group map](../README.md) — sibling request-context packages.
91
91
  - [Generated configuration catalog](../../../docs/config-catalog.md#deepseek-aidsh-tmux-context) — every accepted config field and its source declaration.
@@ -115,7 +115,7 @@ Each three-line reading accumulates until compaction shadows it. Unchanged locat
115
115
 
116
116
  #### KV Cache effect
117
117
 
118
- Append-only; newly visible content follows the reusable request prefix and does not invalidate existing KV-cache entries.
118
+ Append-only; newly visible content follows the reusable request prefix and does not invalidate existing KV Cache entries.
119
119
 
120
120
  ## Known Limitations and Deferred Work
121
121
 
package/README.zh.md CHANGED
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: "可选的按轮次 tmux 位置上下文,供启用或调优 agent 的 session、window 与 pane 感知的用户与维护者阅读。"
2
+ description: "可选的按轮次 tmux 位置上下文,供启用或调优 agent(智能体)的会话、window 与 pane 感知的用户与维护者阅读。"
3
3
  kind: "package-reference"
4
4
  ---
5
5
 
@@ -9,7 +9,7 @@ kind: "package-reference"
9
9
 
10
10
  ## 概述
11
11
 
12
- `dsh-tmux-context` 让模型识别其 agent(智能体)进程所在的 tmux session、window、pane 和 pane 树布局。它仅在位置发生变化时,于每轮的第一个步骤追加一条持久、带来源的读数。若终端只继承了 tmux 环境变量,却并未在所指名的 pane 中运行,则不添加任何内容;查询失败同样不添加内容,也不会使该轮失败。本包需主动启用,且不包含在随附的 Web 或无头 profile 中。
12
+ `dsh-tmux-context` 让模型识别其 agent 进程所在的 tmux 会话、window、pane 和 pane 树布局。它仅在位置发生变化时,于每轮的第一个步骤追加一条持久、带来源的读数。若终端只继承了 tmux 环境变量,却并未在所指名的 pane 中运行,则不添加任何内容;查询失败同样不添加内容,也不会使该轮失败。本包需主动启用,且不包含在随附的 Web 或无头 profile 中。
13
13
 
14
14
  ## 目录
15
15
 
@@ -29,11 +29,11 @@ kind: "package-reference"
29
29
 
30
30
  ### 模型能得到什么
31
31
 
32
- 在 tmux 状态发生变化的每一轮,模型会收到一条带来源标记的上下文消息,包含 session 名称、window 索引与名称、pane 索引与 id、活动标志,以及紧凑的 pane 树布局。读数只发生在每轮的第一个步骤;轮次中途移动或缩放的 pane 会在下一轮反映。像素尺寸有意省略,相邻 pane 的可见内容从不采集。
32
+ 在 tmux 状态发生变化的每一轮,模型会收到一条带来源标记的上下文消息,包含会话名称、window 索引与名称、pane 索引与 id、活动标志,以及紧凑的 pane 树布局。读数只发生在每轮的第一个步骤;轮次中途移动或缩放的 pane 会在下一轮反映。像素尺寸有意省略,相邻 pane 的可见内容从不采集。
33
33
 
34
34
  ### 配置
35
35
 
36
- 最小挂载无需任何配置。正的 `refreshIntervalMs` 会额外抑制距最近一次注入不足该毫秒数的注入;省略或设为 `0` 时,只要 tmux 状态自上次注入以来发生变化就注入。
36
+ 最小挂载无需任何配置。`refreshIntervalMs` 为正值时,会额外抑制距最近一次注入不足该毫秒数的注入;省略或设为 `0` 时,只要 tmux 状态自上次注入以来发生变化就注入。
37
37
 
38
38
  ```yaml
39
39
  - name: '@deepseek-ai/dsh-tmux-context'
@@ -45,7 +45,7 @@ kind: "package-reference"
45
45
  |---|---|---|
46
46
  | `refreshIntervalMs` | `0`(每个变化轮次) | 同一会话中两次持久注入之间的最小毫秒数 |
47
47
 
48
- 生成的[配置目录](../../../docs/config-catalog.zh.md#deepseek-aidsh-tmux-context)是每个受支持字段及其 JSDoc 的穷尽式真源。
48
+ 生成的[配置目录](../../../docs/config-catalog.zh.md#deepseek-aidsh-tmux-context)是所有受支持字段及其 JSDoc 的完整真源。
49
49
 
50
50
  ### 何时知道位置
51
51
 
@@ -70,7 +70,7 @@ kind: "package-reference"
70
70
  | 文件 | 职责 |
71
71
  |---|---|
72
72
  | [`src/index.ts`](src/index.ts) | 插件入口:第一步监听器、shell 查询、变化抑制、调度 |
73
- | — | 不发布运行时不变式伴生入口;每次读取都是外部 tmux 状态的单轮快照,Session 没有可检查的跨事件关系;调度与格式由 pipeline 测试负责。 |
73
+ | — | 不发布运行时不变式伴生入口;每次读取都是外部 tmux 状态的单轮快照,会话没有可检查的跨事件关系;调度与格式由流水线测试负责。 |
74
74
 
75
75
  ### 主要流程
76
76
 
@@ -83,11 +83,11 @@ kind: "package-reference"
83
83
  <a id="further-exploration"></a>
84
84
  ## 进一步探索
85
85
 
86
- 包级约定不够用时阅读以下页面。它们从设计决策进入查询所经由的执行器与穷尽式配置。
86
+ 包级约定不够用时阅读以下页面。这些页面从设计决策讲到查询所经由的执行器以及完整配置。
87
87
 
88
88
  - [tmux 位置上下文决策记录](../../../.agents/notes/archived/feature/2026-07-27-tmux-location-context.md)——基于 tty 的检测与读数形状的设计理由。
89
89
  - [shell 子系统](../../../docs/subsystems/shell.zh.md)——只读查询所经由的执行器服务。
90
- - [context 组地图](../README.zh.md)——相邻的请求上下文包。
90
+ - [上下文组地图](../README.zh.md)——相邻的请求上下文包。
91
91
  - [生成的配置目录](../../../docs/config-catalog.zh.md#deepseek-aidsh-tmux-context)——每个受支持配置字段及其源声明。
92
92
 
93
93
  -----
package/lib/index.js CHANGED
@@ -470,13 +470,15 @@ function failureSnapshot(value) {
470
470
  const status = candidate.status;
471
471
  const providerRetryAfterMs = candidate.providerRetryAfterMs;
472
472
  const requestId = candidate.requestId;
473
- if (typeof message !== "string" || message.length === 0 || typeof code !== "string" || code.length === 0 || status !== void 0 && (!Number.isInteger(status) || status < 100 || status > 599) || providerRetryAfterMs !== void 0 && (!Number.isFinite(providerRetryAfterMs) || providerRetryAfterMs <= 0) || requestId !== void 0 && (typeof requestId !== "string" || requestId.length === 0)) return void 0;
473
+ const offloadImages = candidate.offloadImages;
474
+ if (typeof message !== "string" || message.length === 0 || typeof code !== "string" || code.length === 0 || status !== void 0 && (!Number.isInteger(status) || status < 100 || status > 599) || providerRetryAfterMs !== void 0 && (!Number.isFinite(providerRetryAfterMs) || providerRetryAfterMs <= 0) || requestId !== void 0 && (typeof requestId !== "string" || requestId.length === 0) || offloadImages !== void 0 && (!Number.isSafeInteger(offloadImages) || offloadImages <= 0)) return void 0;
474
475
  return Object.freeze({
475
476
  message,
476
477
  code,
477
478
  ...status === void 0 ? {} : { status },
478
479
  ...providerRetryAfterMs === void 0 ? {} : { providerRetryAfterMs },
479
- ...requestId === void 0 ? {} : { requestId }
480
+ ...requestId === void 0 ? {} : { requestId },
481
+ ...offloadImages === void 0 ? {} : { offloadImages }
480
482
  });
481
483
  } catch (_sdkFailureGetter) {
482
484
  return;
@@ -713,7 +715,8 @@ var LlmError = class extends HarnessError {
713
715
  code,
714
716
  ...options?.status === void 0 ? {} : { status: options.status },
715
717
  ...options?.providerRetryAfterMs === void 0 ? {} : { providerRetryAfterMs: options.providerRetryAfterMs },
716
- ...options?.requestId === void 0 ? {} : { requestId: options.requestId }
718
+ ...options?.requestId === void 0 ? {} : { requestId: options.requestId },
719
+ ...options?.offloadImages === void 0 ? {} : { offloadImages: options.offloadImages }
717
720
  });
718
721
  }
719
722
  };
@@ -981,7 +984,8 @@ var LlmError = class extends HarnessError {
981
984
  id: model.id,
982
985
  ...model.name === void 0 ? {} : { name: model.name },
983
986
  ...model.contextWindow === void 0 ? {} : { contextWindow: model.contextWindow },
984
- ...model.maxTokens === void 0 ? {} : { maxTokens: model.maxTokens }
987
+ ...model.maxTokens === void 0 ? {} : { maxTokens: model.maxTokens },
988
+ ...model.inputModalities === void 0 ? {} : { inputModalities: [...model.inputModalities] }
985
989
  });
986
990
  }
987
991
  return models;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@deepseek-ai/dsh-tmux-context",
3
3
  "description": "Opt-in durable per-step context with this agent's tmux pane and window location",
4
- "version": "0.1.5-rc.2",
4
+ "version": "0.1.6-alpha.2",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
@@ -31,20 +31,20 @@
31
31
  "@deepseek-ai/schemastery": "^3.18.2"
32
32
  },
33
33
  "peerDependencies": {
34
- "@deepseek-ai/dsh-agent": "^0.1.5-rc.2",
35
- "@deepseek-ai/dsh-shell": "^0.1.5-rc.2",
36
- "@deepseek-ai/dsh-session": "^0.1.5-rc.2",
37
- "@deepseek-ai/dsh-session-projection": "^0.1.5-rc.2",
34
+ "@deepseek-ai/dsh-agent": "^0.1.6-alpha.2",
35
+ "@deepseek-ai/dsh-shell": "^0.1.6-alpha.2",
36
+ "@deepseek-ai/dsh-session": "^0.1.6-alpha.2",
37
+ "@deepseek-ai/dsh-session-projection": "^0.1.6-alpha.2",
38
38
  "@deepseek-ai/cordis": "^4.0.2"
39
39
  },
40
40
  "devDependencies": {
41
- "@deepseek-ai/dsh-agent-loop-testkit": "^0.1.5-rc.2",
42
- "@deepseek-ai/dsh-agent": "^0.1.5-rc.2",
43
- "@deepseek-ai/dsh-shell": "^0.1.5-rc.2",
44
- "@deepseek-ai/dsh-llm": "^0.1.5-rc.2",
45
- "@deepseek-ai/dsh-session": "^0.1.5-rc.2",
46
- "@deepseek-ai/dsh-system-prompt": "^0.1.5-rc.2",
47
- "@deepseek-ai/dsh-session-projection": "^0.1.5-rc.2",
48
- "@deepseek-ai/cordis": "^4.0.2"
41
+ "@deepseek-ai/dsh-agent": "^0.1.6-alpha.2",
42
+ "@deepseek-ai/dsh-agent-loop-testkit": "^0.1.6-alpha.2",
43
+ "@deepseek-ai/dsh-shell": "^0.1.6-alpha.2",
44
+ "@deepseek-ai/dsh-llm": "^0.1.6-alpha.2",
45
+ "@deepseek-ai/dsh-session": "^0.1.6-alpha.2",
46
+ "@deepseek-ai/dsh-session-projection": "^0.1.6-alpha.2",
47
+ "@deepseek-ai/cordis": "^4.0.2",
48
+ "@deepseek-ai/dsh-system-prompt": "^0.1.6-alpha.2"
49
49
  }
50
50
  }