dsh-client-auto-continue 0.10.2 → 0.11.0

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.
@@ -1,7 +1,23 @@
1
1
  /** 简体中文词典(键集的事实来源)。 */
2
2
  export declare const zh: {
3
3
  'card.title': string;
4
+ 'card.eyebrow': string;
4
5
  'card.description': string;
6
+ 'flow.interrupted': string;
7
+ 'flow.grace': string;
8
+ 'flow.continue': string;
9
+ 'repo.star': string;
10
+ 'repo.aria': string;
11
+ 'section.handoff.title': string;
12
+ 'section.handoff.description': string;
13
+ 'section.safety.title': string;
14
+ 'section.safety.description': string;
15
+ 'section.recovery.title': string;
16
+ 'section.recovery.description': string;
17
+ 'section.loop.title': string;
18
+ 'section.loop.description': string;
19
+ 'section.live.title': string;
20
+ 'section.live.description': string;
5
21
  'field.paused': string;
6
22
  'field.pausedHint': string;
7
23
  'field.continueText': string;
@@ -36,6 +52,7 @@ export declare const zh: {
36
52
  'field.classifyHint': string;
37
53
  'field.retryableErrorPatterns': string;
38
54
  'field.retryableErrorPatternsHint': string;
55
+ 'field.retryableErrorPatternsPlaceholder': string;
39
56
  'field.backoffFactor': string;
40
57
  'field.backoffFactorHint': string;
41
58
  'field.backoffMaxMs': string;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "dsh-client-auto-continue",
3
3
  "description": "DSH Web UI plugin: automatically sends a localized continue prompt when a request is interrupted by network errors or other non-human causes",
4
- "version": "0.10.2",
4
+ "version": "0.11.0",
5
5
  "type": "module",
6
6
  "main": "lib/index.js",
7
7
  "types": "lib/types/index.d.ts",
@@ -46,7 +46,7 @@
46
46
  "build": "node build.mjs && tsc -p tsconfig.build.json",
47
47
  "watch": "node build.mjs --watch",
48
48
  "typecheck": "tsc --noEmit",
49
- "test": "node tests/simulate-host.mjs && node tests/simulate-client-loader.mjs && node tests/prepare-github-package.mjs",
49
+ "test": "node tests/simulate-host.mjs && node tests/simulate-client-loader.mjs && node tests/settings-card-ui.mjs && node tests/prepare-github-package.mjs",
50
50
  "prepack": "npm run build"
51
51
  },
52
52
  "keywords": [
@@ -8,7 +8,23 @@ import { LOCALIZED_TEXT_DEFAULTS } from '../shared/core.ts';
8
8
  /** 简体中文词典(键集的事实来源)。 */
9
9
  export const zh = {
10
10
  'card.title': '自动继续',
11
- 'card.description': '请求因网络等原因(非人为)中断后, 自动发送「继续」续跑。',
11
+ 'card.eyebrow': '中断接力器',
12
+ 'card.description': '接住意外中断的请求,等现场稳定下来,再把对话交还给 Agent。',
13
+ 'flow.interrupted': '检测中断',
14
+ 'flow.grace': '安全等待',
15
+ 'flow.continue': '发送继续',
16
+ 'repo.star': '去 GitHub 点 Star',
17
+ 'repo.aria': '打开 dsh-auto-continue 的 GitHub 开源地址并点 Star',
18
+ 'section.handoff.title': '接力方式',
19
+ 'section.handoff.description': '决定中断后说什么,以及什么时候暂时停手。',
20
+ 'section.safety.title': '安全节奏',
21
+ 'section.safety.description': '先确认上一步,再控制等待与连续续跑的边界。',
22
+ 'section.recovery.title': '恢复雷达',
23
+ 'section.recovery.description': '扫描掉线会话,识别可恢复错误并逐步退避。',
24
+ 'section.loop.title': '循环断路器',
25
+ 'section.loop.description': '发现空转时及时换路,而不是让 Agent 原地消耗。',
26
+ 'section.live.title': '现场状态',
27
+ 'section.live.description': '看看今天接住了多少次,以及哪些会话还在暂停。',
12
28
  'field.paused': '暂停自动继续',
13
29
  'field.pausedHint': '全局暂停: 实时与扫描都不会再自动发送, 已排队的待发送也会取消。',
14
30
  'field.continueText': '继续文本',
@@ -43,6 +59,7 @@ export const zh = {
43
59
  'field.classifyHint': '仅自动恢复临时性错误(网络/超时/5xx 等); 认证/余额/模型不存在等永久性错误跳过并通知。',
44
60
  'field.retryableErrorPatterns': '自定义可恢复错误',
45
61
  'field.retryableErrorPatternsHint': '每行一个大小写不敏感的普通文本片段; 命中错误码、HTTP 状态或消息时覆盖内置分类。请只填 provider 稳定且足够具体的文案, 过宽会重复请求。',
62
+ 'field.retryableErrorPatternsPlaceholder': '例如:Upstream rejected the request as invalid',
46
63
  'field.backoffFactor': '退避系数',
47
64
  'field.backoffFactorHint': '连续失败时冷却间隔的倍率(如 2 表示 20s→40s→80s 递增)。',
48
65
  'field.backoffMaxMs': '最大退避间隔 (ms)',
@@ -101,7 +118,23 @@ export type SettingsCardKey = keyof typeof zh;
101
118
  /** English dictionary, checked complete against the zh key set. */
102
119
  export const en: Record<SettingsCardKey, string> = {
103
120
  'card.title': 'Auto continue',
104
- 'card.description': 'When a request is interrupted by a non-human cause, automatically send "Continue" to resume.',
121
+ 'card.eyebrow': 'Continuity relay',
122
+ 'card.description': 'Catches an interrupted request, waits for things to settle, then hands the thread back to the agent.',
123
+ 'flow.interrupted': 'Interrupted',
124
+ 'flow.grace': 'Safe pause',
125
+ 'flow.continue': 'Continue',
126
+ 'repo.star': 'Star on GitHub',
127
+ 'repo.aria': 'Open the dsh-auto-continue repository on GitHub and star it',
128
+ 'section.handoff.title': 'The handoff',
129
+ 'section.handoff.description': 'Choose what gets sent after an interruption and when the relay should stand down.',
130
+ 'section.safety.title': 'Safety rhythm',
131
+ 'section.safety.description': 'Confirm the previous step, then set the boundaries for waiting and repeated resumes.',
132
+ 'section.recovery.title': 'Recovery radar',
133
+ 'section.recovery.description': 'Find dropped sessions, recognize recoverable errors, and back off gracefully.',
134
+ 'section.loop.title': 'Loop breaker',
135
+ 'section.loop.description': 'Spot a spinning agent and route it forward before it burns time in place.',
136
+ 'section.live.title': 'Live signal',
137
+ 'section.live.description': 'See what the relay caught today and which sessions are still paused.',
105
138
  'field.paused': 'Pause auto-continue',
106
139
  'field.pausedHint': 'Globally pause: no live or scan auto-send fires, and queued pending sends are cancelled.',
107
140
  'field.continueText': 'Continue text',
@@ -136,6 +169,7 @@ export const en: Record<SettingsCardKey, string> = {
136
169
  'field.classifyHint': 'Auto-resume transient failures only (network/timeout/5xx…); auth, balance and model errors are skipped and notified.',
137
170
  'field.retryableErrorPatterns': 'Custom retryable errors',
138
171
  'field.retryableErrorPatternsHint': 'One case-insensitive literal per line. A match in the error code, HTTP status, or message overrides built-in classification. Use only stable, provider-specific text; broad matches can repeat requests.',
172
+ 'field.retryableErrorPatternsPlaceholder': 'For example: Upstream rejected the request as invalid',
139
173
  'field.backoffFactor': 'Backoff factor',
140
174
  'field.backoffFactorHint': 'Cooldown multiplier per consecutive failure (2 = 20s→40s→80s…).',
141
175
  'field.backoffMaxMs': 'Max backoff (ms)',