openxiangda 2.34.0 → 2.34.1
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/dist/browser/ManagedCommand.js +1 -1
- package/dist/browser/ManagedCommand.js.map +1 -1
- package/dist/browser/durable-command.d.ts +2 -0
- package/dist/browser/durable-command.d.ts.map +1 -1
- package/dist/browser/durable-command.js +24 -7
- package/dist/browser/durable-command.js.map +1 -1
- package/documentation/getting-started.md +7 -7
- package/documentation/managed-concurrency-frontend.md +2 -2
- package/documentation/manifest.json +3 -3
- package/package.json +18 -22
- package/releases/2.34.1.json +34 -0
- package/skills/manifest.json +1 -1
- package/skills/openxiangda-v2/SKILL.md +4 -4
- package/skills/openxiangda-v2/references/getting-started.md +7 -7
- package/skills/openxiangda-v2/references/managed-concurrency-frontend.md +2 -2
|
@@ -41,7 +41,7 @@ export function ManagedCommandGate({ snapshot, children, fallback }) {
|
|
|
41
41
|
}
|
|
42
42
|
/** Current-actor discovery on mount; submit is an explicit new or original-key retry action. */
|
|
43
43
|
export function useDurableCommand(options) {
|
|
44
|
-
const controller = useMemo(() => new DurableCommandController({ ...options, storage: options.storage || browserStorage }), [options.client, options.command, options.resourceKey, options.storageKey, options.storage]);
|
|
44
|
+
const controller = useMemo(() => new DurableCommandController({ ...options, storage: options.storage || browserStorage }), [options.client, options.command, options.resourceKey, options.storageKey, options.storage, options.acceptanceRecoveryMs]);
|
|
45
45
|
const snapshot = useSyncExternalStore(controller.subscribe, controller.snapshot, controller.snapshot);
|
|
46
46
|
useEffect(() => { void controller.refresh(); return () => controller.stop(); }, [controller]);
|
|
47
47
|
return { ...snapshot, submit: (input) => controller.submit(input), refresh: () => controller.refresh(), resume: () => controller.resume(), stop: () => controller.stop() };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ManagedCommand.js","sourceRoot":"","sources":["../../src/browser/ManagedCommand.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ManagedCommand.js","sourceRoot":"","sources":["../../src/browser/ManagedCommand.tsx"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,8 @@ export interface DurableCommandOptions {
|
|
|
16
16
|
resourceKey: string;
|
|
17
17
|
storageKey?: string;
|
|
18
18
|
storage: StorageLike;
|
|
19
|
+
/** Total automatic intake recovery budget from the original explicit submit. */
|
|
20
|
+
acceptanceRecoveryMs?: number;
|
|
19
21
|
sleep?: (ms: number, signal: AbortSignal) => Promise<void>;
|
|
20
22
|
random?: () => number;
|
|
21
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"durable-command.d.ts","sourceRoot":"","sources":["../../src/browser/durable-command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAClE,KAAK,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,SAAS,GAAG,SAAS,GAAG,YAAY,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"durable-command.d.ts","sourceRoot":"","sources":["../../src/browser/durable-command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAClE,KAAK,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,SAAS,GAAG,SAAS,GAAG,YAAY,CAAC,CAAC;AAQvE,MAAM,WAAW,sBAAsB;IACnC,KAAK,EAAE,MAAM,GAAG,YAAY,GAAG,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACjE,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AACD,MAAM,WAAW,qBAAqB;IAClC,MAAM,EAAE,wBAAwB,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,WAAW,CAAC;IACrB,gFAAgF;IAChF,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC;CACzB;AAaD,uFAAuF;AACvF,qBAAa,wBAAwB;IAQrB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAPpC,OAAO,CAAC,KAAK,CAAqF;IAClG,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,KAAK,CAAC,CAAkB;IAChC,OAAO,CAAC,UAAU,CAAC,CAAgB;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;gBACP,OAAO,EAAE,qBAAqB;IAK3D,QAAQ,+BAAoB;IAC5B,SAAS,GAAI,UAAU,MAAM,IAAI,gBAA0F;IAC3H,OAAO,CAAC,MAAM;IAEd,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,OAAO;IAqBf,OAAO,CAAC,MAAM;IASd,IAAI;IACE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA0C9B,sFAAsF;IAChF,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ7B,iFAAiF;IACjF,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;YAMvC,OAAO;YAuDP,mBAAmB;IAwCjC,OAAO,CAAC,OAAO;YAQD,IAAI;CAiCrB"}
|
|
@@ -22,6 +22,8 @@ export class DurableCommandController {
|
|
|
22
22
|
storageKey;
|
|
23
23
|
constructor(options) {
|
|
24
24
|
this.options = options;
|
|
25
|
+
if (options.acceptanceRecoveryMs !== undefined && (!Number.isFinite(options.acceptanceRecoveryMs) || options.acceptanceRecoveryMs < 120000 || options.acceptanceRecoveryMs > 1800000))
|
|
26
|
+
throw new Error('CONCURRENCY_RECOVERY_BUDGET_INVALID');
|
|
25
27
|
this.storageKey = `openxiangda:durable-command:${JSON.stringify([options.client.scope, options.command, options.resourceKey, options.storageKey || ''])}`;
|
|
26
28
|
}
|
|
27
29
|
snapshot = () => this.value;
|
|
@@ -49,6 +51,8 @@ export class DurableCommandController {
|
|
|
49
51
|
}
|
|
50
52
|
if (saved.version !== 1 || !/^[A-Za-z0-9][A-Za-z0-9._:/-]{0,127}$/.test(saved.requestKey))
|
|
51
53
|
throw new Error('CONCURRENCY_RECOVERY_INVALID');
|
|
54
|
+
if (saved.firstSubmittedAt !== undefined && (!Number.isFinite(saved.firstSubmittedAt) || saved.firstSubmittedAt < 0))
|
|
55
|
+
throw new Error('CONCURRENCY_RECOVERY_INVALID');
|
|
52
56
|
this.intent = saved;
|
|
53
57
|
}
|
|
54
58
|
accept(receipt) {
|
|
@@ -149,7 +153,9 @@ export class DurableCommandController {
|
|
|
149
153
|
throw new Error('CONCURRENCY_ORIGINAL_REQUEST_REQUIRED');
|
|
150
154
|
}
|
|
151
155
|
else
|
|
152
|
-
this.intent = { version: 1, input: JSON.parse(serialized), requestKey: crypto.randomUUID() };
|
|
156
|
+
this.intent = { version: 1, input: JSON.parse(serialized), requestKey: crypto.randomUUID(), firstSubmittedAt: Date.now() };
|
|
157
|
+
// Old intents cannot establish a historical start; begin at this explicit recovery.
|
|
158
|
+
this.intent.firstSubmittedAt ??= Date.now();
|
|
153
159
|
this.persist();
|
|
154
160
|
this.update({ state: 'recovering', requestKey: this.intent.requestKey, input: Object.freeze({ ...this.intent.input }), receipt: undefined, errorCode: undefined, initialized: true, isObserving: true });
|
|
155
161
|
enqueueAttempted = true;
|
|
@@ -174,20 +180,29 @@ export class DurableCommandController {
|
|
|
174
180
|
}
|
|
175
181
|
}
|
|
176
182
|
async enqueueWithRecovery(intent, abort, active) {
|
|
177
|
-
const
|
|
183
|
+
const budget = this.options.acceptanceRecoveryMs ?? 120000;
|
|
184
|
+
const deadline = intent.firstSubmittedAt + budget;
|
|
185
|
+
const remaining = deadline - Date.now();
|
|
186
|
+
const unconfirmed = () => Object.assign(new Error('受理结果尚未确认,请核对原申请'), { code: 'CONCURRENCY_ACCEPTANCE_UNCONFIRMED', status: 504 });
|
|
187
|
+
if (remaining <= 0 || Date.now() < intent.firstSubmittedAt)
|
|
188
|
+
throw unconfirmed();
|
|
178
189
|
let lastError, timedOut = false;
|
|
179
|
-
const timer = setTimeout(() => { timedOut = true; abort.abort(); },
|
|
190
|
+
const timer = setTimeout(() => { timedOut = true; abort.abort(); }, remaining);
|
|
180
191
|
try {
|
|
181
|
-
for (let attempt = 0; attempt < 6 && active(); attempt++) {
|
|
192
|
+
for (let attempt = 0; attempt < (budget > 120000 ? 120 : 6) && active(); attempt++) {
|
|
182
193
|
try {
|
|
194
|
+
if (Date.now() >= deadline || Date.now() < intent.firstSubmittedAt)
|
|
195
|
+
throw unconfirmed();
|
|
183
196
|
if (attempt > 0) {
|
|
184
197
|
const suggested = Number(lastError?.retryAfterMs ?? lastError?.data?.retryAfterMs) || 0;
|
|
185
|
-
const wait = Math.max(suggested, Math.min(30000, 5000 * 2 ** (attempt - 1))) * (1 + (this.options.random || Math.random)() * .25);
|
|
198
|
+
const wait = Math.max(suggested, Math.min(30000, 5000 * 2 ** Math.min(attempt - 1, 5))) * (1 + (this.options.random || Math.random)() * .25);
|
|
186
199
|
if (wait >= deadline - Date.now())
|
|
187
|
-
throw
|
|
200
|
+
throw unconfirmed();
|
|
188
201
|
await (this.options.sleep || sleep)(wait, abort.signal);
|
|
189
202
|
if (!active())
|
|
190
203
|
return undefined;
|
|
204
|
+
if (Date.now() >= deadline || Date.now() < intent.firstSubmittedAt)
|
|
205
|
+
throw unconfirmed();
|
|
191
206
|
// A lost acknowledgement may already be committed; never re-enqueue before checking.
|
|
192
207
|
try {
|
|
193
208
|
return await this.options.client.result({ command: this.options.command, requestKey: intent.requestKey }, abort.signal);
|
|
@@ -202,6 +217,8 @@ export class DurableCommandController {
|
|
|
202
217
|
catch (error) {
|
|
203
218
|
if (!active())
|
|
204
219
|
break;
|
|
220
|
+
if (code(error) === 'CONCURRENCY_ACCEPTANCE_UNCONFIRMED')
|
|
221
|
+
throw error;
|
|
205
222
|
if (!retryable(error))
|
|
206
223
|
throw error;
|
|
207
224
|
lastError = error;
|
|
@@ -211,7 +228,7 @@ export class DurableCommandController {
|
|
|
211
228
|
if (timedOut) {
|
|
212
229
|
if (this.abort === abort)
|
|
213
230
|
this.update({ state: 'recovering', isObserving: false, errorCode: 'CONCURRENCY_ACCEPTANCE_UNCONFIRMED' });
|
|
214
|
-
throw
|
|
231
|
+
throw unconfirmed();
|
|
215
232
|
}
|
|
216
233
|
if (!active())
|
|
217
234
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"durable-command.js","sourceRoot":"","sources":["../../src/browser/durable-command.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"durable-command.js","sourceRoot":"","sources":["../../src/browser/durable-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -68,10 +68,10 @@ MCP 服务随项目根包一起安装,AI 客户端的 stdio 连接仍需配置
|
|
|
68
68
|
以下命令的版本占位符由随包资料替换为该根包的精确版本。网站源码阅读者应先确认要使用的发行版本。
|
|
69
69
|
|
|
70
70
|
```bash
|
|
71
|
-
pnpm dlx openxiangda@2.34.
|
|
72
|
-
pnpm dlx openxiangda@2.34.
|
|
73
|
-
pnpm dlx openxiangda@2.34.
|
|
74
|
-
pnpm dlx openxiangda@2.34.
|
|
71
|
+
pnpm dlx openxiangda@2.34.1 skill install --force
|
|
72
|
+
pnpm dlx openxiangda@2.34.1 auth status --base-url <平台地址> --json
|
|
73
|
+
pnpm dlx openxiangda@2.34.1 login --cwd my-app --base-url https://platform.example.com
|
|
74
|
+
pnpm dlx openxiangda@2.34.1 create my-app --base-url https://platform.example.com
|
|
75
75
|
cd my-app
|
|
76
76
|
pnpm openxiangda context --json
|
|
77
77
|
pnpm openxiangda dev
|
|
@@ -174,9 +174,9 @@ MCP 的 `docs_read` 可以读取本说明,当前没有独立的源码操作 MC
|
|
|
174
174
|
无需本地工作区,使用本 Skill 随包精确版本或已安装的对应 CLI:
|
|
175
175
|
|
|
176
176
|
```bash
|
|
177
|
-
pnpm dlx openxiangda@2.34.
|
|
178
|
-
pnpm dlx openxiangda@2.34.
|
|
179
|
-
pnpm dlx openxiangda@2.34.
|
|
177
|
+
pnpm dlx openxiangda@2.34.1 auth status --base-url <平台> --json
|
|
178
|
+
pnpm dlx openxiangda@2.34.1 source resolve <仓库URL> --base-url <平台> --json
|
|
179
|
+
pnpm dlx openxiangda@2.34.1 source clone <仓库URL> <新目录> --base-url <平台> --json
|
|
180
180
|
```
|
|
181
181
|
|
|
182
182
|
登录缺失或站点不匹配时,先按该平台执行 login。resolve 根据平台已经登记的绑定返回
|
|
@@ -201,12 +201,12 @@ export function ClaimAction({ offerId }: { offerId: string }) {
|
|
|
201
201
|
|
|
202
202
|
```tsx
|
|
203
203
|
const client = useMemo(() => createManagedConcurrencyClient(), []);
|
|
204
|
-
const command = useDurableCommand({client,command:'registration-enroll',resourceKey:activityId});
|
|
204
|
+
const command = useDurableCommand({client,command:'registration-enroll',resourceKey:activityId,acceptanceRecoveryMs:30*60*1000});
|
|
205
205
|
// 仅真实点击提交;不是 useEffect 或页面 mount 回调。
|
|
206
206
|
const submit = () => command.submit({activity:activityId,channel:channelId,agreed:true,phone});
|
|
207
207
|
```
|
|
208
208
|
|
|
209
|
-
hook 从 `openxiangda/react` 和 `openxiangda/mobile` 导出。state、initialized、isObserving、requestKey、receipt、errorCode 用于统一状态区;submit(input)、resume()、refresh()、stop() 分别为明确提交、用冻结 input 重试原请求、恢复查询和停止观察。挂载只查本地原 key 或服务端 mine,不自动 enqueue。未知应答保留原 key 与 input;用户恢复后先查原结果,不能换 key 重试。浏览器存储失败在提交前明确失败。未知应答后的恢复按钮调用 resume(),不传当前可能已经修改的表单。snapshot.input 可恢复本地冻结表单;跨设备只有回执时不展示推测的原输入。一次明确 submit/resume 期间,429、暂时5xx或网络错误会按原 key/input 自动退避恢复,先查原结果再重试 enqueue
|
|
209
|
+
hook 从 `openxiangda/react` 和 `openxiangda/mobile` 导出。state、initialized、isObserving、requestKey、receipt、errorCode 用于统一状态区;submit(input)、resume()、refresh()、stop() 分别为明确提交、用冻结 input 重试原请求、恢复查询和停止观察。挂载只查本地原 key 或服务端 mine,不自动 enqueue。未知应答保留原 key 与 input;用户恢复后先查原结果,不能换 key 重试。浏览器存储失败在提交前明确失败。未知应答后的恢复按钮调用 resume(),不传当前可能已经修改的表单。snapshot.input 可恢复本地冻结表单;跨设备只有回执时不展示推测的原输入。一次明确 submit/resume 期间,429、暂时5xx或网络错误会按原 key/input 自动退避恢复,先查原结果再重试 enqueue,默认最多6次、最长120秒;可用 acceptanceRecoveryMs 明确配置120000至1800000毫秒,更长预算最多120次,遵守更长的 Retry-After。预算从首次明确提交计时,刷新或 resume() 不重置;旧版意图没有时间时从首次明确恢复计时,无法证明更早的提交时间。尚无 receipt 时只能提示“正在确认受理”,不能承诺可关闭页面。用完预算保留原意图,停止自动入队,refresh() 仍可只读核对迟到结果;这不是报名失败。该预算只控制受理恢复,不是后端最终完成时限承诺。如果刷新时原请求尚未被平台受理,挂载只查询,明确点击 resume() 才重新启动有界受理重试。
|
|
210
210
|
|
|
211
211
|
默认每次至少间隔 5 秒,遵守更长的服务端 retryAfterMs,再加随机抖动;暂时失败指数退避,终态停止。一个业务区域只挂载一个观察者。离开或关闭页面不撤销已受理请求,平台自动继续;新设备通过 mine 找到本人的原请求。position 为空时显示「已受理,稍后可查看」,不要显示虚假的精确人数或预计秒数。
|
|
212
212
|
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": "openxiangda.documentation/v1",
|
|
3
|
-
"version": "2.34.
|
|
3
|
+
"version": "2.34.1",
|
|
4
4
|
"topics": [
|
|
5
5
|
{
|
|
6
6
|
"id": "getting-started",
|
|
7
7
|
"title": "安装与开始开发",
|
|
8
8
|
"file": "getting-started.md",
|
|
9
|
-
"sha256": "
|
|
9
|
+
"sha256": "0b085c65b7230debe93f1b2f429b37e3f418436ec669c76189fe89bfe841412b"
|
|
10
10
|
},
|
|
11
11
|
{
|
|
12
12
|
"id": "product-design",
|
|
@@ -114,7 +114,7 @@
|
|
|
114
114
|
"id": "managed-concurrency-frontend",
|
|
115
115
|
"title": "并发能力的前端接入",
|
|
116
116
|
"file": "managed-concurrency-frontend.md",
|
|
117
|
-
"sha256": "
|
|
117
|
+
"sha256": "9e4f66ac66cd02d7e15b545c05b04424b0a6af15f0d6299a1503830f961c5552"
|
|
118
118
|
},
|
|
119
119
|
{
|
|
120
120
|
"id": "administration",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "openxiangda",
|
|
3
|
-
"version": "2.34.
|
|
3
|
+
"version": "2.34.1",
|
|
4
4
|
"description": "OpenXiangda 2.0 的统一命令、应用 SDK、MCP 与中文 AI 技能资料。",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -64,13 +64,13 @@
|
|
|
64
64
|
"antd-mobile": "5.42.3",
|
|
65
65
|
"dayjs": "1.11.18",
|
|
66
66
|
"docx-preview": "0.3.7",
|
|
67
|
-
"openxiangda-cli": "2.6.
|
|
67
|
+
"openxiangda-cli": "2.6.15",
|
|
68
68
|
"openxiangda-contracts": "2.34.0",
|
|
69
69
|
"openxiangda-devkit-core": "2.35.0",
|
|
70
70
|
"openxiangda-legacy": "npm:openxiangda@1.0.269",
|
|
71
71
|
"openxiangda-mcp": "2.0.62",
|
|
72
72
|
"openxiangda-nest": "2.11.0",
|
|
73
|
-
"openxiangda-skill-kit": "2.3.
|
|
73
|
+
"openxiangda-skill-kit": "2.3.38",
|
|
74
74
|
"xlsx": "https://github.com/1377385356/openxiangda/releases/download/vendor-mirror/xlsx-0.20.3.tgz"
|
|
75
75
|
},
|
|
76
76
|
"peerDependencies": {
|
|
@@ -136,41 +136,37 @@
|
|
|
136
136
|
},
|
|
137
137
|
"openxiangdaRelease": {
|
|
138
138
|
"schemaVersion": "openxiangda.release-notes/v1",
|
|
139
|
-
"version": "2.34.
|
|
139
|
+
"version": "2.34.1",
|
|
140
140
|
"status": "reviewed",
|
|
141
|
-
"title": "OpenXiangda 2.34.
|
|
142
|
-
"summary": "
|
|
141
|
+
"title": "OpenXiangda 2.34.1:持久申请受理恢复预算",
|
|
142
|
+
"summary": "支持配置最长30分钟的自动受理恢复,并保留首次明确提交时间和原申请编号。",
|
|
143
143
|
"newFeatures": [
|
|
144
|
-
"
|
|
145
|
-
"openxiangda/nest 提供受执行证明约束的只读计划 handler,平台负责最终原子提交。",
|
|
146
|
-
"openxiangda/react 与 mobile 提供 useDurableCommand,支持显式提交、原键恢复、本人结果和退避轮询。"
|
|
144
|
+
"useDurableCommand 可用 acceptanceRecoveryMs 配置120秒至30分钟的受理恢复预算。"
|
|
147
145
|
],
|
|
148
146
|
"fixes": [
|
|
149
|
-
"
|
|
150
|
-
"执行上下文拒绝普通 SDK 写入、事务、通知和 OAuth,读取响应验证标准记录结构。"
|
|
147
|
+
"刷新及恢复原申请不再重新计算受理重试预算;截止后保留查询和迟到结果恢复能力。"
|
|
151
148
|
],
|
|
152
149
|
"affectedUsers": [
|
|
153
|
-
"
|
|
150
|
+
"需要较长排队等待的活动报名、预约和抢票应用开发者。"
|
|
154
151
|
],
|
|
155
152
|
"upgradeSteps": [
|
|
156
|
-
"升级 openxiangda 到
|
|
157
|
-
"
|
|
158
|
-
"在隔离测试数据上验证关闭浏览器、原请求恢复、取消后重报和业务原子结果,再分级测量实际容量。"
|
|
153
|
+
"升级 openxiangda 到2.34.1,在需要长时间恢复的业务明确配置 acceptanceRecoveryMs。",
|
|
154
|
+
"验证原键恢复、截止后查询、未知应答及目标环境的完整排队容量。"
|
|
159
155
|
],
|
|
160
156
|
"knownLimitations": [
|
|
161
|
-
"
|
|
162
|
-
"
|
|
163
|
-
"
|
|
157
|
+
"默认受理恢复预算仍为120秒;配置值是客户端自动入队预算,不是服务端最终完成承诺。",
|
|
158
|
+
"旧意图没有首次时间时,只能从首次明确恢复计时,无法证明历史发起时间。",
|
|
159
|
+
"受理成功不等于报名成功;实际容量需使用独立用户在目标环境验证。"
|
|
164
160
|
],
|
|
165
161
|
"issues": [],
|
|
166
162
|
"compatibility": {
|
|
167
163
|
"node": ">=24",
|
|
168
164
|
"workspaceGenerations": "v2",
|
|
169
|
-
"platform": "
|
|
170
|
-
"v1": "V1
|
|
165
|
+
"platform": "沿用 data.managed-concurrency.durable@1.0.0;不改变平台事实和permit协议。",
|
|
166
|
+
"v1": "V1引擎及业务不变。"
|
|
171
167
|
},
|
|
172
|
-
"sha256": "
|
|
173
|
-
"url": "https://github.com/1377385356/openxiangda/releases/tag/v2.34.
|
|
168
|
+
"sha256": "f7297f5c779f079b48aa95ef594c9b4d7c373207467e1410aacfda57ca361451",
|
|
169
|
+
"url": "https://github.com/1377385356/openxiangda/releases/tag/v2.34.1"
|
|
174
170
|
},
|
|
175
171
|
"scripts": {
|
|
176
172
|
"build": "node ../../scripts/prune-package-dist.mjs && tsc -p tsconfig.json && node scripts/copy-assets.mjs",
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "openxiangda.release-notes/v1",
|
|
3
|
+
"version": "2.34.1",
|
|
4
|
+
"status": "reviewed",
|
|
5
|
+
"title": "OpenXiangda 2.34.1:持久申请受理恢复预算",
|
|
6
|
+
"summary": "支持配置最长30分钟的自动受理恢复,并保留首次明确提交时间和原申请编号。",
|
|
7
|
+
"newFeatures": [
|
|
8
|
+
"useDurableCommand 可用 acceptanceRecoveryMs 配置120秒至30分钟的受理恢复预算。"
|
|
9
|
+
],
|
|
10
|
+
"fixes": [
|
|
11
|
+
"刷新及恢复原申请不再重新计算受理重试预算;截止后保留查询和迟到结果恢复能力。"
|
|
12
|
+
],
|
|
13
|
+
"affectedUsers": [
|
|
14
|
+
"需要较长排队等待的活动报名、预约和抢票应用开发者。"
|
|
15
|
+
],
|
|
16
|
+
"upgradeSteps": [
|
|
17
|
+
"升级 openxiangda 到2.34.1,在需要长时间恢复的业务明确配置 acceptanceRecoveryMs。",
|
|
18
|
+
"验证原键恢复、截止后查询、未知应答及目标环境的完整排队容量。"
|
|
19
|
+
],
|
|
20
|
+
"knownLimitations": [
|
|
21
|
+
"默认受理恢复预算仍为120秒;配置值是客户端自动入队预算,不是服务端最终完成承诺。",
|
|
22
|
+
"旧意图没有首次时间时,只能从首次明确恢复计时,无法证明历史发起时间。",
|
|
23
|
+
"受理成功不等于报名成功;实际容量需使用独立用户在目标环境验证。"
|
|
24
|
+
],
|
|
25
|
+
"issues": [],
|
|
26
|
+
"compatibility": {
|
|
27
|
+
"node": ">=24",
|
|
28
|
+
"workspaceGenerations": "v2",
|
|
29
|
+
"platform": "沿用 data.managed-concurrency.durable@1.0.0;不改变平台事实和permit协议。",
|
|
30
|
+
"v1": "V1引擎及业务不变。"
|
|
31
|
+
},
|
|
32
|
+
"sha256": "f7297f5c779f079b48aa95ef594c9b4d7c373207467e1410aacfda57ca361451",
|
|
33
|
+
"url": "https://github.com/1377385356/openxiangda/releases/tag/v2.34.1"
|
|
34
|
+
}
|
package/skills/manifest.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
{
|
|
5
5
|
"name": "openxiangda-v2",
|
|
6
6
|
"description": "使用 OpenXiangda 2.0 从模糊业务想法、已有资料或具体变更出发,通过对话发现模块、完成详细产品设计,由当前 AI Agent 按需用 Image 2.5 等图片能力形成视觉参考,直接实现真实页面并在浏览器修正,再检查和交付应用;维护 1.x 应用时使用对应的 1.x 技能。",
|
|
7
|
-
"sha256": "
|
|
7
|
+
"sha256": "67b43056daa8916ffb302389fb5db0c42d6c0495049f6a4f1bcce6dea6dd963b"
|
|
8
8
|
}
|
|
9
9
|
]
|
|
10
10
|
}
|
|
@@ -40,10 +40,10 @@ AI 接到新应用、页面或改版任务时,在同一个 OpenXiangda 工作
|
|
|
40
40
|
未创建工作区时使用本 Skill 随根包发布的精确版本:
|
|
41
41
|
|
|
42
42
|
```bash
|
|
43
|
-
pnpm dlx openxiangda@2.34.
|
|
44
|
-
pnpm dlx openxiangda@2.34.
|
|
45
|
-
pnpm dlx openxiangda@2.34.
|
|
46
|
-
pnpm dlx openxiangda@2.34.
|
|
43
|
+
pnpm dlx openxiangda@2.34.1 auth status --cwd <应用目录> --base-url <平台地址> --json
|
|
44
|
+
pnpm dlx openxiangda@2.34.1 login --cwd <应用目录> --base-url <平台地址>
|
|
45
|
+
pnpm dlx openxiangda@2.34.1 create <应用目录> --base-url <同一平台地址>
|
|
46
|
+
pnpm dlx openxiangda@2.34.1 skill install --force
|
|
47
47
|
```
|
|
48
48
|
|
|
49
49
|
创建前把产品要求的目标平台明确带入命令,不从旧登录态推断站点。已有工作区从原绑定恢复,平台不一致时先解决登录与目标,不改 link 文件跨站创建。
|
|
@@ -68,10 +68,10 @@ MCP 服务随项目根包一起安装,AI 客户端的 stdio 连接仍需配置
|
|
|
68
68
|
以下命令的版本占位符由随包资料替换为该根包的精确版本。网站源码阅读者应先确认要使用的发行版本。
|
|
69
69
|
|
|
70
70
|
```bash
|
|
71
|
-
pnpm dlx openxiangda@2.34.
|
|
72
|
-
pnpm dlx openxiangda@2.34.
|
|
73
|
-
pnpm dlx openxiangda@2.34.
|
|
74
|
-
pnpm dlx openxiangda@2.34.
|
|
71
|
+
pnpm dlx openxiangda@2.34.1 skill install --force
|
|
72
|
+
pnpm dlx openxiangda@2.34.1 auth status --base-url <平台地址> --json
|
|
73
|
+
pnpm dlx openxiangda@2.34.1 login --cwd my-app --base-url https://platform.example.com
|
|
74
|
+
pnpm dlx openxiangda@2.34.1 create my-app --base-url https://platform.example.com
|
|
75
75
|
cd my-app
|
|
76
76
|
pnpm openxiangda context --json
|
|
77
77
|
pnpm openxiangda dev
|
|
@@ -174,9 +174,9 @@ MCP 的 `docs_read` 可以读取本说明,当前没有独立的源码操作 MC
|
|
|
174
174
|
无需本地工作区,使用本 Skill 随包精确版本或已安装的对应 CLI:
|
|
175
175
|
|
|
176
176
|
```bash
|
|
177
|
-
pnpm dlx openxiangda@2.34.
|
|
178
|
-
pnpm dlx openxiangda@2.34.
|
|
179
|
-
pnpm dlx openxiangda@2.34.
|
|
177
|
+
pnpm dlx openxiangda@2.34.1 auth status --base-url <平台> --json
|
|
178
|
+
pnpm dlx openxiangda@2.34.1 source resolve <仓库URL> --base-url <平台> --json
|
|
179
|
+
pnpm dlx openxiangda@2.34.1 source clone <仓库URL> <新目录> --base-url <平台> --json
|
|
180
180
|
```
|
|
181
181
|
|
|
182
182
|
登录缺失或站点不匹配时,先按该平台执行 login。resolve 根据平台已经登记的绑定返回
|
|
@@ -201,12 +201,12 @@ export function ClaimAction({ offerId }: { offerId: string }) {
|
|
|
201
201
|
|
|
202
202
|
```tsx
|
|
203
203
|
const client = useMemo(() => createManagedConcurrencyClient(), []);
|
|
204
|
-
const command = useDurableCommand({client,command:'registration-enroll',resourceKey:activityId});
|
|
204
|
+
const command = useDurableCommand({client,command:'registration-enroll',resourceKey:activityId,acceptanceRecoveryMs:30*60*1000});
|
|
205
205
|
// 仅真实点击提交;不是 useEffect 或页面 mount 回调。
|
|
206
206
|
const submit = () => command.submit({activity:activityId,channel:channelId,agreed:true,phone});
|
|
207
207
|
```
|
|
208
208
|
|
|
209
|
-
hook 从 `openxiangda/react` 和 `openxiangda/mobile` 导出。state、initialized、isObserving、requestKey、receipt、errorCode 用于统一状态区;submit(input)、resume()、refresh()、stop() 分别为明确提交、用冻结 input 重试原请求、恢复查询和停止观察。挂载只查本地原 key 或服务端 mine,不自动 enqueue。未知应答保留原 key 与 input;用户恢复后先查原结果,不能换 key 重试。浏览器存储失败在提交前明确失败。未知应答后的恢复按钮调用 resume(),不传当前可能已经修改的表单。snapshot.input 可恢复本地冻结表单;跨设备只有回执时不展示推测的原输入。一次明确 submit/resume 期间,429、暂时5xx或网络错误会按原 key/input 自动退避恢复,先查原结果再重试 enqueue
|
|
209
|
+
hook 从 `openxiangda/react` 和 `openxiangda/mobile` 导出。state、initialized、isObserving、requestKey、receipt、errorCode 用于统一状态区;submit(input)、resume()、refresh()、stop() 分别为明确提交、用冻结 input 重试原请求、恢复查询和停止观察。挂载只查本地原 key 或服务端 mine,不自动 enqueue。未知应答保留原 key 与 input;用户恢复后先查原结果,不能换 key 重试。浏览器存储失败在提交前明确失败。未知应答后的恢复按钮调用 resume(),不传当前可能已经修改的表单。snapshot.input 可恢复本地冻结表单;跨设备只有回执时不展示推测的原输入。一次明确 submit/resume 期间,429、暂时5xx或网络错误会按原 key/input 自动退避恢复,先查原结果再重试 enqueue,默认最多6次、最长120秒;可用 acceptanceRecoveryMs 明确配置120000至1800000毫秒,更长预算最多120次,遵守更长的 Retry-After。预算从首次明确提交计时,刷新或 resume() 不重置;旧版意图没有时间时从首次明确恢复计时,无法证明更早的提交时间。尚无 receipt 时只能提示“正在确认受理”,不能承诺可关闭页面。用完预算保留原意图,停止自动入队,refresh() 仍可只读核对迟到结果;这不是报名失败。该预算只控制受理恢复,不是后端最终完成时限承诺。如果刷新时原请求尚未被平台受理,挂载只查询,明确点击 resume() 才重新启动有界受理重试。
|
|
210
210
|
|
|
211
211
|
默认每次至少间隔 5 秒,遵守更长的服务端 retryAfterMs,再加随机抖动;暂时失败指数退避,终态停止。一个业务区域只挂载一个观察者。离开或关闭页面不撤销已受理请求,平台自动继续;新设备通过 mine 找到本人的原请求。position 为空时显示「已受理,稍后可查看」,不要显示虚假的精确人数或预计秒数。
|
|
212
212
|
|