@xrkseek/harness 0.7.0-rc.2 → 0.7.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.
Files changed (200) hide show
  1. package/node_modules/@xrkseek/exec-fs/dist/present.d.ts +1 -1
  2. package/node_modules/@xrkseek/exec-fs/dist/present.d.ts.map +1 -1
  3. package/node_modules/@xrkseek/exec-fs/dist/present.js +51 -3
  4. package/node_modules/@xrkseek/exec-fs/dist/present.js.map +1 -1
  5. package/node_modules/@xrkseek/exec-memory/dist/index.d.ts +1 -0
  6. package/node_modules/@xrkseek/exec-memory/dist/index.d.ts.map +1 -1
  7. package/node_modules/@xrkseek/exec-memory/dist/index.js +1 -0
  8. package/node_modules/@xrkseek/exec-memory/dist/index.js.map +1 -1
  9. package/node_modules/@xrkseek/exec-memory/dist/layered.d.ts.map +1 -1
  10. package/node_modules/@xrkseek/exec-memory/dist/layered.js +10 -0
  11. package/node_modules/@xrkseek/exec-memory/dist/layered.js.map +1 -1
  12. package/node_modules/@xrkseek/exec-memory/dist/live-fragment.d.ts.map +1 -1
  13. package/node_modules/@xrkseek/exec-memory/dist/live-fragment.js +3 -1
  14. package/node_modules/@xrkseek/exec-memory/dist/live-fragment.js.map +1 -1
  15. package/node_modules/@xrkseek/exec-memory/dist/sqlite.d.ts.map +1 -1
  16. package/node_modules/@xrkseek/exec-memory/dist/sqlite.js +16 -2
  17. package/node_modules/@xrkseek/exec-memory/dist/sqlite.js.map +1 -1
  18. package/node_modules/@xrkseek/exec-memory/dist/store.d.ts +7 -0
  19. package/node_modules/@xrkseek/exec-memory/dist/store.d.ts.map +1 -1
  20. package/node_modules/@xrkseek/exec-memory/dist/store.js +11 -0
  21. package/node_modules/@xrkseek/exec-memory/dist/store.js.map +1 -1
  22. package/node_modules/@xrkseek/preset-harness/dist/preset.d.ts.map +1 -1
  23. package/node_modules/@xrkseek/preset-harness/dist/preset.js +2 -4
  24. package/node_modules/@xrkseek/preset-harness/dist/preset.js.map +1 -1
  25. package/node_modules/@xrkseek/preset-harness/dist/tsconfig.tsbuildinfo +1 -1
  26. package/node_modules/@xrkseek/preset-minimal/dist/tsconfig.tsbuildinfo +1 -1
  27. package/node_modules/@xrkseek/preset-server/dist/tsconfig.tsbuildinfo +1 -1
  28. package/node_modules/@xrkseek/server-face/dist/agent-home.d.ts.map +1 -1
  29. package/node_modules/@xrkseek/server-face/dist/agent-home.js +2 -5
  30. package/node_modules/@xrkseek/server-face/dist/agent-home.js.map +1 -1
  31. package/node_modules/@xrkseek/server-face/dist/agent-roster-store.d.ts +8 -1
  32. package/node_modules/@xrkseek/server-face/dist/agent-roster-store.d.ts.map +1 -1
  33. package/node_modules/@xrkseek/server-face/dist/agent-roster-store.js +10 -2
  34. package/node_modules/@xrkseek/server-face/dist/agent-roster-store.js.map +1 -1
  35. package/node_modules/@xrkseek/server-face/dist/agent-roster-tools.d.ts +2 -2
  36. package/node_modules/@xrkseek/server-face/dist/agent-roster-tools.d.ts.map +1 -1
  37. package/node_modules/@xrkseek/server-face/dist/agent-roster-tools.js +2 -1
  38. package/node_modules/@xrkseek/server-face/dist/agent-roster-tools.js.map +1 -1
  39. package/node_modules/@xrkseek/server-face/dist/agent-team-roles.d.ts.map +1 -1
  40. package/node_modules/@xrkseek/server-face/dist/agent-team-roles.js +6 -4
  41. package/node_modules/@xrkseek/server-face/dist/agent-team-roles.js.map +1 -1
  42. package/node_modules/@xrkseek/server-face/dist/catalog-seed-labels.d.ts +31 -0
  43. package/node_modules/@xrkseek/server-face/dist/catalog-seed-labels.d.ts.map +1 -0
  44. package/node_modules/@xrkseek/server-face/dist/catalog-seed-labels.js +106 -0
  45. package/node_modules/@xrkseek/server-face/dist/catalog-seed-labels.js.map +1 -0
  46. package/node_modules/@xrkseek/server-face/dist/context.d.ts +14 -3
  47. package/node_modules/@xrkseek/server-face/dist/context.d.ts.map +1 -1
  48. package/node_modules/@xrkseek/server-face/dist/handlers/catalog.d.ts.map +1 -1
  49. package/node_modules/@xrkseek/server-face/dist/handlers/catalog.js +11 -0
  50. package/node_modules/@xrkseek/server-face/dist/handlers/catalog.js.map +1 -1
  51. package/node_modules/@xrkseek/server-face/dist/handlers/session.d.ts.map +1 -1
  52. package/node_modules/@xrkseek/server-face/dist/handlers/session.js +27 -1
  53. package/node_modules/@xrkseek/server-face/dist/handlers/session.js.map +1 -1
  54. package/node_modules/@xrkseek/server-face/dist/handlers/subagent.d.ts.map +1 -1
  55. package/node_modules/@xrkseek/server-face/dist/handlers/subagent.js +14 -4
  56. package/node_modules/@xrkseek/server-face/dist/handlers/subagent.js.map +1 -1
  57. package/node_modules/@xrkseek/server-face/dist/handlers/team.d.ts.map +1 -1
  58. package/node_modules/@xrkseek/server-face/dist/handlers/team.js +76 -12
  59. package/node_modules/@xrkseek/server-face/dist/handlers/team.js.map +1 -1
  60. package/node_modules/@xrkseek/server-face/dist/index.d.ts +5 -3
  61. package/node_modules/@xrkseek/server-face/dist/index.d.ts.map +1 -1
  62. package/node_modules/@xrkseek/server-face/dist/index.js +5 -3
  63. package/node_modules/@xrkseek/server-face/dist/index.js.map +1 -1
  64. package/node_modules/@xrkseek/server-face/dist/projections/title-controller.d.ts +6 -0
  65. package/node_modules/@xrkseek/server-face/dist/projections/title-controller.d.ts.map +1 -1
  66. package/node_modules/@xrkseek/server-face/dist/projections/title-controller.js +26 -0
  67. package/node_modules/@xrkseek/server-face/dist/projections/title-controller.js.map +1 -1
  68. package/node_modules/@xrkseek/server-face/dist/runtime.d.ts.map +1 -1
  69. package/node_modules/@xrkseek/server-face/dist/runtime.js +72 -21
  70. package/node_modules/@xrkseek/server-face/dist/runtime.js.map +1 -1
  71. package/node_modules/@xrkseek/server-face/dist/seat-channel.d.ts +45 -0
  72. package/node_modules/@xrkseek/server-face/dist/seat-channel.d.ts.map +1 -0
  73. package/node_modules/@xrkseek/server-face/dist/seat-channel.js +93 -0
  74. package/node_modules/@xrkseek/server-face/dist/seat-channel.js.map +1 -0
  75. package/node_modules/@xrkseek/server-face/dist/seat-identity.d.ts +13 -0
  76. package/node_modules/@xrkseek/server-face/dist/seat-identity.d.ts.map +1 -1
  77. package/node_modules/@xrkseek/server-face/dist/seat-identity.js +90 -36
  78. package/node_modules/@xrkseek/server-face/dist/seat-identity.js.map +1 -1
  79. package/node_modules/@xrkseek/server-face/dist/session-capability.d.ts.map +1 -1
  80. package/node_modules/@xrkseek/server-face/dist/session-capability.js +4 -1
  81. package/node_modules/@xrkseek/server-face/dist/session-capability.js.map +1 -1
  82. package/node_modules/@xrkseek/server-face/dist/session-status.d.ts +4 -0
  83. package/node_modules/@xrkseek/server-face/dist/session-status.d.ts.map +1 -1
  84. package/node_modules/@xrkseek/server-face/dist/session-status.js +93 -51
  85. package/node_modules/@xrkseek/server-face/dist/session-status.js.map +1 -1
  86. package/node_modules/@xrkseek/server-face/dist/settings-credentials.d.ts +5 -0
  87. package/node_modules/@xrkseek/server-face/dist/settings-credentials.d.ts.map +1 -1
  88. package/node_modules/@xrkseek/server-face/dist/settings-credentials.js +20 -0
  89. package/node_modules/@xrkseek/server-face/dist/settings-credentials.js.map +1 -1
  90. package/node_modules/@xrkseek/server-face/dist/settings-document.d.ts.map +1 -1
  91. package/node_modules/@xrkseek/server-face/dist/settings-document.js +34 -0
  92. package/node_modules/@xrkseek/server-face/dist/settings-document.js.map +1 -1
  93. package/node_modules/@xrkseek/server-face/dist/settings-schemas.d.ts.map +1 -1
  94. package/node_modules/@xrkseek/server-face/dist/settings-schemas.js +18 -11
  95. package/node_modules/@xrkseek/server-face/dist/settings-schemas.js.map +1 -1
  96. package/node_modules/@xrkseek/server-face/dist/workspace-face.d.ts.map +1 -1
  97. package/node_modules/@xrkseek/server-face/dist/workspace-face.js +3 -10
  98. package/node_modules/@xrkseek/server-face/dist/workspace-face.js.map +1 -1
  99. package/node_modules/@xrkseek/server-face/dist/workspace-member-look.d.ts +1 -1
  100. package/node_modules/@xrkseek/server-face/dist/workspace-member-look.d.ts.map +1 -1
  101. package/node_modules/@xrkseek/server-face/dist/workspace-member-look.js +4 -1
  102. package/node_modules/@xrkseek/server-face/dist/workspace-member-look.js.map +1 -1
  103. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/index.d.ts +1 -1
  104. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/index.js +1 -1
  105. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/memory-polish.d.ts +2 -2
  106. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/memory-polish.d.ts.map +1 -1
  107. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/memory-polish.js +27 -13
  108. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/memory-polish.js.map +1 -1
  109. package/node_modules/@xrkseek/server-host/dist/community-live-bridge.d.ts +14 -0
  110. package/node_modules/@xrkseek/server-host/dist/community-live-bridge.d.ts.map +1 -0
  111. package/node_modules/@xrkseek/server-host/dist/community-live-bridge.js +149 -0
  112. package/node_modules/@xrkseek/server-host/dist/community-live-bridge.js.map +1 -0
  113. package/node_modules/@xrkseek/server-host/dist/index.d.ts.map +1 -1
  114. package/node_modules/@xrkseek/server-host/dist/index.js +13 -1
  115. package/node_modules/@xrkseek/server-host/dist/index.js.map +1 -1
  116. package/node_modules/@xrkseek/server-http/dist/dsh-compat/adapter-providers.d.ts.map +1 -1
  117. package/node_modules/@xrkseek/server-http/dist/dsh-compat/adapter-providers.js +15 -0
  118. package/node_modules/@xrkseek/server-http/dist/dsh-compat/adapter-providers.js.map +1 -1
  119. package/node_modules/@xrkseek/server-http/dist/dsh-compat/adapter-types.d.ts +11 -0
  120. package/node_modules/@xrkseek/server-http/dist/dsh-compat/adapter-types.d.ts.map +1 -1
  121. package/node_modules/@xrkseek/server-http/dist/dsh-compat/community-live-state.d.ts +38 -0
  122. package/node_modules/@xrkseek/server-http/dist/dsh-compat/community-live-state.d.ts.map +1 -0
  123. package/node_modules/@xrkseek/server-http/dist/dsh-compat/community-live-state.js +182 -0
  124. package/node_modules/@xrkseek/server-http/dist/dsh-compat/community-live-state.js.map +1 -0
  125. package/node_modules/@xrkseek/server-http/dist/dsh-compat/community-root-http.d.ts +2 -1
  126. package/node_modules/@xrkseek/server-http/dist/dsh-compat/community-root-http.d.ts.map +1 -1
  127. package/node_modules/@xrkseek/server-http/dist/dsh-compat/community-root-http.js +26 -2
  128. package/node_modules/@xrkseek/server-http/dist/dsh-compat/community-root-http.js.map +1 -1
  129. package/node_modules/@xrkseek/server-http/dist/dsh-compat/cordis-connection-bridge.d.ts.map +1 -1
  130. package/node_modules/@xrkseek/server-http/dist/dsh-compat/cordis-connection-bridge.js +29 -4
  131. package/node_modules/@xrkseek/server-http/dist/dsh-compat/cordis-connection-bridge.js.map +1 -1
  132. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-compat-matrix.js +1 -1
  133. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-compat-matrix.js.map +1 -1
  134. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-path-capabilities.d.ts.map +1 -1
  135. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-path-capabilities.js +5 -2
  136. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-path-capabilities.js.map +1 -1
  137. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-skins.d.ts.map +1 -1
  138. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-skins.js +2 -0
  139. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-skins.js.map +1 -1
  140. package/node_modules/@xrkseek/server-http/dist/dsh-compat/honest-http-catchall.d.ts.map +1 -1
  141. package/node_modules/@xrkseek/server-http/dist/dsh-compat/honest-http-catchall.js +13 -3
  142. package/node_modules/@xrkseek/server-http/dist/dsh-compat/honest-http-catchall.js.map +1 -1
  143. package/node_modules/@xrkseek/server-http/dist/dsh-compat/incomplete-api-shapes.d.ts +21 -0
  144. package/node_modules/@xrkseek/server-http/dist/dsh-compat/incomplete-api-shapes.d.ts.map +1 -0
  145. package/node_modules/@xrkseek/server-http/dist/dsh-compat/incomplete-api-shapes.js +62 -0
  146. package/node_modules/@xrkseek/server-http/dist/dsh-compat/incomplete-api-shapes.js.map +1 -0
  147. package/node_modules/@xrkseek/server-http/dist/dsh-compat/index.d.ts +5 -2
  148. package/node_modules/@xrkseek/server-http/dist/dsh-compat/index.d.ts.map +1 -1
  149. package/node_modules/@xrkseek/server-http/dist/dsh-compat/index.js +6 -2
  150. package/node_modules/@xrkseek/server-http/dist/dsh-compat/index.js.map +1 -1
  151. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access-auth.d.ts +19 -2
  152. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access-auth.d.ts.map +1 -1
  153. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access-auth.js +425 -385
  154. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access-auth.js.map +1 -1
  155. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access-gate.d.ts +20 -1
  156. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access-gate.d.ts.map +1 -1
  157. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access-gate.js +22 -1
  158. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access-gate.js.map +1 -1
  159. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access.d.ts +13 -1
  160. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access.d.ts.map +1 -1
  161. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access.js +37 -3
  162. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access.js.map +1 -1
  163. package/node_modules/@xrkseek/server-http/dist/dsh-compat/our-free-model-host.d.ts.map +1 -1
  164. package/node_modules/@xrkseek/server-http/dist/dsh-compat/our-free-model-host.js +2 -1
  165. package/node_modules/@xrkseek/server-http/dist/dsh-compat/our-free-model-host.js.map +1 -1
  166. package/node_modules/@xrkseek/server-http/dist/dsh-compat/plugin-package-id.d.ts +22 -0
  167. package/node_modules/@xrkseek/server-http/dist/dsh-compat/plugin-package-id.d.ts.map +1 -0
  168. package/node_modules/@xrkseek/server-http/dist/dsh-compat/plugin-package-id.js +42 -0
  169. package/node_modules/@xrkseek/server-http/dist/dsh-compat/plugin-package-id.js.map +1 -0
  170. package/node_modules/@xrkseek/server-http/dist/dsh-compat/skin-center.d.ts +1 -1
  171. package/node_modules/@xrkseek/server-http/dist/dsh-compat/skin-discover.d.ts +2 -0
  172. package/node_modules/@xrkseek/server-http/dist/dsh-compat/skin-discover.d.ts.map +1 -1
  173. package/node_modules/@xrkseek/server-http/dist/dsh-compat/skin-discover.js +5 -0
  174. package/node_modules/@xrkseek/server-http/dist/dsh-compat/skin-discover.js.map +1 -1
  175. package/node_modules/@xrkseek/server-http/dist/dsh-compat/underlying/mobile-gate-kit.d.ts +4 -1
  176. package/node_modules/@xrkseek/server-http/dist/dsh-compat/underlying/mobile-gate-kit.d.ts.map +1 -1
  177. package/node_modules/@xrkseek/server-http/dist/dsh-compat/underlying/mobile-gate-kit.js +20 -8
  178. package/node_modules/@xrkseek/server-http/dist/dsh-compat/underlying/mobile-gate-kit.js.map +1 -1
  179. package/node_modules/@xrkseek/server-http/dist/dsh-compat/wallet.d.ts.map +1 -1
  180. package/node_modules/@xrkseek/server-http/dist/dsh-compat/wallet.js +2 -0
  181. package/node_modules/@xrkseek/server-http/dist/dsh-compat/wallet.js.map +1 -1
  182. package/node_modules/@xrkseek/server-http/dist/dsh-compat/wallpaper-bg.d.ts +7 -0
  183. package/node_modules/@xrkseek/server-http/dist/dsh-compat/wallpaper-bg.d.ts.map +1 -0
  184. package/node_modules/@xrkseek/server-http/dist/dsh-compat/wallpaper-bg.js +153 -0
  185. package/node_modules/@xrkseek/server-http/dist/dsh-compat/wallpaper-bg.js.map +1 -0
  186. package/node_modules/@xrkseek/server-http/dist/dsh-compat/wallpaper.d.ts +10 -2
  187. package/node_modules/@xrkseek/server-http/dist/dsh-compat/wallpaper.d.ts.map +1 -1
  188. package/node_modules/@xrkseek/server-http/dist/dsh-compat/wallpaper.js +361 -29
  189. package/node_modules/@xrkseek/server-http/dist/dsh-compat/wallpaper.js.map +1 -1
  190. package/node_modules/@xrkseek/server-http/dist/dsh-compat/wire-normalize.d.ts.map +1 -1
  191. package/node_modules/@xrkseek/server-http/dist/dsh-compat/wire-normalize.js +3 -0
  192. package/node_modules/@xrkseek/server-http/dist/dsh-compat/wire-normalize.js.map +1 -1
  193. package/node_modules/@xrkseek/server-http/dist/dsh-compat/workbuddy-host.d.ts.map +1 -1
  194. package/node_modules/@xrkseek/server-http/dist/dsh-compat/workbuddy-host.js +2 -1
  195. package/node_modules/@xrkseek/server-http/dist/dsh-compat/workbuddy-host.js.map +1 -1
  196. package/node_modules/@xrkseek/server-http/dist/index.d.ts +1 -1
  197. package/node_modules/@xrkseek/server-http/dist/index.d.ts.map +1 -1
  198. package/node_modules/@xrkseek/server-http/dist/index.js +1 -1
  199. package/node_modules/@xrkseek/server-http/dist/index.js.map +1 -1
  200. package/package.json +1 -1
