relay-dsh-plugin-events 0.1.0-internal.2 → 0.2.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.
package/README.md CHANGED
@@ -1,13 +1,24 @@
1
1
  # Relay Events for DeepSeek Harness
2
2
 
3
+ > **Now supports the latest DSH `0.1.2-alpha.2`.** The same plugin release is verified on DSH `0.1.2-alpha.2` and `0.1.1-rc.2`. [Install it and try the latest DSH](https://www.npmjs.com/package/relay-dsh-plugin-events) · [Compatibility details](docs/dsh-0.1.2-alpha.2.md).
4
+
5
+ ```bash
6
+ npx @deepseek-ai/dsh@0.1.2-alpha.2 plugin --profile web add relay-dsh-plugin-events@0.2.0
7
+ npx @deepseek-ai/dsh@0.1.2-alpha.2 web
8
+ ```
9
+
10
+ [![DSH compatibility](https://img.shields.io/badge/DSH-0.1.1--rc.2%20%7C%200.1.2--alpha.2-2f7d68)](https://github.com/deepseek-ai/deepseek-harness)
11
+
12
+ English | [中文](README.zh.md)
13
+
3
14
  `relay-dsh-plugin-events` is the durable, provider-neutral Wait/Event/Delivery
4
15
  core for official DeepSeek Harness. It adds Agent tools, generic JSON ingress,
5
16
  delivery to the owning existing Session, recovery, and a Waiting Events settings
6
17
  surface without adding an execution backend.
7
18
 
8
- The `internal` npm channel is public for integration testing. It has no stability
9
- or compatibility guarantee and must not be treated as `latest`, `next`, or a
10
- production release.
19
+ The older `internal` npm channel remains available for integration testing and
20
+ does not carry this compatibility guarantee. Use the exact `0.2.0`
21
+ versions in the latest-DSH command above; do not substitute `@internal`.
11
22
 
12
23
  ```bash
13
24
  dsh plugin --profile web add --save-exact relay-dsh-plugin-events@internal
@@ -27,5 +38,6 @@ The npm package and locally packed tarball include built runtime files. A raw
27
38
  GitHub checkout intentionally does not track `lib/`; do not install `#main` as if
28
39
  it were a built release.
29
40
 
30
- Tested official DSH reference:
31
- `b150a551b8d465e31e418e1b2eaf5e79bbb7d28e`.
41
+ Tested official DSH references: `0.1.1-rc.2` at
42
+ `b150a551b8d465e31e418e1b2eaf5e79bbb7d28e` and `0.1.2-alpha.2` at
43
+ `0a53fb55bea101816fa226bb964ae2bed71c343b`.
package/README.zh.md ADDED
@@ -0,0 +1,37 @@
1
+ # 面向 DeepSeek Harness 的 Relay Events
2
+
3
+ > **现已支持最新 DSH `0.1.2-alpha.2`。** 同一插件版本已在 DSH `0.1.2-alpha.2` 与 `0.1.1-rc.2` 上完成兼容验证。[安装插件,立即体验最新版 DSH](https://www.npmjs.com/package/relay-dsh-plugin-events) · [兼容性详情](docs/dsh-0.1.2-alpha.2.md)。
4
+
5
+ ```bash
6
+ npx @deepseek-ai/dsh@0.1.2-alpha.2 plugin --profile web add relay-dsh-plugin-events@0.2.0
7
+ npx @deepseek-ai/dsh@0.1.2-alpha.2 web
8
+ ```
9
+
10
+ [![DSH 兼容版本](https://img.shields.io/badge/DSH-0.1.1--rc.2%20%7C%200.1.2--alpha.2-2f7d68)](https://github.com/deepseek-ai/deepseek-harness)
11
+
12
+ [English](README.md) | 中文
13
+
14
+ `relay-dsh-plugin-events` 是官方 DeepSeek Harness 的持久化、中立执行后端的
15
+ Wait/Event/Delivery 核心。它提供 Agent 工具、通用 JSON 事件入口、向原有归属
16
+ Session 投递、故障恢复以及 Waiting Events 设置界面,但不增加执行后端。
17
+
18
+ 旧的 `internal` npm 通道继续用于集成测试,不包含此次兼容保证。请使用上方最新版
19
+ DSH 命令中精确的 `0.2.0` 版本,不要替换为 `@internal`。
20
+
21
+ ```bash
22
+ dsh plugin --profile web add --save-exact relay-dsh-plugin-events@internal
23
+ dsh web
24
+ ```
25
+
26
+ 语义路由与 Monitor 执行由独立插件提供。未安装 Router 时,Events 使用精确事件类型
27
+ 匹配;未安装 Monitors 时,Wait 注册与外部事件入口仍然可以完整使用。
28
+
29
+ 详见 [SPEC.md](SPEC.md) 与[投递场景](docs/acceptance-scenarios.md)。
30
+
31
+ 将 `DSH_ROOT` 指向准备好的官方 DSH 只读检出,然后执行
32
+ `npm ci --ignore-scripts && npm run verify && npm pack`。npm 包和本地生成的 tarball
33
+ 包含已构建的运行文件。原始 GitHub 检出不会跟踪 `lib/`,不要把 `#main` 当作已构建
34
+ 版本安装。
35
+
36
+ 已验证的官方 DSH:`0.1.1-rc.2` / `b150a551b8d465e31e418e1b2eaf5e79bbb7d28e`
37
+ 与 `0.1.2-alpha.2` / `0a53fb55bea101816fa226bb964ae2bed71c343b`。
@@ -0,0 +1,34 @@
1
+ # DSH 双版本兼容
2
+
3
+ 同一个 `0.2.0` 稳定包的兼容目标:
4
+
5
+ | DSH | 官方提交 |
6
+ | --- | --- |
7
+ | `0.1.1-rc.2` | `b150a551b8d465e31e418e1b2eaf5e79bbb7d28e` |
8
+ | `0.1.2-alpha.2` | `0a53fb55bea101816fa226bb964ae2bed71c343b` |
9
+
10
+ 不按 DSH 版本分别发包;不要求旧用户先升级管理器。没有自定义精确版本白名单。
11
+ DSH 可选 peer 使用版本范围表达声明,不把它当成旧宿主必然执行的安装拦截。
12
+ 稳定版通过 npm `latest` 发布;候选版 `0.2.0-rc.1` 保留在 `next` 通道。
13
+
14
+ ## 本插件变更
15
+
16
+ 保留原有事件路由、去重、Wait 和投递实现;更新兼容声明,参与两版宿主的 HTTP 与受控回放验收。
17
+
18
+ ## 验收方式与边界
19
+
20
+ 开发类型检查及构建使用准备好的官方 `0.1.2-alpha.2` 源码。构建一次后,将相同 tarball
21
+ 分别安装到两版官方 DSH 的独立临时 profile,检查 Host 启动、浏览器装配、功能注册及
22
+ 适用的受控功能;不修改官方源码或日常运行环境。
23
+ 跨插件结果在 Relay 的 `dsh-lab/dual-compatibility-20260831/` 中记录;插件独立测试命令:
24
+
25
+ ```sh
26
+ npm ci --ignore-scripts
27
+ # 非管理器插件需要准备好的官方 DSH 源码;管理器使用锁定的 npm 开发依赖。
28
+ export DSH_ROOT=/path/to/prepared/official/deepseek-harness
29
+ npm run verify
30
+ ```
31
+
32
+ 两版核心回归不等于所有外部服务、平台或未来 DSH 版本均已验证。
33
+ Claude 真实识图/fork 仍暂缓;Codex Default 模式原生提问限制、Workbench 刷新后尺寸不保留
34
+ 均不在本次兼容修复中关闭。所有公开 npm/GitHub 发布后的完整升级路径也需要发布后再验收。
package/lib/client.js CHANGED
@@ -7,8 +7,8 @@ window.__ModuleLoader__.load({
7
7
  let react = require("react");
8
8
  let _deepseek_ai_dsh_client_ui_primitives = require("@deepseek-ai/dsh-client-ui-primitives");
9
9
  let react_jsx_runtime = require("react/jsx-runtime");
10
- //#region \0relay-css-module:/Users/boboyang/work/Relay/integrations/events/src/client/WaitingEventsSection.module.css.mjs
11
- const css = ".MIYaUW_section{width:100%;max-width:780px;color:var(--dsw-alias-label-primary);flex-direction:column;gap:12px;display:flex}.MIYaUW_toolbar{justify-content:flex-end;align-items:center;gap:8px;min-height:32px;display:flex}.MIYaUW_total,.MIYaUW_counts,.MIYaUW_rowState,.MIYaUW_monitorTimes small,.MIYaUW_message,.MIYaUW_empty{color:var(--dsw-alias-label-tertiary);font-size:12px;line-height:18px}.MIYaUW_iconButton{width:28px;height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;justify-content:center;align-items:center;display:inline-flex}.MIYaUW_iconButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.MIYaUW_iconButton:focus-visible,.MIYaUW_sessionButton:focus-visible{outline:2px solid var(--dsw-alias-state-business-primary);outline-offset:1px}.MIYaUW_iconButton:disabled{cursor:default;opacity:.4}.MIYaUW_message,.MIYaUW_empty,.MIYaUW_failure p,.MIYaUW_error,.MIYaUW_summary{margin:0}.MIYaUW_empty{text-align:center;padding:48px 8px}.MIYaUW_failure{color:var(--dsw-alias-state-error-primary);align-items:center;gap:10px;font-size:13px;display:flex}.MIYaUW_error{color:var(--dsw-alias-state-error-primary);font-size:12px;line-height:18px}.MIYaUW_registrations,.MIYaUW_waits,.MIYaUW_monitors{margin:0;padding:0;list-style:none}.MIYaUW_registrations{flex-direction:column;gap:10px;display:flex}.MIYaUW_registration{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-3);border-radius:8px;overflow:hidden}.MIYaUW_registrationHeader{align-items:center;gap:8px;min-height:48px;padding:8px 10px 8px 14px;display:flex}.MIYaUW_sessionButton{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:4px;padding:3px 0;display:flex}.MIYaUW_title{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;line-height:20px;overflow:hidden}.MIYaUW_statusBadge{background:color-mix(in srgb, var(--dsw-alias-state-business-primary) 10%, transparent);color:var(--dsw-alias-state-business-primary);border-radius:5px;flex:none;padding:2px 7px;font-size:11px;line-height:16px}.MIYaUW_actions{flex:none;align-items:center;gap:6px;display:flex}.MIYaUW_summary{overflow-wrap:anywhere;color:var(--dsw-alias-label-secondary);padding:0 14px 6px;font-size:13px;line-height:19px}.MIYaUW_counts{gap:12px;padding:0 14px 10px;display:flex}.MIYaUW_waits,.MIYaUW_monitors{border-top:1px solid var(--dsw-alias-border-l2)}.MIYaUW_waits li,.MIYaUW_monitors li{align-items:center;gap:9px;min-height:40px;padding:8px 10px 8px 14px;display:flex}.MIYaUW_waits li+li,.MIYaUW_monitors li+li{border-top:1px solid var(--dsw-alias-border-l2)}.MIYaUW_waitText{overflow-wrap:anywhere;min-width:0;color:var(--dsw-alias-label-secondary);flex:1;font-size:12px;line-height:18px}.MIYaUW_stateDot{background:var(--dsw-alias-label-tertiary);border-radius:50%;flex:none;width:7px;height:7px}.MIYaUW_stateDot[data-state=active]{background:var(--dsw-alias-state-success-primary)}.MIYaUW_stateDot[data-state=claimed],.MIYaUW_stateDot[data-state=triggered]{background:var(--dsw-alias-state-business-primary)}.MIYaUW_stateDot[data-state=degraded],.MIYaUW_stateDot[data-state=failed]{background:var(--dsw-alias-state-error-primary)}.MIYaUW_monitorMain{flex:1;align-items:center;gap:9px;min-width:0;display:flex}.MIYaUW_monitorTimes{flex-direction:column;min-width:0;font-size:12px;line-height:18px;display:flex}.MIYaUW_monitorTimes small{overflow-wrap:anywhere}@media (width<=620px){.MIYaUW_registrationHeader{flex-wrap:wrap}.MIYaUW_actions{margin-left:auto}.MIYaUW_statusBadge{order:3}}";
10
+ //#region \0relay-css-module:/home/runner/work/relay-dsh-plugin-events/relay-dsh-plugin-events/src/client/WaitingEventsSection.module.css.mjs
11
+ const css = ".bDRFYa_section{width:100%;max-width:780px;color:var(--dsw-alias-label-primary);flex-direction:column;gap:12px;display:flex}.bDRFYa_toolbar{justify-content:flex-end;align-items:center;gap:8px;min-height:32px;display:flex}.bDRFYa_total,.bDRFYa_counts,.bDRFYa_rowState,.bDRFYa_monitorTimes small,.bDRFYa_message,.bDRFYa_empty{color:var(--dsw-alias-label-tertiary);font-size:12px;line-height:18px}.bDRFYa_iconButton{width:28px;height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;justify-content:center;align-items:center;display:inline-flex}.bDRFYa_iconButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.bDRFYa_iconButton:focus-visible,.bDRFYa_sessionButton:focus-visible{outline:2px solid var(--dsw-alias-state-business-primary);outline-offset:1px}.bDRFYa_iconButton:disabled{cursor:default;opacity:.4}.bDRFYa_message,.bDRFYa_empty,.bDRFYa_failure p,.bDRFYa_error,.bDRFYa_summary{margin:0}.bDRFYa_empty{text-align:center;padding:48px 8px}.bDRFYa_failure{color:var(--dsw-alias-state-error-primary);align-items:center;gap:10px;font-size:13px;display:flex}.bDRFYa_error{color:var(--dsw-alias-state-error-primary);font-size:12px;line-height:18px}.bDRFYa_registrations,.bDRFYa_waits,.bDRFYa_monitors{margin:0;padding:0;list-style:none}.bDRFYa_registrations{flex-direction:column;gap:10px;display:flex}.bDRFYa_registration{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-3);border-radius:8px;overflow:hidden}.bDRFYa_registrationHeader{align-items:center;gap:8px;min-height:48px;padding:8px 10px 8px 14px;display:flex}.bDRFYa_sessionButton{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:4px;padding:3px 0;display:flex}.bDRFYa_title{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;line-height:20px;overflow:hidden}.bDRFYa_statusBadge{background:color-mix(in srgb, var(--dsw-alias-state-business-primary) 10%, transparent);color:var(--dsw-alias-state-business-primary);border-radius:5px;flex:none;padding:2px 7px;font-size:11px;line-height:16px}.bDRFYa_actions{flex:none;align-items:center;gap:6px;display:flex}.bDRFYa_summary{overflow-wrap:anywhere;color:var(--dsw-alias-label-secondary);padding:0 14px 6px;font-size:13px;line-height:19px}.bDRFYa_counts{gap:12px;padding:0 14px 10px;display:flex}.bDRFYa_waits,.bDRFYa_monitors{border-top:1px solid var(--dsw-alias-border-l2)}.bDRFYa_waits li,.bDRFYa_monitors li{align-items:center;gap:9px;min-height:40px;padding:8px 10px 8px 14px;display:flex}.bDRFYa_waits li+li,.bDRFYa_monitors li+li{border-top:1px solid var(--dsw-alias-border-l2)}.bDRFYa_waitText{overflow-wrap:anywhere;min-width:0;color:var(--dsw-alias-label-secondary);flex:1;font-size:12px;line-height:18px}.bDRFYa_stateDot{background:var(--dsw-alias-label-tertiary);border-radius:50%;flex:none;width:7px;height:7px}.bDRFYa_stateDot[data-state=active]{background:var(--dsw-alias-state-success-primary)}.bDRFYa_stateDot[data-state=claimed],.bDRFYa_stateDot[data-state=triggered]{background:var(--dsw-alias-state-business-primary)}.bDRFYa_stateDot[data-state=degraded],.bDRFYa_stateDot[data-state=failed]{background:var(--dsw-alias-state-error-primary)}.bDRFYa_monitorMain{flex:1;align-items:center;gap:9px;min-width:0;display:flex}.bDRFYa_monitorTimes{flex-direction:column;min-width:0;font-size:12px;line-height:18px;display:flex}.bDRFYa_monitorTimes small{overflow-wrap:anywhere}@media (width<=620px){.bDRFYa_registrationHeader{flex-wrap:wrap}.bDRFYa_actions{margin-left:auto}.bDRFYa_statusBadge{order:3}}";
12
12
  const tagId = "relay-dsh-plugin-events/WaitingEventsSection.module.css";
13
13
  if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId) + "]") === null) {
14
14
  const tag = document.createElement("style");
@@ -18,30 +18,30 @@ window.__ModuleLoader__.load({
18
18
  document.head.appendChild(tag);
19
19
  }
20
20
  var WaitingEventsSection_module_css_default = {
21
- "iconButton": "MIYaUW_iconButton",
22
- "total": "MIYaUW_total",
23
- "section": "MIYaUW_section",
24
- "title": "MIYaUW_title",
25
- "error": "MIYaUW_error",
26
- "actions": "MIYaUW_actions",
27
- "stateDot": "MIYaUW_stateDot",
28
- "monitorMain": "MIYaUW_monitorMain",
29
- "waits": "MIYaUW_waits",
30
- "empty": "MIYaUW_empty",
31
- "registration": "MIYaUW_registration",
32
- "summary": "MIYaUW_summary",
33
- "message": "MIYaUW_message",
34
- "registrationHeader": "MIYaUW_registrationHeader",
35
- "toolbar": "MIYaUW_toolbar",
36
- "statusBadge": "MIYaUW_statusBadge",
37
- "registrations": "MIYaUW_registrations",
38
- "waitText": "MIYaUW_waitText",
39
- "monitors": "MIYaUW_monitors",
40
- "sessionButton": "MIYaUW_sessionButton",
41
- "counts": "MIYaUW_counts",
42
- "rowState": "MIYaUW_rowState",
43
- "failure": "MIYaUW_failure",
44
- "monitorTimes": "MIYaUW_monitorTimes"
21
+ "title": "bDRFYa_title",
22
+ "actions": "bDRFYa_actions",
23
+ "statusBadge": "bDRFYa_statusBadge",
24
+ "monitorMain": "bDRFYa_monitorMain",
25
+ "empty": "bDRFYa_empty",
26
+ "counts": "bDRFYa_counts",
27
+ "failure": "bDRFYa_failure",
28
+ "iconButton": "bDRFYa_iconButton",
29
+ "total": "bDRFYa_total",
30
+ "monitors": "bDRFYa_monitors",
31
+ "error": "bDRFYa_error",
32
+ "registration": "bDRFYa_registration",
33
+ "message": "bDRFYa_message",
34
+ "registrationHeader": "bDRFYa_registrationHeader",
35
+ "waitText": "bDRFYa_waitText",
36
+ "rowState": "bDRFYa_rowState",
37
+ "stateDot": "bDRFYa_stateDot",
38
+ "monitorTimes": "bDRFYa_monitorTimes",
39
+ "toolbar": "bDRFYa_toolbar",
40
+ "waits": "bDRFYa_waits",
41
+ "registrations": "bDRFYa_registrations",
42
+ "sessionButton": "bDRFYa_sessionButton",
43
+ "summary": "bDRFYa_summary",
44
+ "section": "bDRFYa_section"
45
45
  };
46
46
  //#endregion
47
47
  //#region src/client/WaitingEventsSection.tsx
@@ -349,7 +349,7 @@ window.__ModuleLoader__.load({
349
349
  operationError: "The operation failed. Try again."
350
350
  };
351
351
  //#endregion
352
- //#region ../../node_modules/zod/v4/core/core.js
352
+ //#region node_modules/zod/v4/core/core.js
353
353
  var _a$1;
354
354
  function $constructor(name, initializer, params) {
355
355
  function init(inst, def) {
@@ -408,7 +408,7 @@ window.__ModuleLoader__.load({
408
408
  return globalConfig;
409
409
  }
410
410
  //#endregion
411
- //#region ../../node_modules/zod/v4/core/util.js
411
+ //#region node_modules/zod/v4/core/util.js
412
412
  function getEnumValues(entries) {
413
413
  const numericValues = Object.values(entries).filter((v) => typeof v === "number");
414
414
  return Object.entries(entries).filter(([k, _]) => numericValues.indexOf(+k) === -1).map(([_, v]) => v);
@@ -710,7 +710,7 @@ window.__ModuleLoader__.load({
710
710
  return { ...iss };
711
711
  }
712
712
  //#endregion
713
- //#region ../../node_modules/zod/v4/core/errors.js
713
+ //#region node_modules/zod/v4/core/errors.js
714
714
  const initializer$1 = (inst, def) => {
715
715
  inst.name = "$ZodError";
716
716
  Object.defineProperty(inst, "_zod", {
@@ -770,7 +770,7 @@ window.__ModuleLoader__.load({
770
770
  return fieldErrors;
771
771
  }
772
772
  //#endregion
773
- //#region ../../node_modules/zod/v4/core/parse.js
773
+ //#region node_modules/zod/v4/core/parse.js
774
774
  const _parse = (_Err) => (schema, value, _ctx, _params) => {
775
775
  const ctx = _ctx ? {
776
776
  ..._ctx,
@@ -884,7 +884,7 @@ window.__ModuleLoader__.load({
884
884
  return _safeParseAsync(_Err)(schema, value, _ctx);
885
885
  };
886
886
  //#endregion
887
- //#region ../../node_modules/zod/v4/core/regexes.js
887
+ //#region node_modules/zod/v4/core/regexes.js
888
888
  /**
889
889
  * @deprecated CUID v1 is deprecated by its authors due to information leakage
890
890
  * (timestamps embedded in the id). Use {@link cuid2} instead.
@@ -945,7 +945,7 @@ window.__ModuleLoader__.load({
945
945
  const lowercase = /^[^A-Z]*$/;
946
946
  const uppercase = /^[^a-z]*$/;
947
947
  //#endregion
948
- //#region ../../node_modules/zod/v4/core/checks.js
948
+ //#region node_modules/zod/v4/core/checks.js
949
949
  const $ZodCheck = /*@__PURE__*/ $constructor("$ZodCheck", (inst, def) => {
950
950
  var _a;
951
951
  inst._zod ?? (inst._zod = {});
@@ -1164,7 +1164,7 @@ window.__ModuleLoader__.load({
1164
1164
  };
1165
1165
  });
1166
1166
  //#endregion
1167
- //#region ../../node_modules/zod/v4/core/doc.js
1167
+ //#region node_modules/zod/v4/core/doc.js
1168
1168
  var Doc = class {
1169
1169
  constructor(args = []) {
1170
1170
  this.content = [];
@@ -1195,14 +1195,14 @@ window.__ModuleLoader__.load({
1195
1195
  }
1196
1196
  };
1197
1197
  //#endregion
1198
- //#region ../../node_modules/zod/v4/core/versions.js
1198
+ //#region node_modules/zod/v4/core/versions.js
1199
1199
  const version = {
1200
1200
  major: 4,
1201
1201
  minor: 4,
1202
1202
  patch: 3
1203
1203
  };
1204
1204
  //#endregion
1205
- //#region ../../node_modules/zod/v4/core/schemas.js
1205
+ //#region node_modules/zod/v4/core/schemas.js
1206
1206
  const $ZodType = /*@__PURE__*/ $constructor("$ZodType", (inst, def) => {
1207
1207
  var _a;
1208
1208
  inst ?? (inst = {});
@@ -2263,7 +2263,7 @@ window.__ModuleLoader__.load({
2263
2263
  }
2264
2264
  }
2265
2265
  //#endregion
2266
- //#region ../../node_modules/zod/v4/core/registries.js
2266
+ //#region node_modules/zod/v4/core/registries.js
2267
2267
  var _a;
2268
2268
  var $ZodRegistry = class {
2269
2269
  constructor() {
@@ -2310,7 +2310,7 @@ window.__ModuleLoader__.load({
2310
2310
  (_a = globalThis).__zod_globalRegistry ?? (_a.__zod_globalRegistry = registry());
2311
2311
  const globalRegistry = globalThis.__zod_globalRegistry;
2312
2312
  //#endregion
2313
- //#region ../../node_modules/zod/v4/core/api.js
2313
+ //#region node_modules/zod/v4/core/api.js
2314
2314
  // @__NO_SIDE_EFFECTS__
2315
2315
  function _string(Class, params) {
2316
2316
  return new Class({
@@ -2746,7 +2746,7 @@ window.__ModuleLoader__.load({
2746
2746
  return ch;
2747
2747
  }
2748
2748
  //#endregion
2749
- //#region ../../node_modules/zod/v4/core/to-json-schema.js
2749
+ //#region node_modules/zod/v4/core/to-json-schema.js
2750
2750
  function initializeContext(params) {
2751
2751
  let target = params?.target ?? "draft-2020-12";
2752
2752
  if (target === "draft-4") target = "draft-04";
@@ -3039,7 +3039,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
3039
3039
  return finalize(ctx, schema);
3040
3040
  };
3041
3041
  //#endregion
3042
- //#region ../../node_modules/zod/v4/core/json-schema-processors.js
3042
+ //#region node_modules/zod/v4/core/json-schema-processors.js
3043
3043
  const formatMap = {
3044
3044
  guid: "uuid",
3045
3045
  url: "uri",
@@ -3224,7 +3224,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
3224
3224
  seen.ref = def.innerType;
3225
3225
  };
3226
3226
  //#endregion
3227
- //#region ../../node_modules/zod/v4/classic/iso.js
3227
+ //#region node_modules/zod/v4/classic/iso.js
3228
3228
  const ZodISODateTime = /*@__PURE__*/ $constructor("ZodISODateTime", (inst, def) => {
3229
3229
  $ZodISODateTime.init(inst, def);
3230
3230
  ZodStringFormat.init(inst, def);
@@ -3254,7 +3254,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
3254
3254
  return /* @__PURE__ */ _isoDuration(ZodISODuration, params);
3255
3255
  }
3256
3256
  //#endregion
3257
- //#region ../../node_modules/zod/v4/classic/errors.js
3257
+ //#region node_modules/zod/v4/classic/errors.js
3258
3258
  const initializer = (inst, issues) => {
3259
3259
  $ZodError.init(inst, issues);
3260
3260
  inst.name = "ZodError";
@@ -3276,7 +3276,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
3276
3276
  };
3277
3277
  const ZodRealError = /*@__PURE__*/ $constructor("ZodError", initializer, { Parent: Error });
3278
3278
  //#endregion
3279
- //#region ../../node_modules/zod/v4/classic/parse.js
3279
+ //#region node_modules/zod/v4/classic/parse.js
3280
3280
  const parse = /* @__PURE__ */ _parse(ZodRealError);
3281
3281
  const parseAsync = /* @__PURE__ */ _parseAsync(ZodRealError);
3282
3282
  const safeParse = /* @__PURE__ */ _safeParse(ZodRealError);
@@ -3290,7 +3290,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
3290
3290
  const safeEncodeAsync = /* @__PURE__ */ _safeEncodeAsync(ZodRealError);
3291
3291
  const safeDecodeAsync = /* @__PURE__ */ _safeDecodeAsync(ZodRealError);
3292
3292
  //#endregion
3293
- //#region ../../node_modules/zod/v4/classic/schemas.js
3293
+ //#region node_modules/zod/v4/classic/schemas.js
3294
3294
  const _installedGroups = /* @__PURE__ */ new WeakMap();
3295
3295
  function _installLazyMethods(inst, group, methods) {
3296
3296
  const proto = Object.getPrototypeOf(inst);