@@ -1,11 +1,11 @@
1
1
  import { createHash } from "node:crypto";
2
- import { existsSync, mkdirSync, readdirSync, statSync, unlinkSync, writeFileSync } from "node:fs";
2
+ import { existsSync, mkdirSync, readFileSync, readdirSync, statSync, unlinkSync, writeFileSync, } from "node:fs";
3
3
  import path from "node:path";
4
4
  import { readBody, sendJson } from "./underlying/http-json.js";
5
5
  import { dataPath } from "./underlying/json-store.js";
6
- import { tag } from "./meta.js";
7
6
  import { createXrkDocStore } from "./underlying/doc-store.js";
8
7
  import { parseJsonBody } from "./underlying/http-kit.js";
8
+ const BASE = "/wallpaper-engine";
9
9
  /** 1×1 PNG — keeps <img src="/scene-frame/…"> from breaking. */
10
10
  const PLACEHOLDER_PNG = Buffer.from("iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmMIQAAAABJRU5ErkJggg==", "base64");
11
11
  const DEFAULT_SETTINGS = {
@@ -27,9 +27,21 @@ const DEFAULT_SETTINGS = {
27
27
  activeId: null,
28
28
  activeKind: null,
29
29
  };
30
+ /** Namespaces the upstream settings router accepts under `/settings/<ns>`. */
31
+ const SETTINGS_NAMESPACES = new Set([
32
+ "core",
33
+ "glass",
34
+ "fonts",
35
+ "mascot",
36
+ "media",
37
+ "rotation",
38
+ "picker",
39
+ "advanced",
40
+ ]);
30
41
  const EMPTY_SETTINGS_DOC = {
31
42
  settings: { ...DEFAULT_SETTINGS },
32
43
  };
44
+ const WALLPAPER_SETTINGS_STORE = createXrkDocStore(["wallpaper-engine", "config.json"], EMPTY_SETTINGS_DOC);
33
45
  function rootDir(options) {
34
46
  return dataPath(options.xrkHome, "wallpaper-engine");
35
47
  }
@@ -39,7 +51,12 @@ function uploadDir(options) {
39
51
  mkdirSync(dir, { recursive: true });
40
52
  return dir;
41
53
  }
42
- const WALLPAPER_SETTINGS_STORE = createXrkDocStore(["wallpaper-engine", "config.json"], EMPTY_SETTINGS_DOC);
54
+ function cacheDir(options) {
55
+ const dir = path.join(rootDir(options), "cache");
56
+ if (!existsSync(dir))
57
+ mkdirSync(dir, { recursive: true });
58
+ return dir;
59
+ }
43
60
  function loadSettings(options) {
44
61
  const stored = WALLPAPER_SETTINGS_STORE.read(options.xrkHome).data.settings;
45
62
  return {
@@ -50,6 +67,21 @@ function loadSettings(options) {
50
67
  function saveSettings(options, settings) {
51
68
  return WALLPAPER_SETTINGS_STORE.write(options.xrkHome, { settings }).revision;
52
69
  }
70
+ function uploadType(name) {
71
+ const ext = path.extname(name).toLowerCase();
72
+ if (ext === ".mp4" || ext === ".webm")
73
+ return "video";
74
+ if (ext === ".html" || ext === ".htm")
75
+ return "web";
76
+ return "image";
77
+ }
78
+ function mediaExt(name) {
79
+ return path.extname(name).replace(/^\./, "").toLowerCase() || "bin";
80
+ }
81
+ /**
82
+ * Picker-compatible inventory rows (src/picker-model.js): need `type` +
83
+ * `playable` + `media` / `preview` URL shapes even when Steam scan is absent.
84
+ */
53
85
  function listWallpapers(options) {
54
86
  const dir = uploadDir(options);
55
87
  const out = [];
@@ -59,16 +91,32 @@ function listWallpapers(options) {
59
91
  const st = statSync(abs);
60
92
  if (!st.isFile())
61
93
  continue;
94
+ const type = uploadType(name);
95
+ const playable = type === "video" || type === "web" || type === "image";
62
96
  out.push({
63
97
  id: name,
64
98
  title: path.parse(name).name,
99
+ type,
65
100
  kind: "upload",
101
+ playable,
102
+ contentrating: "Everyone",
103
+ media: `${BASE}/media/${encodeURIComponent(name)}`,
104
+ mediaExt: mediaExt(name),
105
+ preview: type === "image"
106
+ ? `${BASE}/preview/${encodeURIComponent(name)}`
107
+ : null,
66
108
  path: abs,
67
109
  bytes: st.size,
110
+ propsUrl: null,
111
+ sceneLiveSrc: null,
112
+ sceneVideo: null,
113
+ sceneAudio: null,
114
+ frameUrl: null,
115
+ liveFrame: null,
68
116
  });
69
117
  }
70
118
  catch {
71
- /* skip */
119
+ /* skip unreadable */
72
120
  }
73
121
  }
74
122
  return out;
@@ -89,40 +137,102 @@ function sendPlaceholderPng(res, method) {
89
137
  }
90
138
  res.end(PLACEHOLDER_PNG);
91
139
  }
140
+ function sendFileBytes(res, method, abs, contentType) {
141
+ const buf = readFileSync(abs);
142
+ res.writeHead(200, {
143
+ "content-type": contentType,
144
+ "content-length": String(buf.length),
145
+ "cache-control": "no-store",
146
+ "accept-ranges": "bytes",
147
+ });
148
+ if (method === "HEAD") {
149
+ res.end();
150
+ return;
151
+ }
152
+ res.end(buf);
153
+ }
154
+ function contentTypeFor(name) {
155
+ const ext = path.extname(name).toLowerCase();
156
+ if (ext === ".png")
157
+ return "image/png";
158
+ if (ext === ".jpg" || ext === ".jpeg")
159
+ return "image/jpeg";
160
+ if (ext === ".webp")
161
+ return "image/webp";
162
+ if (ext === ".mp4")
163
+ return "video/mp4";
164
+ if (ext === ".webm")
165
+ return "video/webm";
166
+ if (ext === ".html" || ext === ".htm")
167
+ return "text/html; charset=utf-8";
168
+ return "application/octet-stream";
169
+ }
170
+ function stripQuery(pathname) {
171
+ const q = pathname.indexOf("?");
172
+ return q >= 0 ? pathname.slice(0, q) : pathname;
173
+ }
174
+ function tokenTail(pathname, prefix) {
175
+ return decodeURIComponent(stripQuery(pathname.slice(prefix.length)));
176
+ }
177
+ function refuse(res, note, extra = {}) {
178
+ sendJson(res, 200, { ok: false, note, bridge: "xrk-wallpaper", ...extra });
179
+ }
180
+ function idleNowPlaying() {
181
+ return {
182
+ ok: true,
183
+ playing: false,
184
+ title: null,
185
+ artist: null,
186
+ album: null,
187
+ app: null,
188
+ note: "System Now Playing is not bridged on XRK Host (media-bridge subpackage not applied).",
189
+ };
190
+ }
92
191
  export function isWallpaperHttpPath(pathname) {
93
- return (pathname.startsWith("/wallpaper-engine") ||
192
+ return (pathname.startsWith(BASE) ||
94
193
  pathname === "/scene-anim" ||
95
194
  pathname.startsWith("/scene-anim/") ||
96
195
  pathname === "/scene-frame" ||
97
- pathname.startsWith("/scene-frame/"));
196
+ pathname.startsWith("/scene-frame/") ||
197
+ pathname === "/api/local-assets" ||
198
+ pathname.startsWith("/api/local-assets/"));
98
199
  }
99
200
  export async function handleWallpaperHttp(req, res, pathname, options) {
100
201
  if (!isWallpaperHttpPath(pathname))
101
202
  return false;
102
203
  const method = (req.method ?? "GET").toUpperCase();
103
- if (pathname === "/scene-frame" ||
104
- pathname.startsWith("/scene-frame/") ||
105
- pathname === "/scene-anim" ||
106
- pathname.startsWith("/scene-anim/")) {
107
- // No scene.pkg ffmpeg pipeline — return a stable still so media tags settle.
204
+ const p = stripQuery(pathname);
205
+ // ── Scene stubs (root + BASE) ───────────────────────────────────────────
206
+ if (p === "/scene-frame" ||
207
+ p.startsWith("/scene-frame/") ||
208
+ p === `${BASE}/scene-frame` ||
209
+ p.startsWith(`${BASE}/scene-frame/`) ||
210
+ p === "/scene-anim" ||
211
+ p.startsWith("/scene-anim/") ||
212
+ p === `${BASE}/scene-anim` ||
213
+ p.startsWith(`${BASE}/scene-anim/`) ||
214
+ p.startsWith(`${BASE}/scene-frame-cache/`) ||
215
+ p.startsWith(`${BASE}/custom-frame`) ||
216
+ p.startsWith(`${BASE}/live-frame`)) {
108
217
  sendPlaceholderPng(res, method);
109
218
  return true;
110
219
  }
111
- if (pathname.startsWith("/wallpaper-engine/scene-anim-progress/")) {
112
- const token = pathname.slice("/wallpaper-engine/scene-anim-progress/".length);
220
+ if (p.startsWith(`${BASE}/scene-anim-progress/`)) {
221
+ const token = tokenTail(p, `${BASE}/scene-anim-progress/`);
113
222
  sendJson(res, 200, {
114
223
  ok: true,
115
224
  percent: 100,
116
225
  progress: 100,
117
226
  done: true,
118
- token: token.split("?")[0] || token,
227
+ token,
119
228
  note: "Scene anim render is not embedded; progress reports complete.",
120
229
  });
121
230
  return true;
122
231
  }
123
- if (pathname === "/wallpaper-engine/settings") {
232
+ // ── Settings (whole + namespaces) ───────────────────────────────────────
233
+ if (p === `${BASE}/settings`) {
124
234
  if (method === "GET" || method === "HEAD") {
125
- sendJson(res, 200, { settings: loadSettings(options) });
235
+ sendJson(res, 200, { ok: true, settings: loadSettings(options) });
126
236
  return true;
127
237
  }
128
238
  if (method === "PUT" || method === "POST") {
@@ -132,26 +242,69 @@ export async function handleWallpaperHttp(req, res, pathname, options) {
132
242
  : body;
133
243
  const merged = { ...loadSettings(options), ...next };
134
244
  const revision = saveSettings(options, merged);
135
- sendJson(res, 200, { settings: merged, revision });
245
+ sendJson(res, 200, { ok: true, settings: merged, revision });
246
+ return true;
247
+ }
248
+ }
249
+ if (p.startsWith(`${BASE}/settings/`)) {
250
+ const ns = p.slice(`${BASE}/settings/`.length).split("/")[0] ?? "";
251
+ if (!SETTINGS_NAMESPACES.has(ns)) {
252
+ if (method === "GET" || method === "HEAD") {
253
+ sendJson(res, 200, {
254
+ ok: true,
255
+ settings: loadSettings(options),
256
+ ignored: [ns],
257
+ note: "Unknown settings namespace; returning full settings document.",
258
+ });
259
+ return true;
260
+ }
261
+ }
262
+ if (method === "GET" || method === "HEAD") {
263
+ sendJson(res, 200, { ok: true, namespace: ns, settings: loadSettings(options) });
264
+ return true;
265
+ }
266
+ if (method === "PUT" || method === "POST") {
267
+ const body = await parseJsonBody(req);
268
+ const patch = body.settings && typeof body.settings === "object"
269
+ ? body.settings
270
+ : body;
271
+ const ignored = Object.keys(patch).filter(() => false);
272
+ const merged = { ...loadSettings(options), ...patch };
273
+ const revision = saveSettings(options, merged);
274
+ sendJson(res, 200, {
275
+ ok: true,
276
+ namespace: ns,
277
+ settings: merged,
278
+ revision,
279
+ ...(ignored.length ? { ignored } : {}),
280
+ });
136
281
  return true;
137
282
  }
138
283
  }
139
- if (pathname === "/wallpaper-engine/inventory") {
284
+ // ── Inventory ───────────────────────────────────────────────────────────
285
+ if (p === `${BASE}/inventory`) {
140
286
  const wallpapers = listWallpapers(options);
141
287
  const upload = uploadDir(options);
142
288
  sendJson(res, 200, {
289
+ ok: true,
143
290
  installDir: rootDir(options),
144
291
  uploadDir: upload,
292
+ cacheDir: cacheDir(options),
293
+ weAssetsDir: null,
294
+ weAssetsAvailable: false,
295
+ sceneMediaBase: null,
145
296
  wallpapers,
146
297
  total: wallpapers.length,
147
- portableCount: 0,
298
+ portableCount: wallpapers.length,
148
299
  playlists: [],
300
+ note: "Steam Wallpaper Engine library scan is not applied; upload library only.",
149
301
  });
150
302
  return true;
151
303
  }
152
- if (pathname === "/wallpaper-engine/upload") {
304
+ // ── Upload / remove ─────────────────────────────────────────────────────
305
+ if (p === `${BASE}/upload`) {
153
306
  if (method !== "POST" && method !== "PUT") {
154
- sendJson(res, 405, { error: "POST required" });
307
+ sendJson(res, 405, { ok: false, error: "POST required" });
155
308
  return true;
156
309
  }
157
310
  const url = new URL(req.url ?? "/", "http://127.0.0.1");
@@ -160,8 +313,18 @@ export async function handleWallpaperHttp(req, res, pathname, options) {
160
313
  .trim()
161
314
  .toLowerCase();
162
315
  const raw = await readBody(req);
163
- const extMatch = /\.(jpe?g|png|mp4)$/i.exec(title) ||
164
- (ctype.includes("jpeg") ? [".jpg"] : ctype.includes("png") ? [".png"] : ctype.includes("mp4") ? [".mp4"] : null);
316
+ const extMatch = /\.(jpe?g|png|webp|mp4|webm|html?)$/i.exec(title) ||
317
+ (ctype.includes("jpeg")
318
+ ? [".jpg"]
319
+ : ctype.includes("png")
320
+ ? [".png"]
321
+ : ctype.includes("webp")
322
+ ? [".webp"]
323
+ : ctype.includes("mp4")
324
+ ? [".mp4"]
325
+ : ctype.includes("webm")
326
+ ? [".webm"]
327
+ : null);
165
328
  const ext = (extMatch?.[0] ?? ".bin").toLowerCase();
166
329
  const id = uploadIdFor(Buffer.from(raw), ext);
167
330
  const dest = path.join(uploadDir(options), id);
@@ -172,31 +335,200 @@ export async function handleWallpaperHttp(req, res, pathname, options) {
172
335
  else {
173
336
  writeFileSync(dest, raw);
174
337
  }
175
- sendJson(res, 200, { id, title, duplicate });
338
+ sendJson(res, 200, {
339
+ ok: true,
340
+ id,
341
+ title,
342
+ duplicate,
343
+ type: uploadType(id),
344
+ media: `${BASE}/media/${encodeURIComponent(id)}`,
345
+ });
176
346
  return true;
177
347
  }
178
- if (pathname === "/wallpaper-engine/upload-dir") {
348
+ if (p === `${BASE}/upload-dir`) {
349
+ if (method === "POST" || method === "PUT")
350
+ await parseJsonBody(req);
179
351
  sendJson(res, 200, {
180
352
  ok: true,
181
353
  uploadDir: uploadDir(options),
182
- note: "Batch directory upload is not supported in web shell; use single upload.",
354
+ note: "Changing the upload root is not supported; custom uploads stay under the Host data dir.",
183
355
  });
184
356
  return true;
185
357
  }
186
- if (pathname === "/wallpaper-engine/remove") {
358
+ if (p === `${BASE}/remove`) {
187
359
  if (method === "POST" || method === "PUT") {
188
360
  const body = await parseJsonBody(req);
189
361
  const id = typeof body.id === "string" ? path.basename(body.id) : "";
190
362
  const abs = path.join(uploadDir(options), id);
191
- if (existsSync(abs))
363
+ if (id && existsSync(abs))
192
364
  unlinkSync(abs);
193
365
  sendJson(res, 200, { ok: true, id });
194
366
  return true;
195
367
  }
196
368
  }
369
+ // ── Media / preview bytes (upload tokens only) ──────────────────────────
370
+ if (p.startsWith(`${BASE}/media/`) || p.startsWith(`${BASE}/preview/`)) {
371
+ const prefix = p.startsWith(`${BASE}/media/`)
372
+ ? `${BASE}/media/`
373
+ : `${BASE}/preview/`;
374
+ const id = path.basename(tokenTail(p, prefix));
375
+ const abs = path.join(uploadDir(options), id);
376
+ if (!id || !existsSync(abs)) {
377
+ sendJson(res, 404, {
378
+ ok: false,
379
+ error: "media-not-found",
380
+ note: "Only upload-library tokens are served; Steam WE mediaMap tokens are unavailable without Cordis host apply.",
381
+ });
382
+ return true;
383
+ }
384
+ sendFileBytes(res, method, abs, contentTypeFor(id));
385
+ return true;
386
+ }
387
+ // ── Transcode / media-info family ───────────────────────────────────────
388
+ if (p.startsWith(`${BASE}/transcoded/`) ||
389
+ p.startsWith(`${BASE}/transcode-progress/`) ||
390
+ p.startsWith(`${BASE}/media-info`) ||
391
+ p.startsWith(`${BASE}/video-preview/`)) {
392
+ if (p.startsWith(`${BASE}/transcode-progress/`)) {
393
+ sendJson(res, 200, {
394
+ ok: true,
395
+ percent: 100,
396
+ done: true,
397
+ note: "ffmpeg transcode is not embedded; reporting idle-complete.",
398
+ });
399
+ return true;
400
+ }
401
+ refuse(res, "ffmpeg media-derived routes are not bridged on XRK Host.", { path: p });
402
+ return true;
403
+ }
404
+ // ── Now-playing / media bridge ──────────────────────────────────────────
405
+ if (p === `${BASE}/media-status` ||
406
+ p === `${BASE}/audio-spectrum` ||
407
+ p === `${BASE}/now-playing` ||
408
+ p === `${BASE}/media-control`) {
409
+ if (p === `${BASE}/audio-spectrum`) {
410
+ sendJson(res, 200, {
411
+ ok: true,
412
+ bands: [],
413
+ note: "System audio spectrum is not bridged.",
414
+ });
415
+ return true;
416
+ }
417
+ if (p === `${BASE}/media-control` && (method === "POST" || method === "PUT")) {
418
+ await parseJsonBody(req);
419
+ refuse(res, "media-control has no system media session on XRK Host.");
420
+ return true;
421
+ }
422
+ sendJson(res, 200, idleNowPlaying());
423
+ return true;
424
+ }
425
+ if (p.startsWith(`${BASE}/now-playing/artwork`)) {
426
+ sendPlaceholderPng(res, method);
427
+ return true;
428
+ }
429
+ // ── Fonts / glass / mascot / diag / dirs ────────────────────────────────
430
+ if (p === `${BASE}/system-fonts`) {
431
+ sendJson(res, 200, {
432
+ ok: true,
433
+ fonts: [],
434
+ note: "Host-side font enumeration is not bridged; client falls back to built-in stacks.",
435
+ });
436
+ return true;
437
+ }
438
+ if (p === `${BASE}/fontsets`) {
439
+ sendJson(res, 200, { ok: true, sets: [], note: "No custom fontsets staged." });
440
+ return true;
441
+ }
442
+ if (p === `${BASE}/glass-presets` || p === `${BASE}/glass-row-state`) {
443
+ sendJson(res, 200, {
444
+ ok: true,
445
+ presets: [],
446
+ note: "Glass subpackage routes are not applied; UI uses client defaults.",
447
+ });
448
+ return true;
449
+ }
450
+ if (p === `${BASE}/mascot` ||
451
+ p.startsWith(`${BASE}/mascot/`) ||
452
+ p === `${BASE}/avatar` ||
453
+ p.startsWith(`${BASE}/avatar/`) ||
454
+ p === `${BASE}/rope-art` ||
455
+ p.startsWith(`${BASE}/rope-art/`)) {
456
+ if (method === "GET" || method === "HEAD") {
457
+ sendPlaceholderPng(res, method);
458
+ return true;
459
+ }
460
+ if (method === "POST" || method === "PUT")
461
+ await readBody(req);
462
+ refuse(res, "Mascot/avatar upload host half is not applied.", { path: p });
463
+ return true;
464
+ }
465
+ if (p === `${BASE}/diag` ||
466
+ p === `${BASE}/diag-log` ||
467
+ p === `${BASE}/client-diag` ||
468
+ p.startsWith(`${BASE}/diag`)) {
469
+ sendJson(res, 200, {
470
+ ok: true,
471
+ bridge: "xrk-wallpaper",
472
+ components: [],
473
+ note: "Cordis wallpaper host components are not loaded; diag is empty.",
474
+ });
475
+ return true;
476
+ }
477
+ if (p === `${BASE}/cache-dir` || p.startsWith(`${BASE}/cache-dir/`)) {
478
+ if (method === "POST" || method === "PUT")
479
+ await parseJsonBody(req);
480
+ sendJson(res, 200, {
481
+ ok: true,
482
+ cacheDir: cacheDir(options),
483
+ note: "Cache root is Host-managed under ~/.xrk; relocating is not supported.",
484
+ });
485
+ return true;
486
+ }
487
+ if (p === `${BASE}/we-assets-dir` || p === `${BASE}/media-origin`) {
488
+ if (method === "POST" || method === "PUT")
489
+ await parseJsonBody(req);
490
+ sendJson(res, 200, {
491
+ ok: true,
492
+ weAssetsAvailable: false,
493
+ weAssetsDir: null,
494
+ mediaOrigin: null,
495
+ note: "Wallpaper Engine asset directory / media-origin loopback are not bridged.",
496
+ });
497
+ return true;
498
+ }
499
+ if (p.startsWith(`${BASE}/scene-live`) ||
500
+ p.startsWith(`${BASE}/scene-files`) ||
501
+ p.startsWith(`${BASE}/scene-video`) ||
502
+ p.startsWith(`${BASE}/scene-audio`) ||
503
+ p.startsWith(`${BASE}/scene-payload-progress`) ||
504
+ p.startsWith(`${BASE}/props/`)) {
505
+ if (p.startsWith(`${BASE}/scene-payload-progress`)) {
506
+ sendJson(res, 200, { ok: true, percent: 100, done: true });
507
+ return true;
508
+ }
509
+ refuse(res, "Scene WebWallGL / pkg media routes require the upstream Cordis host half.", { path: p });
510
+ return true;
511
+ }
512
+ if (p === `${BASE}/occlusion` || p.startsWith(`${BASE}/pet-link/`)) {
513
+ refuse(res, "Occlusion / pet-link subpackages are not applied.", { path: p });
514
+ return true;
515
+ }
516
+ if (p === `${BASE}/star-count` || p === `${BASE}/about-qr`) {
517
+ refuse(res, "About-notice subpackage is not applied.", { path: p });
518
+ return true;
519
+ }
520
+ if (p === "/api/local-assets" || p.startsWith("/api/local-assets/")) {
521
+ sendJson(res, 200, {
522
+ ok: false,
523
+ available: false,
524
+ names: [],
525
+ note: "WE local-assets directory is not configured on XRK Host.",
526
+ });
527
+ return true;
528
+ }
197
529
  if (method === "POST" || method === "PUT")
198
530
  await readBody(req);
199
- sendJson(res, 200, tag({ path: pathname }, ["wallpaper-host"]));
531
+ refuse(res, "Unhandled wallpaper-engine path on XRK bridge.", { path: p });
200
532
  return true;
201
533
  }
202
534
  //# sourceMappingURL=wallpaper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"wallpaper.js","sourceRoot":"","sources":["../../src/dsh-compat/wallpaper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wallpaper.js","sourceRoot":"","sources":["../../src/dsh-compat/wallpaper.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,UAAU,EACV,SAAS,EACT,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,UAAU,EACV,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAMzD,MAAM,IAAI,GAAG,mBAAmB,CAAC;AAEjC,gEAAgE;AAChE,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CACjC,kGAAkG,EAClG,QAAQ,CACT,CAAC;AAEF,MAAM,gBAAgB,GAA4B;IAChD,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,IAAI;IACZ,IAAI,EAAE,EAAE;IACR,aAAa,EAAE,CAAC;IAChB,eAAe,EAAE,KAAK;IACtB,gBAAgB,EAAE,EAAE;IACpB,eAAe,EAAE,EAAE;IACnB,cAAc,EAAE,EAAE;IAClB,cAAc,EAAE,KAAK;IACrB,SAAS,EAAE,EAAE;IACb,YAAY,EAAE,CAAC;IACf,IAAI,EAAE,KAAK;IACX,SAAS,EAAE,OAAO;IAClB,mBAAmB,EAAE,UAAU;IAC/B,mBAAmB,EAAE,KAAK;IAC1B,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE,IAAI;CACjB,CAAC;AAEF,8EAA8E;AAC9E,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC;IAClC,MAAM;IACN,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,UAAU;IACV,QAAQ;IACR,UAAU;CACX,CAAC,CAAC;AAMH,MAAM,kBAAkB,GAAyB;IAC/C,QAAQ,EAAE,EAAE,GAAG,gBAAgB,EAAE;CAClC,CAAC;AAEF,MAAM,wBAAwB,GAAG,iBAAiB,CAChD,CAAC,kBAAkB,EAAE,aAAa,CAAC,EACnC,kBAAkB,CACnB,CAAC;AAEF,SAAS,OAAO,CAAC,OAAyB;IACxC,OAAO,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,SAAS,CAAC,OAAyB;IAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC;IACnD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,QAAQ,CAAC,OAAyB;IACzC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;IACjD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,YAAY,CAAC,OAAyB;IAC7C,MAAM,MAAM,GAAG,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;IAC5E,OAAO;QACL,GAAG,gBAAgB;QACnB,GAAG,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;KACxD,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CACnB,OAAyB,EACzB,QAAiC;IAEjC,OAAO,wBAAwB,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC;AAChF,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7C,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,OAAO;QAAE,OAAO,OAAO,CAAC;IACtD,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO,KAAK,CAAC;IACpD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY;IAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC;AACtE,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CAAC,OAAyB;IAC/C,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAC/B,MAAM,GAAG,GAA8B,EAAE,CAAC;IAC1C,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;YACzB,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE;gBAAE,SAAS;YAC3B,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;YAC9B,MAAM,QAAQ,GAAG,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,OAAO,CAAC;YACxE,GAAG,CAAC,IAAI,CAAC;gBACP,EAAE,EAAE,IAAI;gBACR,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI;gBAC5B,IAAI;gBACJ,IAAI,EAAE,QAAQ;gBACd,QAAQ;gBACR,aAAa,EAAE,UAAU;gBACzB,KAAK,EAAE,GAAG,IAAI,UAAU,kBAAkB,CAAC,IAAI,CAAC,EAAE;gBAClD,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC;gBACxB,OAAO,EACL,IAAI,KAAK,OAAO;oBACd,CAAC,CAAC,GAAG,IAAI,YAAY,kBAAkB,CAAC,IAAI,CAAC,EAAE;oBAC/C,CAAC,CAAC,IAAI;gBACV,IAAI,EAAE,GAAG;gBACT,KAAK,EAAE,EAAE,CAAC,IAAI;gBACd,QAAQ,EAAE,IAAI;gBACd,YAAY,EAAE,IAAI;gBAClB,UAAU,EAAE,IAAI;gBAChB,UAAU,EAAE,IAAI;gBAChB,QAAQ,EAAE,IAAI;gBACd,SAAS,EAAE,IAAI;aAChB,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,qBAAqB;QACvB,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,WAAW,CAAC,KAAa,EAAE,GAAW;IAC7C,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3E,OAAO,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC;AAC5B,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAmB,EAAE,MAAc;IAC7D,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,cAAc,EAAE,WAAW;QAC3B,gBAAgB,EAAE,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC;QAChD,eAAe,EAAE,UAAU;KAC5B,CAAC,CAAC;IACH,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,GAAG,CAAC,GAAG,EAAE,CAAC;QACV,OAAO;IACT,CAAC;IACD,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,aAAa,CACpB,GAAmB,EACnB,MAAc,EACd,GAAW,EACX,WAAmB;IAEnB,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IAC9B,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,cAAc,EAAE,WAAW;QAC3B,gBAAgB,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;QACpC,eAAe,EAAE,UAAU;QAC3B,eAAe,EAAE,OAAO;KACzB,CAAC,CAAC;IACH,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,GAAG,CAAC,GAAG,EAAE,CAAC;QACV,OAAO;IACT,CAAC;IACD,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7C,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO,WAAW,CAAC;IACvC,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,OAAO;QAAE,OAAO,YAAY,CAAC;IAC3D,IAAI,GAAG,KAAK,OAAO;QAAE,OAAO,YAAY,CAAC;IACzC,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO,WAAW,CAAC;IACvC,IAAI,GAAG,KAAK,OAAO;QAAE,OAAO,YAAY,CAAC;IACzC,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO,0BAA0B,CAAC;IACzE,OAAO,0BAA0B,CAAC;AACpC,CAAC;AAED,SAAS,UAAU,CAAC,QAAgB;IAClC,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAChC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AAClD,CAAC;AAED,SAAS,SAAS,CAAC,QAAgB,EAAE,MAAc;IACjD,OAAO,kBAAkB,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,MAAM,CACb,GAAmB,EACnB,IAAY,EACZ,QAAiC,EAAE;IAEnC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,cAAc;IACrB,OAAO;QACL,EAAE,EAAE,IAAI;QACR,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,IAAI;QACZ,KAAK,EAAE,IAAI;QACX,GAAG,EAAE,IAAI;QACT,IAAI,EAAE,sFAAsF;KAC7F,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,QAAgB;IAClD,OAAO,CACL,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC;QACzB,QAAQ,KAAK,aAAa;QAC1B,QAAQ,CAAC,UAAU,CAAC,cAAc,CAAC;QACnC,QAAQ,KAAK,cAAc;QAC3B,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC;QACpC,QAAQ,KAAK,mBAAmB;QAChC,QAAQ,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAC1C,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,GAAoB,EACpB,GAAmB,EACnB,QAAgB,EAChB,OAAyB;IAEzB,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IACjD,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IACnD,MAAM,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAE/B,2EAA2E;IAC3E,IACE,CAAC,KAAK,cAAc;QACpB,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC;QAC7B,CAAC,KAAK,GAAG,IAAI,cAAc;QAC3B,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,eAAe,CAAC;QACpC,CAAC,KAAK,aAAa;QACnB,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC;QAC5B,CAAC,KAAK,GAAG,IAAI,aAAa;QAC1B,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,cAAc,CAAC;QACnC,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,qBAAqB,CAAC;QAC1C,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,eAAe,CAAC;QACpC,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,aAAa,CAAC,EAClC,CAAC;QACD,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,uBAAuB,CAAC,EAAE,CAAC;QACjD,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,EAAE,GAAG,IAAI,uBAAuB,CAAC,CAAC;QAC3D,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;YACjB,EAAE,EAAE,IAAI;YACR,OAAO,EAAE,GAAG;YACZ,QAAQ,EAAE,GAAG;YACb,IAAI,EAAE,IAAI;YACV,KAAK;YACL,IAAI,EAAE,+DAA+D;SACtE,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,2EAA2E;IAC3E,IAAI,CAAC,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC;QAC7B,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YAC1C,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAClE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YAC1C,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,CAAC;YACtC,MAAM,IAAI,GACR,IAAI,CAAC,QAAQ,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ;gBAChD,CAAC,CAAE,IAAI,CAAC,QAAoC;gBAC5C,CAAC,CAAC,IAAI,CAAC;YACX,MAAM,MAAM,GAAG,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC;YACrD,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC/C,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC7D,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,YAAY,CAAC,EAAE,CAAC;QACtC,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACnE,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YACjC,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC1C,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;oBACjB,EAAE,EAAE,IAAI;oBACR,QAAQ,EAAE,YAAY,CAAC,OAAO,CAAC;oBAC/B,OAAO,EAAE,CAAC,EAAE,CAAC;oBACb,IAAI,EAAE,+DAA+D;iBACtE,CAAC,CAAC;gBACH,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YAC1C,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACjF,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YAC1C,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,CAAC;YACtC,MAAM,KAAK,GACT,IAAI,CAAC,QAAQ,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ;gBAChD,CAAC,CAAE,IAAI,CAAC,QAAoC;gBAC5C,CAAC,CAAC,IAAI,CAAC;YACX,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;YACvD,MAAM,MAAM,GAAG,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC;YACtD,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC/C,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;gBACjB,EAAE,EAAE,IAAI;gBACR,SAAS,EAAE,EAAE;gBACb,QAAQ,EAAE,MAAM;gBAChB,QAAQ;gBACR,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACvC,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,2EAA2E;IAC3E,IAAI,CAAC,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;QAClC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;YACjB,EAAE,EAAE,IAAI;YACR,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC;YAC5B,SAAS,EAAE,MAAM;YACjB,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC;YAC3B,WAAW,EAAE,IAAI;YACjB,iBAAiB,EAAE,KAAK;YACxB,cAAc,EAAE,IAAI;YACpB,UAAU;YACV,KAAK,EAAE,UAAU,CAAC,MAAM;YACxB,aAAa,EAAE,UAAU,CAAC,MAAM;YAChC,SAAS,EAAE,EAAE;YACb,IAAI,EAAE,0EAA0E;SACjF,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,2EAA2E;IAC3E,IAAI,CAAC,KAAK,GAAG,IAAI,SAAS,EAAE,CAAC;QAC3B,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YAC1C,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC;YAC1D,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,kBAAkB,CAAC,CAAC;QACxD,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,QAAQ,CAAC;QAChE,MAAM,KAAK,GAAG,CACZ,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,0BAA0B,CAAC,CAAC,KAAK,CAC/D,GAAG,CACJ,CAAC,CAAC,CAAC,IAAI,0BAA0B,CACnC;aACE,IAAI,EAAE;aACN,WAAW,EAAE,CAAC;QACjB,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,QAAQ,GACZ,qCAAqC,CAAC,IAAI,CAAC,KAAK,CAAC;YACjD,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACrB,CAAC,CAAC,CAAC,MAAM,CAAC;gBACV,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;oBACrB,CAAC,CAAC,CAAC,MAAM,CAAC;oBACV,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;wBACtB,CAAC,CAAC,CAAC,OAAO,CAAC;wBACX,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;4BACrB,CAAC,CAAC,CAAC,MAAM,CAAC;4BACV,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;gCACtB,CAAC,CAAC,CAAC,OAAO,CAAC;gCACX,CAAC,CAAC,IAAI,CAAC,CAAC;QACpB,MAAM,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QACpD,MAAM,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;QAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/C,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC3B,CAAC;QACD,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;YACjB,EAAE,EAAE,IAAI;YACR,EAAE;YACF,KAAK;YACL,SAAS;YACT,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC;YACpB,KAAK,EAAE,GAAG,IAAI,UAAU,kBAAkB,CAAC,EAAE,CAAC,EAAE;SACjD,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,KAAK,GAAG,IAAI,aAAa,EAAE,CAAC;QAC/B,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,KAAK;YAAE,MAAM,aAAa,CAAC,GAAG,CAAC,CAAC;QACpE,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;YACjB,EAAE,EAAE,IAAI;YACR,SAAS,EAAE,SAAS,CAAC,OAAO,CAAC;YAC7B,IAAI,EAAE,yFAAyF;SAChG,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,KAAK,GAAG,IAAI,SAAS,EAAE,CAAC;QAC3B,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YAC1C,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,CAAC;YACtC,MAAM,EAAE,GAAG,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACrE,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9C,IAAI,EAAE,IAAI,UAAU,CAAC,GAAG,CAAC;gBAAE,UAAU,CAAC,GAAG,CAAC,CAAC;YAC3C,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YACrC,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,2EAA2E;IAC3E,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,WAAW,CAAC,EAAE,CAAC;QACvE,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,SAAS,CAAC;YAC3C,CAAC,CAAC,GAAG,IAAI,SAAS;YAClB,CAAC,CAAC,GAAG,IAAI,WAAW,CAAC;QACvB,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;gBACjB,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,iBAAiB;gBACxB,IAAI,EAAE,4GAA4G;aACnH,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;QACD,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,2EAA2E;IAC3E,IACE,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,cAAc,CAAC;QACnC,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,sBAAsB,CAAC;QAC3C,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,aAAa,CAAC;QAClC,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,iBAAiB,CAAC,EACtC,CAAC;QACD,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,sBAAsB,CAAC,EAAE,CAAC;YAChD,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;gBACjB,EAAE,EAAE,IAAI;gBACR,OAAO,EAAE,GAAG;gBACZ,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,4DAA4D;aACnE,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,CACJ,GAAG,EACH,0DAA0D,EAC1D,EAAE,IAAI,EAAE,CAAC,EAAE,CACZ,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,2EAA2E;IAC3E,IACE,CAAC,KAAK,GAAG,IAAI,eAAe;QAC5B,CAAC,KAAK,GAAG,IAAI,iBAAiB;QAC9B,CAAC,KAAK,GAAG,IAAI,cAAc;QAC3B,CAAC,KAAK,GAAG,IAAI,gBAAgB,EAC7B,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,iBAAiB,EAAE,CAAC;YACnC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;gBACjB,EAAE,EAAE,IAAI;gBACR,KAAK,EAAE,EAAE;gBACT,IAAI,EAAE,uCAAuC;aAC9C,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,gBAAgB,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,KAAK,CAAC,EAAE,CAAC;YAC7E,MAAM,aAAa,CAAC,GAAG,CAAC,CAAC;YACzB,MAAM,CAAC,GAAG,EAAE,wDAAwD,CAAC,CAAC;YACtE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,cAAc,EAAE,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,sBAAsB,CAAC,EAAE,CAAC;QAChD,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,2EAA2E;IAC3E,IAAI,CAAC,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;QACjC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;YACjB,EAAE,EAAE,IAAI;YACR,KAAK,EAAE,EAAE;YACT,IAAI,EAAE,kFAAkF;SACzF,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC;QAC7B,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,4BAA4B,EAAE,CAAC,CAAC;QAC/E,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,KAAK,GAAG,IAAI,gBAAgB,IAAI,CAAC,KAAK,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACrE,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;YACjB,EAAE,EAAE,IAAI;YACR,OAAO,EAAE,EAAE;YACX,IAAI,EAAE,mEAAmE;SAC1E,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IACE,CAAC,KAAK,GAAG,IAAI,SAAS;QACtB,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,UAAU,CAAC;QAC/B,CAAC,KAAK,GAAG,IAAI,SAAS;QACtB,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,UAAU,CAAC;QAC/B,CAAC,KAAK,GAAG,IAAI,WAAW;QACxB,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,YAAY,CAAC,EACjC,CAAC;QACD,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YAC1C,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,KAAK;YAAE,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC/D,MAAM,CAAC,GAAG,EAAE,gDAAgD,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QAC3E,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IACE,CAAC,KAAK,GAAG,IAAI,OAAO;QACpB,CAAC,KAAK,GAAG,IAAI,WAAW;QACxB,CAAC,KAAK,GAAG,IAAI,cAAc;QAC3B,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,OAAO,CAAC,EAC5B,CAAC;QACD,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;YACjB,EAAE,EAAE,IAAI;YACR,MAAM,EAAE,eAAe;YACvB,UAAU,EAAE,EAAE;YACd,IAAI,EAAE,iEAAiE;SACxE,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,KAAK,GAAG,IAAI,YAAY,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,aAAa,CAAC,EAAE,CAAC;QACpE,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,KAAK;YAAE,MAAM,aAAa,CAAC,GAAG,CAAC,CAAC;QACpE,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;YACjB,EAAE,EAAE,IAAI;YACR,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC;YAC3B,IAAI,EAAE,uEAAuE;SAC9E,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,KAAK,GAAG,IAAI,gBAAgB,IAAI,CAAC,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;QAClE,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,KAAK;YAAE,MAAM,aAAa,CAAC,GAAG,CAAC,CAAC;QACpE,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;YACjB,EAAE,EAAE,IAAI;YACR,iBAAiB,EAAE,KAAK;YACxB,WAAW,EAAE,IAAI;YACjB,WAAW,EAAE,IAAI;YACjB,IAAI,EAAE,2EAA2E;SAClF,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IACE,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,aAAa,CAAC;QAClC,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,cAAc,CAAC;QACnC,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,cAAc,CAAC;QACnC,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,cAAc,CAAC;QACnC,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,yBAAyB,CAAC;QAC9C,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,SAAS,CAAC,EAC9B,CAAC;QACD,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,yBAAyB,CAAC,EAAE,CAAC;YACnD,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3D,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,CACJ,GAAG,EACH,2EAA2E,EAC3E,EAAE,IAAI,EAAE,CAAC,EAAE,CACZ,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,KAAK,GAAG,IAAI,YAAY,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,YAAY,CAAC,EAAE,CAAC;QACnE,MAAM,CAAC,GAAG,EAAE,mDAAmD,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9E,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,KAAK,GAAG,IAAI,aAAa,IAAI,CAAC,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC;QAC3D,MAAM,CAAC,GAAG,EAAE,yCAAyC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QACpE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,KAAK,mBAAmB,IAAI,CAAC,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;QACpE,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;YACjB,EAAE,EAAE,KAAK;YACT,SAAS,EAAE,KAAK;YAChB,KAAK,EAAE,EAAE;YACT,IAAI,EAAE,0DAA0D;SACjE,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,KAAK;QAAE,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC/D,MAAM,CAAC,GAAG,EAAE,gDAAgD,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3E,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"wire-normalize.d.ts","sourceRoot":"","sources":["../../src/dsh-compat/wire-normalize.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE/D,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,oBAAoB,GAAG;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE;QACrB,QAAQ,CAAC,cAAc,CAAC,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;QACjE,QAAQ,CAAC,YAAY,CAAC,EAAE,oBAAoB,CAAC,cAAc,CAAC,CAAC;QAC7D,QAAQ,CAAC,kBAAkB,CAAC,EAAE,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;KAC1E,CAAC;IACF,QAAQ,CAAC,gBAAgB,CAAC,EAAE;QAC1B,QAAQ,CAAC,aAAa,CAAC,EAAE,oBAAoB,CAAC,eAAe,CAAC,CAAC;KAChE,CAAC;CACH,GACA,oBAAoB,CAgCtB"}
1
+ {"version":3,"file":"wire-normalize.d.ts","sourceRoot":"","sources":["../../src/dsh-compat/wire-normalize.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE/D,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,oBAAoB,GAAG;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE;QACrB,QAAQ,CAAC,cAAc,CAAC,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;QACjE,QAAQ,CAAC,YAAY,CAAC,EAAE,oBAAoB,CAAC,cAAc,CAAC,CAAC;QAC7D,QAAQ,CAAC,kBAAkB,CAAC,EAAE,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;KAC1E,CAAC;IACF,QAAQ,CAAC,gBAAgB,CAAC,EAAE;QAC1B,QAAQ,CAAC,aAAa,CAAC,EAAE,oBAAoB,CAAC,eAAe,CAAC,CAAC;KAChE,CAAC;CACH,GACA,oBAAoB,CAmCtB"}
@@ -17,6 +17,9 @@ export function normalizeDshCompatWireCtx(ctx) {
17
17
  ...(listUsageProviders ? { listUsageProviders } : {}),
18
18
  ...(onJobAccepted ? { onJobAccepted } : {}),
19
19
  ...(ctx.walletPort ? { walletPort: ctx.walletPort } : {}),
20
+ ...(ctx.resolveCommunityLiveMeter
21
+ ? { resolveCommunityLiveMeter: ctx.resolveCommunityLiveMeter }
22
+ : {}),
20
23
  ...(ctx.face ? { face: ctx.face } : {}),
21
24
  ...(ctx.sidebarFace ? { sidebarFace: ctx.sidebarFace } : {}),
22
25
  ...(ctx.policy ? { policy: ctx.policy } : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"wire-normalize.js","sourceRoot":"","sources":["../../src/dsh-compat/wire-normalize.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,yBAAyB,CACvC,GASC;IAED,MAAM,MAAM,GAAG,GAAG,CAAC,WAAW,CAAC;IAC/B,MAAM,cAAc,GAAG,GAAG,CAAC,cAAc,IAAI,MAAM,EAAE,cAAc,CAAC;IACpE,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,IAAI,MAAM,EAAE,YAAY,CAAC;IAC9D,MAAM,kBAAkB,GACtB,GAAG,CAAC,kBAAkB,IAAI,MAAM,EAAE,kBAAkB,CAAC;IACvD,MAAM,aAAa,GACjB,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,gBAAgB,EAAE,aAAa,CAAC;IAE3D,OAAO;QACL,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,GAAG,CAAC,GAAG,CAAC,iBAAiB;YACvB,CAAC,CAAC,EAAE,iBAAiB,EAAE,GAAG,CAAC,iBAAiB,EAAE;YAC9C,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,GAAG,CAAC,GAAG,CAAC,gBAAgB;YACtB,CAAC,CAAC,EAAE,gBAAgB,EAAE,GAAG,CAAC,gBAAgB,EAAE;YAC5C,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,GAAG,CAAC,wBAAwB;YAC9B,CAAC,CAAC,EAAE,wBAAwB,EAAE,GAAG,CAAC,wBAAwB,EAAE;YAC5D,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"wire-normalize.js","sourceRoot":"","sources":["../../src/dsh-compat/wire-normalize.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,yBAAyB,CACvC,GASC;IAED,MAAM,MAAM,GAAG,GAAG,CAAC,WAAW,CAAC;IAC/B,MAAM,cAAc,GAAG,GAAG,CAAC,cAAc,IAAI,MAAM,EAAE,cAAc,CAAC;IACpE,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,IAAI,MAAM,EAAE,YAAY,CAAC;IAC9D,MAAM,kBAAkB,GACtB,GAAG,CAAC,kBAAkB,IAAI,MAAM,EAAE,kBAAkB,CAAC;IACvD,MAAM,aAAa,GACjB,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,gBAAgB,EAAE,aAAa,CAAC;IAE3D,OAAO;QACL,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,GAAG,CAAC,GAAG,CAAC,iBAAiB;YACvB,CAAC,CAAC,EAAE,iBAAiB,EAAE,GAAG,CAAC,iBAAiB,EAAE;YAC9C,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,GAAG,CAAC,GAAG,CAAC,yBAAyB;YAC/B,CAAC,CAAC,EAAE,yBAAyB,EAAE,GAAG,CAAC,yBAAyB,EAAE;YAC9D,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,GAAG,CAAC,GAAG,CAAC,gBAAgB;YACtB,CAAC,CAAC,EAAE,gBAAgB,EAAE,GAAG,CAAC,gBAAgB,EAAE;YAC5C,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,GAAG,CAAC,wBAAwB;YAC9B,CAAC,CAAC,EAAE,wBAAwB,EAAE,GAAG,CAAC,wBAAwB,EAAE;YAC5D,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"workbuddy-host.d.ts","sourceRoot":"","sources":["../../src/dsh-compat/workbuddy-host.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,sBAAsB,EACtB,oBAAoB,EACrB,MAAM,oBAAoB,CAAC;AAM5B,OAAO,EASL,KAAK,uBAAuB,EAC7B,MAAM,8BAA8B,CAAC;AAmBtC,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAEtE;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAC1C,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,MAAM,GAAG,SAAS,CAepB;AAOD,KAAK,oBAAoB,GAAG;IAC1B,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,OAAO,EAAE,CAAC,CAAC;IAC/D,OAAO,CAAC,EAAE,uBAAuB,CAAC;CACnC,CAAC;AAEF;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,oBAAoB,EAC7B,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GAC1C,OAAO,CAAC,SAAS,OAAO,EAAE,CAAC,CAE7B;AA6BD;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,SAAS,OAAO,EAAE,GACzB,OAAO,CAQT;AASD;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,oBAAoB,GACzB,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC,CAoY7C"}
1
+ {"version":3,"file":"workbuddy-host.d.ts","sourceRoot":"","sources":["../../src/dsh-compat/workbuddy-host.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,sBAAsB,EACtB,oBAAoB,EACrB,MAAM,oBAAoB,CAAC;AAM5B,OAAO,EASL,KAAK,uBAAuB,EAC7B,MAAM,8BAA8B,CAAC;AAoBtC,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAEtE;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAC1C,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,MAAM,GAAG,SAAS,CAepB;AAOD,KAAK,oBAAoB,GAAG;IAC1B,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,OAAO,EAAE,CAAC,CAAC;IAC/D,OAAO,CAAC,EAAE,uBAAuB,CAAC;CACnC,CAAC;AAEF;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,oBAAoB,EAC7B,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GAC1C,OAAO,CAAC,SAAS,OAAO,EAAE,CAAC,CAE7B;AA6BD;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,SAAS,OAAO,EAAE,GACzB,OAAO,CAQT;AASD;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,oBAAoB,GACzB,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC,CAoY7C"}
@@ -13,11 +13,12 @@ import { DSH_COMPAT_ADAPTER } from "./meta.js";
13
13
  import { ensureHostModuleRemap } from "./host-module-remap.js";
14
14
  import { resolveCompatHome } from "./underlying/json-store.js";
15
15
  import { gateLiveHostHttp, gateLiveHostRpc, registerLiveHostApply, } from "./live-host-apply.js";
16
+ import { isPluginPackageFamily } from "./plugin-package-id.js";
16
17
  const WORKBUDDY_PACKAGE = "dsh-workbuddy-connect";
17
18
  /** Plugin env that skips Windows registry discovery for the international app. */
18
19
  const WORKBUDDY_AI_ELECTRON_BIN = "WORKBUDDY_AI_ELECTRON_BIN";
19
20
  export function isWorkBuddyConnectPackage(packageName) {
20
- return packageName.trim() === WORKBUDDY_PACKAGE;
21
+ return isPluginPackageFamily(packageName, WORKBUDDY_PACKAGE);
21
22
  }
22
23
  export function hasWorkBuddyHostLib(pkgRoot) {
23
24
  return existsSync(path.join(pkgRoot, "lib", "index.js"));