@dipoleml/dcode-cli 1.0.0 → 1.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.
Files changed (447) hide show
  1. package/dist/THIRD-PARTY-NOTICES.md +1081 -12
  2. package/dist/dcode.cjs +59155 -45279
  3. package/dist/packages/browser-use-plugin/README.md +12 -12
  4. package/dist/packages/browser-use-plugin/docs/api.json +1 -1
  5. package/dist/packages/browser-use-plugin/docs/overview.md +5 -4
  6. package/dist/packages/browser-use-plugin/docs/workflow.md +1 -1
  7. package/dist/packages/browser-use-plugin/scripts/build.mjs +1 -0
  8. package/dist/packages/browser-use-plugin/skills/control-browser/SKILL.md +10 -7
  9. package/dist/packages/bundled-skills/skills/dynamic-workflows/SKILL.md +760 -687
  10. package/dist/packages/bundled-skills/skills/dynamic-workflows/examples.md +310 -1
  11. package/dist/packages/bundled-skills/skills/dynamic-workflows/patterns.md +336 -4
  12. package/dist/packages/node-repl-host/.dcode-plugin/plugin.json +1 -1
  13. package/dist/packages/node-repl-host/dist/mcp/server.js +9 -14
  14. package/dist/packages/node-repl-host/scripts/build.mjs +1 -0
  15. package/dist/provider/dcode-builtin.json +6544 -183
  16. package/node_modules/@dcode/contracts/dist/compact/index.d.ts +7 -7
  17. package/node_modules/@dcode/contracts/dist/config/index.d.ts +1 -1
  18. package/node_modules/@dcode/contracts/dist/events/event-reducer.js +1 -0
  19. package/node_modules/@dcode/contracts/dist/events/in-memory-session-event-store.js +3 -2
  20. package/node_modules/@dcode/contracts/dist/events/session-event-retention.d.ts +8 -0
  21. package/node_modules/@dcode/contracts/dist/events/session-event-retention.js +18 -0
  22. package/node_modules/@dcode/contracts/dist/events/session.events.d.ts +94 -16
  23. package/node_modules/@dcode/contracts/dist/events/session.events.js +10 -0
  24. package/node_modules/@dcode/contracts/dist/hooks/index.d.ts +134 -134
  25. package/node_modules/@dcode/contracts/dist/hooks/workspace-hook-trust.d.ts +14 -14
  26. package/node_modules/@dcode/contracts/dist/index.d.ts +2 -0
  27. package/node_modules/@dcode/contracts/dist/index.js +2 -0
  28. package/node_modules/@dcode/contracts/dist/interfaces/browser-control.port.d.ts +22 -0
  29. package/node_modules/@dcode/contracts/dist/interfaces/dynamic-workflow-run-hole.port.d.ts +92 -0
  30. package/node_modules/@dcode/contracts/dist/interfaces/dynamic-workflow-run-hole.port.js +9 -0
  31. package/node_modules/@dcode/contracts/dist/interfaces/dynamic-workflow-run-retune.port.d.ts +4 -4
  32. package/node_modules/@dcode/contracts/dist/interfaces/dynamic-workflow-run-retune.port.js +7 -3
  33. package/node_modules/@dcode/contracts/dist/interfaces/dynamic-workflow-run-workspace.port.js +8 -3
  34. package/node_modules/@dcode/contracts/dist/interfaces/dynamic-workflow-run.port.d.ts +119 -18
  35. package/node_modules/@dcode/contracts/dist/interfaces/dynamic-workflow-run.port.js +13 -0
  36. package/node_modules/@dcode/contracts/dist/interfaces/index.d.ts +1 -0
  37. package/node_modules/@dcode/contracts/dist/interfaces/index.js +1 -0
  38. package/node_modules/@dcode/contracts/dist/interfaces/mcp.port.d.ts +161 -1
  39. package/node_modules/@dcode/contracts/dist/interfaces/mcp.port.js +17 -0
  40. package/node_modules/@dcode/contracts/dist/interfaces/permission-full-access.d.ts +15 -15
  41. package/node_modules/@dcode/contracts/dist/interfaces/permission-full-access.js +1 -1
  42. package/node_modules/@dcode/contracts/dist/interfaces/permission.port.d.ts +15 -1
  43. package/node_modules/@dcode/contracts/dist/interfaces/provider-endpoint-routing.port.d.ts +19 -0
  44. package/node_modules/@dcode/contracts/dist/interfaces/provider-endpoint-routing.port.js +1 -0
  45. package/node_modules/@dcode/contracts/dist/interfaces/session-store.port.d.ts +4 -2
  46. package/node_modules/@dcode/contracts/dist/interfaces/session-store.port.js +5 -0
  47. package/node_modules/@dcode/contracts/dist/interfaces/session.port.d.ts +92 -3
  48. package/node_modules/@dcode/contracts/dist/interfaces/session.port.js +4 -1
  49. package/node_modules/@dcode/contracts/dist/interfaces/topic-resource.port.d.ts +25 -0
  50. package/node_modules/@dcode/contracts/dist/interfaces/topic-resource.port.js +1 -0
  51. package/node_modules/@dcode/contracts/dist/model/index.d.ts +15 -1
  52. package/node_modules/@dcode/contracts/dist/model/index.js +5 -0
  53. package/node_modules/@dcode/contracts/dist/model/invocation-context.d.ts +6 -1
  54. package/node_modules/@dcode/contracts/dist/plugins/index.d.ts +23 -0
  55. package/node_modules/@dcode/contracts/dist/plugins/index.js +2 -1
  56. package/node_modules/@dcode/contracts/dist/telemetry/agent-execution.d.ts +2 -0
  57. package/node_modules/@dcode/contracts/dist/telemetry/agent-execution.js +2 -0
  58. package/node_modules/@dcode/contracts/dist/telemetry/index.d.ts +5 -1
  59. package/node_modules/@dcode/contracts/dist/telemetry/index.js +12 -0
  60. package/node_modules/@dcode/contracts/dist/tools/agent.d.ts +12 -12
  61. package/node_modules/@dcode/contracts/dist/tools/amend-workflow.d.ts +39 -15
  62. package/node_modules/@dcode/contracts/dist/tools/amend-workflow.js +12 -6
  63. package/node_modules/@dcode/contracts/dist/tools/automation.d.ts +32 -32
  64. package/node_modules/@dcode/contracts/dist/tools/automation.js +1 -1
  65. package/node_modules/@dcode/contracts/dist/tools/bash.d.ts +16 -16
  66. package/node_modules/@dcode/contracts/dist/tools/bash.js +1 -1
  67. package/node_modules/@dcode/contracts/dist/tools/create-workflow.d.ts +365 -66
  68. package/node_modules/@dcode/contracts/dist/tools/create-workflow.js +92 -11
  69. package/node_modules/@dcode/contracts/dist/tools/edit.d.ts +16 -16
  70. package/node_modules/@dcode/contracts/dist/tools/eval-workflow-snippet.d.ts +6 -6
  71. package/node_modules/@dcode/contracts/dist/tools/eval-workflow-snippet.js +5 -1
  72. package/node_modules/@dcode/contracts/dist/tools/fill-workflow-hole.d.ts +729 -0
  73. package/node_modules/@dcode/contracts/dist/tools/fill-workflow-hole.js +102 -0
  74. package/node_modules/@dcode/contracts/dist/tools/get-workflow-run.d.ts +136 -28
  75. package/node_modules/@dcode/contracts/dist/tools/get-workflow-run.js +36 -0
  76. package/node_modules/@dcode/contracts/dist/tools/grep.d.ts +4 -4
  77. package/node_modules/@dcode/contracts/dist/tools/grep.js +4 -0
  78. package/node_modules/@dcode/contracts/dist/tools/index.d.ts +2 -0
  79. package/node_modules/@dcode/contracts/dist/tools/index.js +4 -0
  80. package/node_modules/@dcode/contracts/dist/tools/list-saved-workflows.d.ts +8 -8
  81. package/node_modules/@dcode/contracts/dist/tools/list-workflow-runs.d.ts +8 -8
  82. package/node_modules/@dcode/contracts/dist/tools/node-repl.d.ts +2 -2
  83. package/node_modules/@dcode/contracts/dist/tools/off-peak.d.ts +3 -3
  84. package/node_modules/@dcode/contracts/dist/tools/off-peak.js +2 -2
  85. package/node_modules/@dcode/contracts/dist/tools/performance.d.ts +22 -22
  86. package/node_modules/@dcode/contracts/dist/tools/plan-mode.d.ts +12 -12
  87. package/node_modules/@dcode/contracts/dist/tools/plan-mode.js +6 -4
  88. package/node_modules/@dcode/contracts/dist/tools/read-session-context.d.ts +86 -13
  89. package/node_modules/@dcode/contracts/dist/tools/read-session-context.js +37 -6
  90. package/node_modules/@dcode/contracts/dist/tools/read.d.ts +38 -38
  91. package/node_modules/@dcode/contracts/dist/tools/save-workflow.d.ts +21 -10
  92. package/node_modules/@dcode/contracts/dist/tools/save-workflow.js +22 -2
  93. package/node_modules/@dcode/contracts/dist/tools/saved-workflow.d.ts +4 -4
  94. package/node_modules/@dcode/contracts/dist/tools/send-message.d.ts +2 -2
  95. package/node_modules/@dcode/contracts/dist/tools/skill.js +1 -0
  96. package/node_modules/@dcode/contracts/dist/tools/task-output.d.ts +6 -6
  97. package/node_modules/@dcode/contracts/dist/tools/tool-result-metadata.d.ts +1228 -259
  98. package/node_modules/@dcode/contracts/dist/tools/tool-result-metadata.js +41 -0
  99. package/node_modules/@dcode/contracts/dist/tools/webfetch.d.ts +2 -2
  100. package/node_modules/@dcode/contracts/dist/tools/workflow-observation-display.d.ts +20 -20
  101. package/node_modules/@dcode/contracts/dist/tools/workflow-settings.d.ts +55 -0
  102. package/node_modules/@dcode/contracts/dist/tools/workflow-settings.js +86 -0
  103. package/node_modules/@dcode/contracts/dist/tools/workflow.d.ts +8 -8
  104. package/node_modules/@dcode/contracts/dist/tools/write.d.ts +18 -18
  105. package/node_modules/@dcode/contracts/dist/workflow/index.d.ts +98 -98
  106. package/node_modules/@dcode/contracts/dist/workflow/script.d.ts +12 -12
  107. package/node_modules/@dcode/i18n/dist/index.js +2 -2
  108. package/node_modules/@dcode/i18n/dist/locale.d.ts +1 -1
  109. package/node_modules/@dcode/i18n/dist/locale.js +4 -4
  110. package/node_modules/@dcode/i18n/dist/locales/en-US.js +5 -5
  111. package/node_modules/@dcode/i18n/dist/locales/fr-CA.d.ts +3 -0
  112. package/node_modules/@dcode/i18n/dist/locales/fr-CA.js +354 -0
  113. package/node_modules/@dcode/model-option-map/package.json +1 -1
  114. package/node_modules/@dcode/shared/dist/api-key-usage-scene.d.ts +7 -0
  115. package/node_modules/@dcode/shared/dist/api-key-usage-scene.js +6 -0
  116. package/node_modules/@dcode/shared/dist/attachment-source.d.ts +8 -0
  117. package/node_modules/@dcode/shared/dist/attachment-source.js +4 -0
  118. package/node_modules/@dcode/shared/dist/background-bash-output.d.ts +4 -4
  119. package/node_modules/@dcode/shared/dist/bots.d.ts +759 -11
  120. package/node_modules/@dcode/shared/dist/bots.js +236 -2
  121. package/node_modules/@dcode/shared/dist/browser-use/command-metadata.d.ts +2 -2
  122. package/node_modules/@dcode/shared/dist/browser-use/commands.d.ts +4 -3
  123. package/node_modules/@dcode/shared/dist/browser-use/commands.js +3 -1
  124. package/node_modules/@dcode/shared/dist/browser-use/nodeReplBroker.d.ts +5 -4
  125. package/node_modules/@dcode/shared/dist/browser-use/result.d.ts +6 -6
  126. package/node_modules/@dcode/shared/dist/channel-mention.d.ts +173 -0
  127. package/node_modules/@dcode/shared/dist/channel-mention.js +120 -0
  128. package/node_modules/@dcode/shared/dist/channels.d.ts +128 -1
  129. package/node_modules/@dcode/shared/dist/channels.js +66 -0
  130. package/node_modules/@dcode/shared/dist/clientConfig.d.ts +1 -0
  131. package/node_modules/@dcode/shared/dist/clientConfig.js +18 -2
  132. package/node_modules/@dcode/shared/dist/cloudContent.d.ts +160 -0
  133. package/node_modules/@dcode/shared/dist/cloudContent.js +116 -0
  134. package/node_modules/@dcode/shared/dist/coding-plan-subscription.d.ts +59 -0
  135. package/node_modules/@dcode/shared/dist/conversation-message-projection-policy.js +2 -0
  136. package/node_modules/@dcode/shared/dist/conversation-share.d.ts +378 -74
  137. package/node_modules/@dcode/shared/dist/conversation-share.js +8 -6
  138. package/node_modules/@dcode/shared/dist/conversationSelection.d.ts +23 -0
  139. package/node_modules/@dcode/shared/dist/conversationSelection.js +30 -0
  140. package/node_modules/@dcode/shared/dist/database-startup.d.ts +5 -5
  141. package/node_modules/@dcode/shared/dist/dcode-agent-model-state.js +14 -6
  142. package/node_modules/@dcode/shared/dist/dcode-agent-policy.d.ts +16 -1
  143. package/node_modules/@dcode/shared/dist/dcode-agent-policy.js +17 -1
  144. package/node_modules/@dcode/shared/dist/dcode-agent-runtime.js +1 -1
  145. package/node_modules/@dcode/shared/dist/dcode-protocol/index.d.ts +3215 -1800
  146. package/node_modules/@dcode/shared/dist/dcode-protocol/index.js +555 -24
  147. package/node_modules/@dcode/shared/dist/dcode-protocol/trace.d.ts +9 -0
  148. package/node_modules/@dcode/shared/dist/dcode-protocol/trace.js +10 -0
  149. package/node_modules/@dcode/shared/dist/dcode-protocol-legacy-types.d.ts +30 -20
  150. package/node_modules/@dcode/shared/dist/dcode-protocol-legacy-types.js +3 -1
  151. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/apply.js +12 -3
  152. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/attachment-ref.d.ts +5 -0
  153. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/attachment-ref.js +3 -0
  154. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/coalesce.d.ts +3 -1
  155. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/coalesce.js +3 -1
  156. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/command.d.ts +388 -57
  157. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/command.js +67 -45
  158. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/controller.d.ts +208 -103
  159. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/create-session-config.d.ts +20 -0
  160. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/create-session-config.js +15 -0
  161. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/create-workflow-display.d.ts +34 -0
  162. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/create-workflow-display.js +45 -1
  163. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/delta.d.ts +1453 -278
  164. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/delta.js +45 -2
  165. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/index.d.ts +1 -0
  166. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/index.js +1 -0
  167. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/input-intent.d.ts +173 -6
  168. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/input-intent.js +29 -0
  169. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/rows.d.ts +731 -125
  170. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/rows.js +23 -11
  171. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/sessions-index-workflow-activity.d.ts +30 -11
  172. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/sessions-index-workflow-activity.js +35 -3
  173. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/sessions-index.d.ts +40 -25
  174. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/snapshot.d.ts +1444 -216
  175. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/snapshot.js +3 -0
  176. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/submission.d.ts +1 -0
  177. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/submission.js +1 -1
  178. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/telemetry.d.ts +62 -58
  179. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/toolDisplay.d.ts +185 -50
  180. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/toolDisplay.js +31 -3
  181. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/transport.d.ts +7728 -1585
  182. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/transport.js +18 -5
  183. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/wire-assembler.js +2 -1
  184. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/wire-fault.js +4 -1
  185. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/wire-reassembly.js +5 -3
  186. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-artifacts.d.ts +29 -1
  187. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-artifacts.js +64 -4
  188. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-command-rejections.d.ts +13 -0
  189. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-command-rejections.js +23 -0
  190. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-observation-display.d.ts +14 -14
  191. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-row-meta.d.ts +52 -8
  192. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-row-meta.js +22 -3
  193. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-run-settings-command.d.ts +4 -4
  194. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-run-settings-command.js +2 -2
  195. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-runs-actor-session.d.ts +21 -0
  196. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-runs-actor-session.js +44 -0
  197. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-runs-actor-status.d.ts +1 -1
  198. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-runs-actor-status.js +3 -2
  199. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-runs-caps.js +5 -4
  200. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-runs-concurrency.d.ts +26 -19
  201. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-runs-concurrency.js +40 -32
  202. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-runs-delta.d.ts +4 -3
  203. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-runs-delta.js +4 -3
  204. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-runs-entries.d.ts +12 -2
  205. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-runs-entries.js +44 -6
  206. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-runs-eviction.d.ts +2 -2
  207. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-runs-eviction.js +17 -10
  208. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-runs-holes.d.ts +33 -0
  209. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-runs-holes.js +202 -0
  210. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-runs-legacy.d.ts +1 -1
  211. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-runs-legacy.js +1 -1
  212. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-runs-phases.js +10 -1
  213. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-runs-reducer.d.ts +1 -1
  214. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-runs-reducer.js +29 -22
  215. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-runs-started.js +5 -2
  216. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-runs-tables.js +2 -1
  217. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-runs-unlisted.js +6 -3
  218. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-runs.d.ts +125 -40
  219. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-runs.js +101 -26
  220. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-workspace.d.ts +4 -4
  221. package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workspace-hook-review.d.ts +1 -1
  222. package/node_modules/@dcode/shared/dist/dcode-session-content-profile.d.ts +5 -0
  223. package/node_modules/@dcode/shared/dist/dcode-session-content-profile.js +49 -0
  224. package/node_modules/@dcode/shared/dist/dcode-slash-command-help.js +4 -4
  225. package/node_modules/@dcode/shared/dist/dcode-task-mode-schema.d.ts +6 -1
  226. package/node_modules/@dcode/shared/dist/dcode-task-mode-schema.js +13 -1
  227. package/node_modules/@dcode/shared/dist/dcode-task-types-core.d.ts +12 -2
  228. package/node_modules/@dcode/shared/dist/dcode-task-types.d.ts +23 -0
  229. package/node_modules/@dcode/shared/dist/dcodeEndpoint.d.ts +22 -1
  230. package/node_modules/@dcode/shared/dist/dcodeEndpoint.js +102 -17
  231. package/node_modules/@dcode/shared/dist/desktopMenu.js +48 -48
  232. package/node_modules/@dcode/shared/dist/dynamic-workflow-feature.d.ts +35 -6
  233. package/node_modules/@dcode/shared/dist/dynamic-workflow-feature.js +45 -6
  234. package/node_modules/@dcode/shared/dist/env.d.ts +5 -4
  235. package/node_modules/@dcode/shared/dist/env.js +9 -9
  236. package/node_modules/@dcode/shared/dist/errors.d.ts +24 -0
  237. package/node_modules/@dcode/shared/dist/errors.js +54 -0
  238. package/node_modules/@dcode/shared/dist/execution-state.d.ts +4 -2
  239. package/node_modules/@dcode/shared/dist/execution-state.js +1 -1
  240. package/node_modules/@dcode/shared/dist/feedback.d.ts +1 -1
  241. package/node_modules/@dcode/shared/dist/gen-ui/contract.d.ts +140 -0
  242. package/node_modules/@dcode/shared/dist/gen-ui/contract.example.d.ts +5 -0
  243. package/node_modules/@dcode/shared/dist/gen-ui/contract.example.js +36 -0
  244. package/node_modules/@dcode/shared/dist/gen-ui/contract.js +196 -0
  245. package/node_modules/@dcode/shared/dist/gen-ui/contract.test.d.ts +2 -0
  246. package/node_modules/@dcode/shared/dist/gen-ui/contract.test.js +75 -0
  247. package/node_modules/@dcode/shared/dist/gen-ui/index.d.ts +2 -0
  248. package/node_modules/@dcode/shared/dist/gen-ui/index.js +2 -0
  249. package/node_modules/@dcode/shared/dist/gen-ui/module.d.ts +7 -0
  250. package/node_modules/@dcode/shared/dist/gen-ui/module.js +7 -0
  251. package/node_modules/@dcode/shared/dist/gen-ui/tweakProtocol.d.ts +202 -0
  252. package/node_modules/@dcode/shared/dist/gen-ui/tweakProtocol.js +126 -0
  253. package/node_modules/@dcode/shared/dist/helpAppConfig.d.ts +1 -1
  254. package/node_modules/@dcode/shared/dist/helpAppConfig.js +2 -2
  255. package/node_modules/@dcode/shared/dist/highspeed.d.ts +181 -0
  256. package/node_modules/@dcode/shared/dist/highspeed.js +112 -0
  257. package/node_modules/@dcode/shared/dist/index.d.ts +27 -5
  258. package/node_modules/@dcode/shared/dist/index.js +24 -2
  259. package/node_modules/@dcode/shared/dist/localTtft.d.ts +27 -27
  260. package/node_modules/@dcode/shared/dist/marketingTouch.d.ts +930 -0
  261. package/node_modules/@dcode/shared/dist/marketingTouch.js +170 -0
  262. package/node_modules/@dcode/shared/dist/mcp-apps/appTools.d.ts +83 -0
  263. package/node_modules/@dcode/shared/dist/mcp-apps/appTools.js +124 -0
  264. package/node_modules/@dcode/shared/dist/mcp-apps/content.d.ts +4 -0
  265. package/node_modules/@dcode/shared/dist/mcp-apps/content.js +8 -0
  266. package/node_modules/@dcode/shared/dist/mcp-apps/contract.d.ts +241 -0
  267. package/node_modules/@dcode/shared/dist/mcp-apps/contract.example.d.ts +31 -0
  268. package/node_modules/@dcode/shared/dist/mcp-apps/contract.example.js +42 -0
  269. package/node_modules/@dcode/shared/dist/mcp-apps/contract.js +101 -0
  270. package/node_modules/@dcode/shared/dist/mcp-apps/contract.test.d.ts +2 -0
  271. package/node_modules/@dcode/shared/dist/mcp-apps/contract.test.js +64 -0
  272. package/node_modules/@dcode/shared/dist/mcp-apps/hostContract.d.ts +47 -0
  273. package/node_modules/@dcode/shared/dist/mcp-apps/hostContract.js +8 -0
  274. package/node_modules/@dcode/shared/dist/mcp-apps/index.d.ts +9 -0
  275. package/node_modules/@dcode/shared/dist/mcp-apps/index.js +9 -0
  276. package/node_modules/@dcode/shared/dist/mcp-apps/instance.d.ts +10 -0
  277. package/node_modules/@dcode/shared/dist/mcp-apps/instance.js +11 -0
  278. package/node_modules/@dcode/shared/dist/mcp-apps/module.d.ts +12 -0
  279. package/node_modules/@dcode/shared/dist/mcp-apps/module.js +12 -0
  280. package/node_modules/@dcode/shared/dist/mcp-apps/resourceMime.d.ts +8 -0
  281. package/node_modules/@dcode/shared/dist/mcp-apps/resourceMime.js +73 -0
  282. package/node_modules/@dcode/shared/dist/mcp-apps/sampling.d.ts +101 -0
  283. package/node_modules/@dcode/shared/dist/mcp-apps/sampling.js +107 -0
  284. package/node_modules/@dcode/shared/dist/mcp-apps/sampling.test.d.ts +2 -0
  285. package/node_modules/@dcode/shared/dist/mcp-apps/sampling.test.js +55 -0
  286. package/node_modules/@dcode/shared/dist/mcp-apps/schemas.d.ts +78 -0
  287. package/node_modules/@dcode/shared/dist/mcp-apps/schemas.js +65 -0
  288. package/node_modules/@dcode/shared/dist/mcp-apps/toolMeta.d.ts +39 -0
  289. package/node_modules/@dcode/shared/dist/mcp-apps/toolMeta.js +199 -0
  290. package/node_modules/@dcode/shared/dist/mcp.d.ts +6 -2
  291. package/node_modules/@dcode/shared/dist/memory.d.ts +9 -0
  292. package/node_modules/@dcode/shared/dist/memory.js +2 -0
  293. package/node_modules/@dcode/shared/dist/model-execution.d.ts +31 -0
  294. package/node_modules/@dcode/shared/dist/model-execution.js +38 -0
  295. package/node_modules/@dcode/shared/dist/networkCapture.d.ts +49 -0
  296. package/node_modules/@dcode/shared/dist/networkCapture.js +41 -0
  297. package/node_modules/@dcode/shared/dist/node/genUiPaths.d.ts +6 -0
  298. package/node_modules/@dcode/shared/dist/node/genUiPaths.js +16 -0
  299. package/node_modules/@dcode/shared/dist/node/genUiPaths.test.d.ts +2 -0
  300. package/node_modules/@dcode/shared/dist/node/genUiPaths.test.js +30 -0
  301. package/node_modules/@dcode/shared/dist/node/networkCapture.d.ts +8 -0
  302. package/node_modules/@dcode/shared/dist/node/networkCapture.js +96 -0
  303. package/node_modules/@dcode/shared/dist/node/officialPluginCache.d.ts +1 -2
  304. package/node_modules/@dcode/shared/dist/node/subagentMarkdownMigration.d.ts +1 -2
  305. package/node_modules/@dcode/shared/dist/node.d.ts +2 -0
  306. package/node_modules/@dcode/shared/dist/node.js +2 -0
  307. package/node_modules/@dcode/shared/dist/output-style.d.ts +17 -0
  308. package/node_modules/@dcode/shared/dist/output-style.js +2 -0
  309. package/node_modules/@dcode/shared/dist/platform.d.ts +149 -1
  310. package/node_modules/@dcode/shared/dist/platform.js +2 -0
  311. package/node_modules/@dcode/shared/dist/platformUpdate.d.ts +61 -0
  312. package/node_modules/@dcode/shared/dist/platformUpdate.js +2 -0
  313. package/node_modules/@dcode/shared/dist/plugin-marketplaces.d.ts +5 -0
  314. package/node_modules/@dcode/shared/dist/plugin-marketplaces.js +20 -14
  315. package/node_modules/@dcode/shared/dist/project-access-token-client.d.ts +42 -0
  316. package/node_modules/@dcode/shared/dist/project-access-token-client.js +260 -0
  317. package/node_modules/@dcode/shared/dist/project-access-token-response.d.ts +4 -0
  318. package/node_modules/@dcode/shared/dist/project-access-token-response.js +9 -0
  319. package/node_modules/@dcode/shared/dist/project-access-token.d.ts +45 -0
  320. package/node_modules/@dcode/shared/dist/project-access-token.js +164 -0
  321. package/node_modules/@dcode/shared/dist/protocol.d.ts +46 -4
  322. package/node_modules/@dcode/shared/dist/protocol.js +1 -1
  323. package/node_modules/@dcode/shared/dist/provider-provisioning.d.ts +26 -2
  324. package/node_modules/@dcode/shared/dist/provider-provisioning.js +19 -3
  325. package/node_modules/@dcode/shared/dist/providers.d.ts +1 -2
  326. package/node_modules/@dcode/shared/dist/providers.js +1 -1
  327. package/node_modules/@dcode/shared/dist/remote-workspace-identity.d.ts +6 -1
  328. package/node_modules/@dcode/shared/dist/remote-workspace-identity.js +35 -1
  329. package/node_modules/@dcode/shared/dist/remoteAppConfig.js +1 -1
  330. package/node_modules/@dcode/shared/dist/remoteEnvironmentKey.js +19 -0
  331. package/node_modules/@dcode/shared/dist/remoteTarget.d.ts +14 -1
  332. package/node_modules/@dcode/shared/dist/remoteTarget.js +4 -0
  333. package/node_modules/@dcode/shared/dist/remoteUsageTelemetry.d.ts +27 -0
  334. package/node_modules/@dcode/shared/dist/remoteUsageTelemetry.js +43 -0
  335. package/node_modules/@dcode/shared/dist/rendererActionTrace.d.ts +35 -35
  336. package/node_modules/@dcode/shared/dist/request-security-edition/index.d.ts +3 -0
  337. package/node_modules/@dcode/shared/dist/request-security-edition/index.js +3 -0
  338. package/node_modules/@dcode/shared/dist/request-security-edition/policy.d.ts +3 -0
  339. package/node_modules/@dcode/shared/dist/request-security-edition/policy.js +5 -0
  340. package/node_modules/@dcode/shared/dist/request-security-edition/verification-policy.d.ts +19 -0
  341. package/node_modules/@dcode/shared/dist/request-security-edition/verification-policy.js +29 -0
  342. package/node_modules/@dcode/shared/dist/rewardsBridge.d.ts +8 -0
  343. package/node_modules/@dcode/shared/dist/rewardsBridge.js +80 -0
  344. package/node_modules/@dcode/shared/dist/rewardsEmbedded.d.ts +37 -0
  345. package/node_modules/@dcode/shared/dist/rewardsEmbedded.js +50 -0
  346. package/node_modules/@dcode/shared/dist/sessionCreateTelemetry.d.ts +3 -3
  347. package/node_modules/@dcode/shared/dist/subagent-profile-frontmatter.d.ts +10 -0
  348. package/node_modules/@dcode/shared/dist/subagent-profile-frontmatter.js +212 -0
  349. package/node_modules/@dcode/shared/dist/subagent-profile-parser.d.ts +10 -0
  350. package/node_modules/@dcode/shared/dist/subagent-profile-parser.js +200 -0
  351. package/node_modules/@dcode/shared/dist/subagent-profile.d.ts +82 -0
  352. package/node_modules/@dcode/shared/dist/subagent-profile.js +28 -0
  353. package/node_modules/@dcode/shared/dist/subagent-runtime-config.d.ts +135 -0
  354. package/node_modules/@dcode/shared/dist/subagent-runtime-config.js +39 -0
  355. package/node_modules/@dcode/shared/dist/subagents-types.d.ts +1 -1
  356. package/node_modules/@dcode/shared/dist/task-realtime-core.d.ts +57 -24
  357. package/node_modules/@dcode/shared/dist/task-realtime-core.js +8 -2
  358. package/node_modules/@dcode/shared/dist/test-ids-workflow.d.ts +4 -0
  359. package/node_modules/@dcode/shared/dist/test-ids-workflow.js +5 -0
  360. package/node_modules/@dcode/shared/dist/test-ids.d.ts +25 -0
  361. package/node_modules/@dcode/shared/dist/test-ids.js +25 -0
  362. package/node_modules/@dcode/shared/dist/tool-identity.d.ts +1 -1
  363. package/node_modules/@dcode/shared/dist/tool-identity.js +4 -0
  364. package/node_modules/@dcode/shared/dist/tool-plan-adapter.js +14 -1
  365. package/node_modules/@dcode/shared/dist/usage-stats.d.ts +13 -0
  366. package/node_modules/@dcode/shared/dist/validation.d.ts +1542 -166
  367. package/node_modules/@dcode/shared/dist/validation.js +423 -14
  368. package/node_modules/@dcode/shared/dist/validationAppSettings.d.ts +70 -14
  369. package/node_modules/@dcode/shared/dist/validationAppSettings.js +74 -12
  370. package/node_modules/@dcode/shared/dist/web-remote-control-heartbeat.d.ts +8 -0
  371. package/node_modules/@dcode/shared/dist/web-remote-control-heartbeat.js +40 -0
  372. package/node_modules/@dcode/shared/dist/web-remote-control-rpc-transport.d.ts +183 -0
  373. package/node_modules/@dcode/shared/dist/web-remote-control-rpc-transport.js +562 -0
  374. package/node_modules/@dcode/shared/dist/web-remote-control.d.ts +645 -0
  375. package/node_modules/@dcode/shared/dist/web-remote-control.js +174 -0
  376. package/node_modules/@dcode/shared/package.json +5 -2
  377. package/node_modules/@dcode/tui/dist/app-approval-panel.js +3 -2
  378. package/node_modules/@dcode/tui/dist/app-approval.d.ts +3 -1
  379. package/node_modules/@dcode/tui/dist/app-approval.js +9 -5
  380. package/node_modules/@dcode/tui/dist/app-compact-timeline.d.ts +3 -0
  381. package/node_modules/@dcode/tui/dist/app-compact-timeline.js +5 -2
  382. package/node_modules/@dcode/tui/dist/app-empty-transcript.d.ts +1 -0
  383. package/node_modules/@dcode/tui/dist/app-empty-transcript.js +1 -1
  384. package/node_modules/@dcode/tui/dist/app-file-mentions.d.ts +2 -0
  385. package/node_modules/@dcode/tui/dist/app-file-mentions.js +2 -2
  386. package/node_modules/@dcode/tui/dist/app-input-pane.d.ts +38 -0
  387. package/node_modules/@dcode/tui/dist/app-input-pane.js +19 -19
  388. package/node_modules/@dcode/tui/dist/app-input-status.d.ts +17 -0
  389. package/node_modules/@dcode/tui/dist/app-input-status.js +4 -4
  390. package/node_modules/@dcode/tui/dist/app-input.d.ts +1 -0
  391. package/node_modules/@dcode/tui/dist/app-input.js +1 -1
  392. package/node_modules/@dcode/tui/dist/app-markdown-theme.d.ts +2 -1
  393. package/node_modules/@dcode/tui/dist/app-markdown-theme.js +1 -1
  394. package/node_modules/@dcode/tui/dist/app-markdown.d.ts +1 -0
  395. package/node_modules/@dcode/tui/dist/app-markdown.js +1 -1
  396. package/node_modules/@dcode/tui/dist/app-mode-command.d.ts +3 -0
  397. package/node_modules/@dcode/tui/dist/app-mode-command.js +4 -4
  398. package/node_modules/@dcode/tui/dist/app-mode-suggestion-panel.d.ts +5 -0
  399. package/node_modules/@dcode/tui/dist/app-mode-suggestion-panel.js +1 -1
  400. package/node_modules/@dcode/tui/dist/app-mode.d.ts +1 -1
  401. package/node_modules/@dcode/tui/dist/app-mode.js +1 -1
  402. package/node_modules/@dcode/tui/dist/app-model-ref.d.ts +1 -0
  403. package/node_modules/@dcode/tui/dist/app-model-ref.js +1 -1
  404. package/node_modules/@dcode/tui/dist/app-motion.d.ts +13 -0
  405. package/node_modules/@dcode/tui/dist/app-motion.js +17 -7
  406. package/node_modules/@dcode/tui/dist/app-session-event-handler.d.ts +33 -0
  407. package/node_modules/@dcode/tui/dist/app-session-event-handler.js +4 -4
  408. package/node_modules/@dcode/tui/dist/app-shiki-diff-view.d.ts +18 -1
  409. package/node_modules/@dcode/tui/dist/app-shiki-diff-view.js +3 -3
  410. package/node_modules/@dcode/tui/dist/app-shiki-highlighter.d.ts +3 -0
  411. package/node_modules/@dcode/tui/dist/app-shiki-highlighter.js +7 -2
  412. package/node_modules/@dcode/tui/dist/app-sidebar-layout.d.ts +10 -0
  413. package/node_modules/@dcode/tui/dist/app-sidebar-layout.js +4 -4
  414. package/node_modules/@dcode/tui/dist/app-submit.d.ts +1 -0
  415. package/node_modules/@dcode/tui/dist/app-submit.js +1 -1
  416. package/node_modules/@dcode/tui/dist/app-thought-components.d.ts +7 -0
  417. package/node_modules/@dcode/tui/dist/app-thought-components.js +2 -2
  418. package/node_modules/@dcode/tui/dist/app-tool-transcript.d.ts +1 -0
  419. package/node_modules/@dcode/tui/dist/app-tool-transcript.js +3 -0
  420. package/node_modules/@dcode/tui/dist/app-view.d.ts +27 -0
  421. package/node_modules/@dcode/tui/dist/app-view.js +1 -1
  422. package/node_modules/@dcode/tui/dist/app-workflow-card.js +1 -1
  423. package/node_modules/@dcode/tui/dist/app-workflow-seed.d.ts +18 -1
  424. package/node_modules/@dcode/tui/dist/app-workflow-seed.js +4 -4
  425. package/node_modules/@dcode/tui/dist/index.js +5117 -2578
  426. package/node_modules/@dcode/tui/dist/tui.d.ts +3 -0
  427. package/node_modules/@dcode/tui/dist/tui.js +1 -1
  428. package/node_modules/@dcode/tui/dist/types.d.ts +1 -1
  429. package/node_modules/oniguruma-parser/LICENSE +1 -1
  430. package/node_modules/oniguruma-parser/README.md +15 -61
  431. package/node_modules/oniguruma-parser/dist/oniguruma-parser.min.js +4 -4
  432. package/node_modules/oniguruma-parser/dist/parser/parse.js +1 -1
  433. package/node_modules/oniguruma-parser/dist/traverser/traverse.js +1 -1
  434. package/node_modules/oniguruma-parser/package.json +5 -5
  435. package/node_modules/oniguruma-to-es/dist/cjs/generate.d.ts +1 -1
  436. package/node_modules/oniguruma-to-es/dist/cjs/index.js +121 -120
  437. package/node_modules/oniguruma-to-es/dist/cjs/subclass.d.ts +2 -2
  438. package/node_modules/oniguruma-to-es/dist/cjs/transform.d.ts +3 -5
  439. package/node_modules/oniguruma-to-es/dist/cjs/unicode.d.ts +1 -1
  440. package/node_modules/oniguruma-to-es/dist/esm/generate.d.ts +1 -1
  441. package/node_modules/oniguruma-to-es/dist/esm/index.js +1 -3
  442. package/node_modules/oniguruma-to-es/dist/esm/subclass.d.ts +2 -2
  443. package/node_modules/oniguruma-to-es/dist/esm/transform.d.ts +3 -5
  444. package/node_modules/oniguruma-to-es/dist/esm/unicode.d.ts +1 -1
  445. package/node_modules/oniguruma-to-es/dist/index.min.js +6 -6
  446. package/node_modules/oniguruma-to-es/package.json +5 -5
  447. package/package.json +5 -5
@@ -1,6 +1,5 @@
1
1
  import { z } from "zod";
2
2
  export declare const appSettingsOccupationEnum: z.ZodEnum<{
3
- other: "other";
4
3
  office: "office";
5
4
  developer: "developer";
6
5
  independent: "independent";
@@ -14,9 +13,10 @@ export declare const appSettingsOccupationEnum: z.ZodEnum<{
14
13
  finance: "finance";
15
14
  accounting: "accounting";
16
15
  legal: "legal";
16
+ other: "other";
17
17
  }>;
18
18
  export declare const localeSchema: z.ZodEnum<{
19
- "zh-CN": "zh-CN";
19
+ "fr-CA": "fr-CA";
20
20
  "en-US": "en-US";
21
21
  }>;
22
22
  export declare const integratedTerminalShellSelectionSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
@@ -37,7 +37,7 @@ export declare const postUpdateReleaseNotesPayloadSchema: z.ZodObject<{
37
37
  markdown: z.ZodString;
38
38
  releaseDate: z.ZodOptional<z.ZodString>;
39
39
  releaseNotesByLocale: z.ZodOptional<z.ZodRecord<z.ZodEnum<{
40
- "zh-CN": "zh-CN";
40
+ "fr-CA": "fr-CA";
41
41
  "en-US": "en-US";
42
42
  }> & z.core.$partial, z.ZodObject<{
43
43
  title: z.ZodString;
@@ -46,15 +46,15 @@ export declare const postUpdateReleaseNotesPayloadSchema: z.ZodObject<{
46
46
  }, z.core.$strip>;
47
47
  export declare const appSettingsSchema: z.ZodPreprocess<z.ZodObject<{
48
48
  recentProjects: z.ZodDefault<z.ZodArray<z.ZodString>>;
49
- locale: z.ZodDefault<z.ZodEnum<{
50
- "zh-CN": "zh-CN";
49
+ locale: z.ZodCatch<z.ZodEnum<{
50
+ "fr-CA": "fr-CA";
51
51
  "en-US": "en-US";
52
52
  }>>;
53
53
  shortcutBindings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>>;
54
54
  localePreference: z.ZodDefault<z.ZodEnum<{
55
- "zh-CN": "zh-CN";
56
- "en-US": "en-US";
57
55
  system: "system";
56
+ "fr-CA": "fr-CA";
57
+ "en-US": "en-US";
58
58
  }>>;
59
59
  terminalInheritSystemProfile: z.ZodDefault<z.ZodBoolean>;
60
60
  terminalFontFamily: z.ZodOptional<z.ZodString>;
@@ -98,6 +98,7 @@ export declare const appSettingsSchema: z.ZodPreprocess<z.ZodObject<{
98
98
  taskAutoArchiveOlderThanDays: z.ZodDefault<z.ZodNumber>;
99
99
  closeToTrayOnWindows: z.ZodDefault<z.ZodBoolean>;
100
100
  closeToTrayOnWindowsMigrationInitialized: z.ZodDefault<z.ZodBoolean>;
101
+ closeToTrayLinuxMigrationInitialized: z.ZodDefault<z.ZodBoolean>;
101
102
  keepAwakeWhileRunning: z.ZodDefault<z.ZodBoolean>;
102
103
  desktopZoomLevel: z.ZodOptional<z.ZodNumber>;
103
104
  desktopWindowSize: z.ZodOptional<z.ZodObject<{
@@ -118,6 +119,18 @@ export declare const appSettingsSchema: z.ZodPreprocess<z.ZodObject<{
118
119
  }>>;
119
120
  askUserQuestionAutoResolutionEnabled: z.ZodDefault<z.ZodBoolean>;
120
121
  modelIoFullRetentionEnabled: z.ZodDefault<z.ZodBoolean>;
122
+ dynamicWorkflowMode: z.ZodCatch<z.ZodOptional<z.ZodEnum<{
123
+ disabled: "disabled";
124
+ onDemand: "onDemand";
125
+ alwaysOn: "alwaysOn";
126
+ }>>>;
127
+ enabledBuiltinAgentCliProviders: z.ZodDefault<z.ZodPipe<z.ZodArray<z.ZodEnum<{
128
+ glm: "glm";
129
+ claude: "claude";
130
+ opencode: "opencode";
131
+ gemini: "gemini";
132
+ codex: "codex";
133
+ }>>, z.ZodTransform<"glm"[], ("glm" | "claude" | "opencode" | "gemini" | "codex")[]>>>;
121
134
  startPlanRecommendationDismissed: z.ZodDefault<z.ZodBoolean>;
122
135
  providerFamilyConnectionSelections: z.ZodDefault<z.ZodObject<{
123
136
  dcode: z.ZodOptional<z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
@@ -149,7 +162,6 @@ export declare const appSettingsSchema: z.ZodPreprocess<z.ZodObject<{
149
162
  providerFamilyDomainMigrated: z.ZodDefault<z.ZodBoolean>;
150
163
  nativeSearchEnhancementsEnabled: z.ZodDefault<z.ZodBoolean>;
151
164
  onboardingOccupation: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
152
- other: "other";
153
165
  office: "office";
154
166
  developer: "developer";
155
167
  independent: "independent";
@@ -163,6 +175,7 @@ export declare const appSettingsSchema: z.ZodPreprocess<z.ZodObject<{
163
175
  finance: "finance";
164
176
  accounting: "accounting";
165
177
  legal: "legal";
178
+ other: "other";
166
179
  }>>>;
167
180
  proactiveSuggestionsEnabled: z.ZodOptional<z.ZodBoolean>;
168
181
  memoryEnabled: z.ZodDefault<z.ZodBoolean>;
@@ -201,6 +214,13 @@ export declare const appSettingsSchema: z.ZodPreprocess<z.ZodObject<{
201
214
  }, z.core.$strip>, z.ZodObject<{
202
215
  kind: z.ZodLiteral<"docker">;
203
216
  container: z.ZodString;
217
+ }, z.core.$strip>, z.ZodObject<{
218
+ kind: z.ZodLiteral<"server">;
219
+ url: z.ZodString;
220
+ name: z.ZodOptional<z.ZodString>;
221
+ workspacePath: z.ZodOptional<z.ZodString>;
222
+ serverId: z.ZodOptional<z.ZodString>;
223
+ tokenCredentialKey: z.ZodOptional<z.ZodString>;
204
224
  }, z.core.$strip>], "kind">;
205
225
  lastOpenedAt: z.ZodNumber;
206
226
  lastConnectionStatus: z.ZodEnum<{
@@ -218,7 +238,7 @@ export declare const appSettingsSchema: z.ZodPreprocess<z.ZodObject<{
218
238
  markdown: z.ZodString;
219
239
  releaseDate: z.ZodOptional<z.ZodString>;
220
240
  releaseNotesByLocale: z.ZodOptional<z.ZodRecord<z.ZodEnum<{
221
- "zh-CN": "zh-CN";
241
+ "fr-CA": "fr-CA";
222
242
  "en-US": "en-US";
223
243
  }> & z.core.$partial, z.ZodObject<{
224
244
  title: z.ZodString;
@@ -232,19 +252,27 @@ export declare const appSettingsSchema: z.ZodPreprocess<z.ZodObject<{
232
252
  stable: "stable";
233
253
  }> & z.core.$partial, z.ZodString>>;
234
254
  settingsSyncFirstRunPromptHandled: z.ZodOptional<z.ZodBoolean>;
255
+ webRemoteControlExternalRelayDevice: z.ZodOptional<z.ZodObject<{
256
+ deviceSid: z.ZodString;
257
+ }, z.core.$strip>>;
258
+ webRemoteControlLastEnabledContext: z.ZodOptional<z.ZodObject<{
259
+ workspacePath: z.ZodString;
260
+ workspaceIdentity: z.ZodOptional<z.ZodString>;
261
+ initialTaskId: z.ZodOptional<z.ZodString>;
262
+ }, z.core.$strip>>;
235
263
  dcodeEndpointOrigin: z.ZodOptional<z.ZodPreprocess<z.ZodOptional<z.ZodString>, unknown>>;
236
264
  }, z.core.$strip>, unknown>;
237
265
  export declare const appSettingsPatchSchema: z.ZodObject<{
238
266
  recentProjects: z.ZodOptional<z.ZodArray<z.ZodString>>;
239
267
  locale: z.ZodOptional<z.ZodEnum<{
240
- "zh-CN": "zh-CN";
268
+ "fr-CA": "fr-CA";
241
269
  "en-US": "en-US";
242
270
  }>>;
243
271
  shortcutBindings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>>;
244
272
  localePreference: z.ZodOptional<z.ZodEnum<{
245
- "zh-CN": "zh-CN";
246
- "en-US": "en-US";
247
273
  system: "system";
274
+ "fr-CA": "fr-CA";
275
+ "en-US": "en-US";
248
276
  }>>;
249
277
  terminalInheritSystemProfile: z.ZodOptional<z.ZodBoolean>;
250
278
  terminalFontFamily: z.ZodOptional<z.ZodString>;
@@ -289,6 +317,7 @@ export declare const appSettingsPatchSchema: z.ZodObject<{
289
317
  closeToTrayOnWindows: z.ZodOptional<z.ZodBoolean>;
290
318
  keepAwakeWhileRunning: z.ZodOptional<z.ZodBoolean>;
291
319
  closeToTrayOnWindowsMigrationInitialized: z.ZodOptional<z.ZodBoolean>;
320
+ closeToTrayLinuxMigrationInitialized: z.ZodOptional<z.ZodBoolean>;
292
321
  desktopZoomLevel: z.ZodOptional<z.ZodNumber>;
293
322
  desktopWindowSize: z.ZodOptional<z.ZodObject<{
294
323
  width: z.ZodNumber;
@@ -308,6 +337,18 @@ export declare const appSettingsPatchSchema: z.ZodObject<{
308
337
  }>>;
309
338
  askUserQuestionAutoResolutionEnabled: z.ZodOptional<z.ZodBoolean>;
310
339
  modelIoFullRetentionEnabled: z.ZodOptional<z.ZodBoolean>;
340
+ dynamicWorkflowMode: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
341
+ disabled: "disabled";
342
+ onDemand: "onDemand";
343
+ alwaysOn: "alwaysOn";
344
+ }>, z.ZodLiteral<"">]>>;
345
+ enabledBuiltinAgentCliProviders: z.ZodOptional<z.ZodPipe<z.ZodArray<z.ZodEnum<{
346
+ glm: "glm";
347
+ claude: "claude";
348
+ opencode: "opencode";
349
+ gemini: "gemini";
350
+ codex: "codex";
351
+ }>>, z.ZodTransform<"glm"[], ("glm" | "claude" | "opencode" | "gemini" | "codex")[]>>>;
311
352
  startPlanRecommendationDismissed: z.ZodOptional<z.ZodBoolean>;
312
353
  providerFamilyConnectionSelections: z.ZodOptional<z.ZodObject<{
313
354
  dcode: z.ZodOptional<z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
@@ -339,7 +380,6 @@ export declare const appSettingsPatchSchema: z.ZodObject<{
339
380
  providerFamilyDomainMigrated: z.ZodOptional<z.ZodBoolean>;
340
381
  nativeSearchEnhancementsEnabled: z.ZodOptional<z.ZodBoolean>;
341
382
  onboardingOccupation: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
342
- other: "other";
343
383
  office: "office";
344
384
  developer: "developer";
345
385
  independent: "independent";
@@ -353,6 +393,7 @@ export declare const appSettingsPatchSchema: z.ZodObject<{
353
393
  finance: "finance";
354
394
  accounting: "accounting";
355
395
  legal: "legal";
396
+ other: "other";
356
397
  }>>>;
357
398
  proactiveSuggestionsEnabled: z.ZodOptional<z.ZodBoolean>;
358
399
  memoryEnabled: z.ZodOptional<z.ZodBoolean>;
@@ -391,6 +432,13 @@ export declare const appSettingsPatchSchema: z.ZodObject<{
391
432
  }, z.core.$strip>, z.ZodObject<{
392
433
  kind: z.ZodLiteral<"docker">;
393
434
  container: z.ZodString;
435
+ }, z.core.$strip>, z.ZodObject<{
436
+ kind: z.ZodLiteral<"server">;
437
+ url: z.ZodString;
438
+ name: z.ZodOptional<z.ZodString>;
439
+ workspacePath: z.ZodOptional<z.ZodString>;
440
+ serverId: z.ZodOptional<z.ZodString>;
441
+ tokenCredentialKey: z.ZodOptional<z.ZodString>;
394
442
  }, z.core.$strip>], "kind">;
395
443
  lastOpenedAt: z.ZodNumber;
396
444
  lastConnectionStatus: z.ZodEnum<{
@@ -408,7 +456,7 @@ export declare const appSettingsPatchSchema: z.ZodObject<{
408
456
  markdown: z.ZodString;
409
457
  releaseDate: z.ZodOptional<z.ZodString>;
410
458
  releaseNotesByLocale: z.ZodOptional<z.ZodRecord<z.ZodEnum<{
411
- "zh-CN": "zh-CN";
459
+ "fr-CA": "fr-CA";
412
460
  "en-US": "en-US";
413
461
  }> & z.core.$partial, z.ZodObject<{
414
462
  title: z.ZodString;
@@ -422,6 +470,14 @@ export declare const appSettingsPatchSchema: z.ZodObject<{
422
470
  stable: "stable";
423
471
  }> & z.core.$partial, z.ZodString>>;
424
472
  settingsSyncFirstRunPromptHandled: z.ZodOptional<z.ZodBoolean>;
473
+ webRemoteControlExternalRelayDevice: z.ZodOptional<z.ZodObject<{
474
+ deviceSid: z.ZodString;
475
+ }, z.core.$strip>>;
476
+ webRemoteControlLastEnabledContext: z.ZodOptional<z.ZodObject<{
477
+ workspacePath: z.ZodString;
478
+ workspaceIdentity: z.ZodOptional<z.ZodString>;
479
+ initialTaskId: z.ZodOptional<z.ZodString>;
480
+ }, z.core.$strip>>;
425
481
  dcodeEndpointOrigin: z.ZodOptional<z.ZodPreprocess<z.ZodOptional<z.ZodString>, unknown>>;
426
482
  }, z.core.$strip>;
427
483
  //# sourceMappingURL=validationAppSettings.d.ts.map
@@ -3,6 +3,8 @@ import { z } from "zod";
3
3
  import { REMOTE_ASSET_INSTALL_MODES } from "./remoteAssetInstallMode.js";
4
4
  import { isKnownRemoteResourcePackageId } from "./remoteResourcePackages.js";
5
5
  import { wslUserSchema } from "./wslUserValidation.js";
6
+ import { DCODE_ENABLED_AGENT_PROVIDERS } from "./dcode-agent-policy.js";
7
+ import { DYNAMIC_WORKFLOW_MODES } from "./dynamic-workflow-feature.js";
6
8
  import { normalizeDCodeEndpointOrigin } from "./dcodeEndpoint.js";
7
9
  import { DEFAULT_EMBEDDED_BROWSER_VIEWPORT_PREFERENCE, embeddedBrowserViewportPreferenceSchema, } from "./browser-use/command-metadata.js";
8
10
  import { providerFamilyConnectionSelectionSettingsSchema } from "./provider-family-connection-selection.js";
@@ -25,9 +27,12 @@ const appSettingsOccupationSchema = z.enum([
25
27
  ]);
26
28
  export const appSettingsOccupationEnum = appSettingsOccupationSchema;
27
29
  const nonEmptyStringSchema = z.string().trim().min(1);
28
- export const localeSchema = z.enum(["zh-CN", "en-US"]);
29
- const localePreferenceSchema = z.enum(["system", "zh-CN", "en-US"]);
30
+ export const localeSchema = z.enum(["fr-CA", "en-US"]);
31
+ const localePreferenceSchema = z.enum(["system", "fr-CA", "en-US"]);
30
32
  const dcodeInteractionBehaviorSchema = z.enum(["queue", "guide"]);
33
+ // launch.md「The user's choice」:读文件时未知取值(降级后读到新版本写的值)按「跟随」处理,
34
+ // 不能让一个偏好字段把整份设置读坏。
35
+ const dynamicWorkflowModeSettingSchema = z.enum(DYNAMIC_WORKFLOW_MODES).optional().catch(undefined);
31
36
  const electronReleaseChannelSchema = z.enum(["stable", "preview"]);
32
37
  const desktopZoomLevelSchema = z.number().int().min(-3).max(5);
33
38
  const desktopWindowSizeSchema = z.object({
@@ -47,6 +52,10 @@ export const integratedTerminalShellSelectionSchema = z.discriminatedUnion("mode
47
52
  path: nonEmptyStringSchema,
48
53
  }),
49
54
  ]);
55
+ const enabledBuiltinAgentCliProvidersSchema = z
56
+ // 兼容旧 settings:历史列表可能残留三方 CLI provider,解析后统一归一为 DCode Agent。
57
+ .array(z.enum(["claude", "opencode", "gemini", "codex", "glm"]))
58
+ .transform(() => [...DCODE_ENABLED_AGENT_PROVIDERS]);
50
59
  const providerFamilyDomainSchema = z.enum(["dcode", "bigmodel"]);
51
60
  export const postUpdateReleaseNotesPayloadSchema = z.object({
52
61
  version: nonEmptyStringSchema,
@@ -87,6 +96,14 @@ const remoteWorkspaceTargetSchema = z.discriminatedUnion("kind", [
87
96
  kind: z.literal("docker"),
88
97
  container: nonEmptyStringSchema,
89
98
  }),
99
+ z.object({
100
+ kind: z.literal("server"),
101
+ url: z.string().url(),
102
+ name: nonEmptyStringSchema.optional(),
103
+ workspacePath: z.string().optional(),
104
+ serverId: nonEmptyStringSchema.optional(),
105
+ tokenCredentialKey: nonEmptyStringSchema.optional(),
106
+ }),
90
107
  ]);
91
108
  const appWorkspaceSessionEntrySchema = z.discriminatedUnion("kind", [
92
109
  z.object({
@@ -105,6 +122,14 @@ const appWorkspaceSessionEntrySchema = z.discriminatedUnion("kind", [
105
122
  lastConnectionError: z.string().optional(),
106
123
  }),
107
124
  ]);
125
+ const webRemoteControlExternalRelayDeviceSchema = z.object({
126
+ deviceSid: nonEmptyStringSchema,
127
+ });
128
+ const webRemoteControlLastEnabledContextSchema = z.object({
129
+ workspacePath: nonEmptyStringSchema,
130
+ workspaceIdentity: nonEmptyStringSchema.optional(),
131
+ initialTaskId: nonEmptyStringSchema.optional(),
132
+ });
108
133
  const dcodeEndpointOriginSchema = z.preprocess((value) => {
109
134
  if (typeof value !== "string") {
110
135
  return undefined;
@@ -207,19 +232,29 @@ function migrateLegacyLocalePreference(value) {
207
232
  return value;
208
233
  }
209
234
  const raw = value;
210
- if ("localePreference" in raw || !("locale" in raw)) {
235
+ if (!("locale" in raw) && !("localePreference" in raw)) {
211
236
  return value;
212
237
  }
213
- const parsedLocale = localeSchema.safeParse(raw.locale);
214
- if (!parsedLocale.success) {
238
+ // 旧 setting.json 里可能还存着已下线的 locale(如 zh-CN)。直接丢弃会让整份配置
239
+ // 解析失败、用户设置被整体重置;这里把不可识别的旧值显式迁移到 en-US,
240
+ // 再交由上层 schema 校验。
241
+ const normalized = { ...raw };
242
+ if (typeof normalized.locale === "string" && !localeSchema.safeParse(normalized.locale).success) {
243
+ normalized.locale = "en-US";
244
+ }
245
+ if (typeof normalized.localePreference === "string" &&
246
+ !localePreferenceSchema.safeParse(normalized.localePreference).success) {
247
+ normalized.localePreference = "en-US";
248
+ }
249
+ if (normalized.locale === raw.locale && normalized.localePreference === raw.localePreference) {
215
250
  return value;
216
251
  }
217
- return {
218
- ...raw,
219
- // 旧 setting.json 只有 locale,无法区分“用户显式选择 zh-CN”和“默认值 zh-CN”。
252
+ if (!("localePreference" in normalized) && "locale" in normalized) {
253
+ // 旧 setting.json 只有 locale,无法区分“用户显式选择”和“默认值”。
220
254
  // 对已经落盘的旧配置保留原 locale 作为显式偏好,避免升级后误切到 system。
221
- localePreference: parsedLocale.data,
222
- };
255
+ return { ...normalized, localePreference: normalized.locale };
256
+ }
257
+ return normalized;
223
258
  }
224
259
  const legacyRemoteWorkspaceHistoryEntrySchema = z.object({
225
260
  id: nonEmptyStringSchema,
@@ -231,6 +266,19 @@ const legacyRemoteWorkspaceHistoryEntrySchema = z.object({
231
266
  lastConnectionStatus: z.enum(["connected", "failed"]),
232
267
  lastConnectionError: z.string().optional(),
233
268
  });
269
+ function migrateLegacyBuiltinAgentCliProviders(value) {
270
+ if (!value || typeof value !== "object" || Array.isArray(value)) {
271
+ return value;
272
+ }
273
+ const raw = value;
274
+ // Bugfix: 单 DCode Agent 迁移后,旧 setting.json 可能还保存已移除的第三方 CLI provider
275
+ // 的启用状态。若这些值继续进入 UI / bot 的 provider 选项,会和 server 侧唯一 glm 状态打架。
276
+ // 这里在 schema 入口统一归一到 DCode Agent,让核心 provider 状态只有一个事实源。
277
+ return {
278
+ ...raw,
279
+ enabledBuiltinAgentCliProviders: [...DCODE_ENABLED_AGENT_PROVIDERS],
280
+ };
281
+ }
234
282
  function stripHistoricalRemoteResourcePackages(target) {
235
283
  if (!target || typeof target !== "object" || Array.isArray(target)) {
236
284
  return target;
@@ -358,7 +406,7 @@ function migrateLegacyWorkspaceSession(value) {
358
406
  }
359
407
  const appSettingsObjectSchema = z.object({
360
408
  recentProjects: z.array(z.string()).default([]),
361
- locale: localeSchema.default("zh-CN"),
409
+ locale: localeSchema.catch("en-US"),
362
410
  // 快捷键用户覆盖(语义校验在 ui/src/shortcuts 生效表阶段容错,schema 只管形状)
363
411
  shortcutBindings: z.record(z.string(), z.array(z.string())).optional(),
364
412
  localePreference: localePreferenceSchema.default("system"),
@@ -377,6 +425,8 @@ const appSettingsObjectSchema = z.object({
377
425
  taskAutoArchiveOlderThanDays: z.number().int().positive().max(365).default(7),
378
426
  closeToTrayOnWindows: z.boolean().default(true),
379
427
  closeToTrayOnWindowsMigrationInitialized: z.boolean().default(true),
428
+ // default(false):新装与存量用户首次启动都视为未归位,由 main 进程按平台决定是否迁移。
429
+ closeToTrayLinuxMigrationInitialized: z.boolean().default(false),
380
430
  keepAwakeWhileRunning: z.boolean().default(false),
381
431
  desktopZoomLevel: desktopZoomLevelSchema.optional(),
382
432
  desktopWindowSize: desktopWindowSizeSchema.optional(),
@@ -390,6 +440,10 @@ const appSettingsObjectSchema = z.object({
390
440
  dcodeInteractionBehavior: dcodeInteractionBehaviorSchema.default("queue"),
391
441
  askUserQuestionAutoResolutionEnabled: z.boolean().default(true),
392
442
  modelIoFullRetentionEnabled: z.boolean().default(false),
443
+ dynamicWorkflowMode: dynamicWorkflowModeSettingSchema,
444
+ enabledBuiltinAgentCliProviders: enabledBuiltinAgentCliProvidersSchema.default([
445
+ ...DCODE_ENABLED_AGENT_PROVIDERS,
446
+ ]),
393
447
  startPlanRecommendationDismissed: z.boolean().default(false),
394
448
  providerFamilyConnectionSelections: providerFamilyConnectionSelectionSettingsSchema.default({}),
395
449
  providerFamilyDomain: providerFamilyDomainSchema.optional(),
@@ -408,9 +462,11 @@ const appSettingsObjectSchema = z.object({
408
462
  autoDownloadAndInstallUpdates: z.boolean().default(false),
409
463
  skippedElectronUpdateVersions: skippedElectronUpdateVersionsSchema,
410
464
  settingsSyncFirstRunPromptHandled: z.boolean().optional(),
465
+ webRemoteControlExternalRelayDevice: webRemoteControlExternalRelayDeviceSchema.optional(),
466
+ webRemoteControlLastEnabledContext: webRemoteControlLastEnabledContextSchema.optional(),
411
467
  dcodeEndpointOrigin: dcodeEndpointOriginSchema.optional(),
412
468
  });
413
- export const appSettingsSchema = z.preprocess((value) => sanitizeEmbeddedBrowserViewportPreference(sanitizeDesktopWindowSize(migrateMessageStreamShowReasoningDefault(migrateCloseToTrayOnWindowsDefault(migrateLegacyLocalePreference(sanitizeDCodeEndpointOrigin(migrateLegacyWorkspaceSession(value))))))), appSettingsObjectSchema);
469
+ export const appSettingsSchema = z.preprocess((value) => sanitizeEmbeddedBrowserViewportPreference(sanitizeDesktopWindowSize(migrateMessageStreamShowReasoningDefault(migrateCloseToTrayOnWindowsDefault(migrateLegacyLocalePreference(sanitizeDCodeEndpointOrigin(migrateLegacyWorkspaceSession(migrateLegacyBuiltinAgentCliProviders(value)))))))), appSettingsObjectSchema);
414
470
  export const appSettingsPatchSchema = z.object({
415
471
  recentProjects: z.array(z.string()).optional(),
416
472
  locale: localeSchema.optional(),
@@ -430,6 +486,7 @@ export const appSettingsPatchSchema = z.object({
430
486
  closeToTrayOnWindows: z.boolean().optional(),
431
487
  keepAwakeWhileRunning: z.boolean().optional(),
432
488
  closeToTrayOnWindowsMigrationInitialized: z.boolean().optional(),
489
+ closeToTrayLinuxMigrationInitialized: z.boolean().optional(),
433
490
  desktopZoomLevel: desktopZoomLevelSchema.optional(),
434
491
  desktopWindowSize: desktopWindowSizeSchema.optional(),
435
492
  desktopChromiumHardwareAccelerationEnabled: z.boolean().optional(),
@@ -442,6 +499,9 @@ export const appSettingsPatchSchema = z.object({
442
499
  dcodeInteractionBehavior: dcodeInteractionBehaviorSchema.optional(),
443
500
  askUserQuestionAutoResolutionEnabled: z.boolean().optional(),
444
501
  modelIoFullRetentionEnabled: z.boolean().optional(),
502
+ // 空串是「删除选择、回到跟随」的哨兵:RPC 会吞掉 undefined,normalizeSettingsPatch 把它归一成删除。
503
+ dynamicWorkflowMode: z.union([z.enum(DYNAMIC_WORKFLOW_MODES), z.literal("")]).optional(),
504
+ enabledBuiltinAgentCliProviders: enabledBuiltinAgentCliProvidersSchema.optional(),
445
505
  startPlanRecommendationDismissed: z.boolean().optional(),
446
506
  providerFamilyConnectionSelections: providerFamilyConnectionSelectionSettingsSchema.optional(),
447
507
  providerFamilyDomain: z.union([providerFamilyDomainSchema, z.literal("")]).optional(),
@@ -479,6 +539,8 @@ export const appSettingsPatchSchema = z.object({
479
539
  .partialRecord(electronReleaseChannelSchema, nonEmptyStringSchema)
480
540
  .optional(),
481
541
  settingsSyncFirstRunPromptHandled: z.boolean().optional(),
542
+ webRemoteControlExternalRelayDevice: webRemoteControlExternalRelayDeviceSchema.optional(),
543
+ webRemoteControlLastEnabledContext: webRemoteControlLastEnabledContextSchema.optional(),
482
544
  dcodeEndpointOrigin: dcodeEndpointOriginSchema.optional(),
483
545
  });
484
546
  //# sourceMappingURL=validationAppSettings.js.map
@@ -0,0 +1,8 @@
1
+ export declare const WEB_REMOTE_CONTROL_HEARTBEAT_INTERVAL_MS = 10000;
2
+ export declare const WEB_REMOTE_CONTROL_HEARTBEAT_JITTER_MS = 2000;
3
+ export declare const WEB_REMOTE_CONTROL_HEARTBEAT_ACK_TIMEOUT_MS = 30000;
4
+ export declare const WEB_REMOTE_CONTROL_RECONNECT_JITTER_MS = 2000;
5
+ export declare function getWebRemoteControlHeartbeatJitterMs(baseIntervalMs?: number, configuredJitterMs?: number): number;
6
+ export declare function getWebRemoteControlHeartbeatDelayMs(baseIntervalMs?: number, configuredJitterMs?: number, random?: () => number): number;
7
+ export declare function getWebRemoteControlReconnectJitterMs(configuredJitterMs?: number, random?: () => number): number;
8
+ //# sourceMappingURL=web-remote-control-heartbeat.d.ts.map
@@ -0,0 +1,40 @@
1
+ export const WEB_REMOTE_CONTROL_HEARTBEAT_INTERVAL_MS = 10_000;
2
+ export const WEB_REMOTE_CONTROL_HEARTBEAT_JITTER_MS = 2_000;
3
+ export const WEB_REMOTE_CONTROL_HEARTBEAT_ACK_TIMEOUT_MS = 30_000;
4
+ export const WEB_REMOTE_CONTROL_RECONNECT_JITTER_MS = 2_000;
5
+ function safeRandom(random) {
6
+ const value = random();
7
+ if (!Number.isFinite(value)) {
8
+ return 0;
9
+ }
10
+ return Math.min(0.999999999, Math.max(0, value));
11
+ }
12
+ export function getWebRemoteControlHeartbeatJitterMs(baseIntervalMs = WEB_REMOTE_CONTROL_HEARTBEAT_INTERVAL_MS, configuredJitterMs) {
13
+ const normalizedBase = Number.isFinite(baseIntervalMs) && baseIntervalMs > 0
14
+ ? Math.floor(baseIntervalMs)
15
+ : WEB_REMOTE_CONTROL_HEARTBEAT_INTERVAL_MS;
16
+ const defaultJitterMs = Math.min(WEB_REMOTE_CONTROL_HEARTBEAT_JITTER_MS, Math.floor(normalizedBase * 0.2));
17
+ const requestedJitterMs = configuredJitterMs ?? defaultJitterMs;
18
+ if (!Number.isFinite(requestedJitterMs) || requestedJitterMs <= 0) {
19
+ return 0;
20
+ }
21
+ // 心跳 jitter 必须小于基准间隔,避免把合法的 transport heartbeat 变成 0ms 风暴。
22
+ return Math.min(Math.floor(requestedJitterMs), Math.max(0, normalizedBase - 1));
23
+ }
24
+ export function getWebRemoteControlHeartbeatDelayMs(baseIntervalMs = WEB_REMOTE_CONTROL_HEARTBEAT_INTERVAL_MS, configuredJitterMs, random = Math.random) {
25
+ const normalizedBase = Number.isFinite(baseIntervalMs) && baseIntervalMs > 0
26
+ ? Math.floor(baseIntervalMs)
27
+ : WEB_REMOTE_CONTROL_HEARTBEAT_INTERVAL_MS;
28
+ const jitterMs = getWebRemoteControlHeartbeatJitterMs(normalizedBase, configuredJitterMs);
29
+ const minDelayMs = Math.max(1, normalizedBase - jitterMs);
30
+ const maxDelayMs = normalizedBase + jitterMs;
31
+ return minDelayMs + Math.floor(safeRandom(random) * (maxDelayMs - minDelayMs + 1));
32
+ }
33
+ export function getWebRemoteControlReconnectJitterMs(configuredJitterMs = WEB_REMOTE_CONTROL_RECONNECT_JITTER_MS, random = Math.random) {
34
+ if (!Number.isFinite(configuredJitterMs) || configuredJitterMs <= 0) {
35
+ return 0;
36
+ }
37
+ const maxJitterMs = Math.floor(configuredJitterMs);
38
+ return Math.floor(safeRandom(random) * (maxJitterMs + 1));
39
+ }
40
+ //# sourceMappingURL=web-remote-control-heartbeat.js.map
@@ -0,0 +1,183 @@
1
+ import { z } from "zod";
2
+ export declare const WEB_REMOTE_CONTROL_RPC_TRANSPORT_LIMITS: {
3
+ readonly maxPhysicalFrameBytes: number;
4
+ readonly maxMessageBytes: number;
5
+ readonly maxFragments: 64;
6
+ readonly assemblyTimeoutMs: 30000;
7
+ readonly transportIdMaxChars: 256;
8
+ };
9
+ export declare const webRemoteControlRpcTransportIdSchema: z.ZodString;
10
+ export declare const webRemoteControlRpcTransportIdentitySchema: z.ZodObject<{
11
+ bridgeSessionId: z.ZodString;
12
+ bridgeGeneration: z.ZodOptional<z.ZodNumber>;
13
+ recoveryId: z.ZodOptional<z.ZodString>;
14
+ }, z.core.$strict>;
15
+ export type WebRemoteControlRpcTransportIdentity = z.infer<typeof webRemoteControlRpcTransportIdentitySchema>;
16
+ export declare const webRemoteControlRpcTransportChecksumSchema: z.ZodObject<{
17
+ algorithm: z.ZodLiteral<"crc32">;
18
+ value: z.ZodString;
19
+ }, z.core.$strict>;
20
+ export type WebRemoteControlRpcTransportChecksum = z.infer<typeof webRemoteControlRpcTransportChecksumSchema>;
21
+ export declare const webRemoteControlRpcTransportFrameSchema: z.ZodObject<{
22
+ dcode_type: z.ZodLiteral<"rpc-frame">;
23
+ bridgeSessionId: z.ZodString;
24
+ bridgeGeneration: z.ZodOptional<z.ZodNumber>;
25
+ recoveryId: z.ZodOptional<z.ZodString>;
26
+ seq: z.ZodNumber;
27
+ messageSeq: z.ZodNumber;
28
+ fragmentIndex: z.ZodNumber;
29
+ fragmentCount: z.ZodNumber;
30
+ messageBytes: z.ZodNumber;
31
+ checksum: z.ZodObject<{
32
+ algorithm: z.ZodLiteral<"crc32">;
33
+ value: z.ZodString;
34
+ }, z.core.$strict>;
35
+ dataBase64: z.ZodString;
36
+ }, z.core.$strict>;
37
+ export type WebRemoteControlRpcTransportFramePayload = z.infer<typeof webRemoteControlRpcTransportFrameSchema>;
38
+ export declare const webRemoteControlRpcTransportAckSchema: z.ZodObject<{
39
+ dcode_type: z.ZodLiteral<"rpc-frame-ack">;
40
+ bridgeSessionId: z.ZodString;
41
+ bridgeGeneration: z.ZodOptional<z.ZodNumber>;
42
+ recoveryId: z.ZodOptional<z.ZodString>;
43
+ ackMessageSeq: z.ZodNumber;
44
+ }, z.core.$strict>;
45
+ export type WebRemoteControlRpcTransportAckPayload = z.infer<typeof webRemoteControlRpcTransportAckSchema>;
46
+ export declare const webRemoteControlRpcTransportPayloadSchema: z.ZodUnion<readonly [z.ZodObject<{
47
+ dcode_type: z.ZodLiteral<"rpc-frame">;
48
+ bridgeSessionId: z.ZodString;
49
+ bridgeGeneration: z.ZodOptional<z.ZodNumber>;
50
+ recoveryId: z.ZodOptional<z.ZodString>;
51
+ seq: z.ZodNumber;
52
+ messageSeq: z.ZodNumber;
53
+ fragmentIndex: z.ZodNumber;
54
+ fragmentCount: z.ZodNumber;
55
+ messageBytes: z.ZodNumber;
56
+ checksum: z.ZodObject<{
57
+ algorithm: z.ZodLiteral<"crc32">;
58
+ value: z.ZodString;
59
+ }, z.core.$strict>;
60
+ dataBase64: z.ZodString;
61
+ }, z.core.$strict>, z.ZodObject<{
62
+ dcode_type: z.ZodLiteral<"rpc-frame-ack">;
63
+ bridgeSessionId: z.ZodString;
64
+ bridgeGeneration: z.ZodOptional<z.ZodNumber>;
65
+ recoveryId: z.ZodOptional<z.ZodString>;
66
+ ackMessageSeq: z.ZodNumber;
67
+ }, z.core.$strict>]>;
68
+ export type WebRemoteControlRpcTransportPayload = z.infer<typeof webRemoteControlRpcTransportPayloadSchema>;
69
+ export declare const webRemoteControlRpcRelayEnvelopeSchema: z.ZodObject<{
70
+ type: z.ZodLiteral<"data">;
71
+ payload: z.ZodUnion<readonly [z.ZodObject<{
72
+ dcode_type: z.ZodLiteral<"rpc-frame">;
73
+ bridgeSessionId: z.ZodString;
74
+ bridgeGeneration: z.ZodOptional<z.ZodNumber>;
75
+ recoveryId: z.ZodOptional<z.ZodString>;
76
+ seq: z.ZodNumber;
77
+ messageSeq: z.ZodNumber;
78
+ fragmentIndex: z.ZodNumber;
79
+ fragmentCount: z.ZodNumber;
80
+ messageBytes: z.ZodNumber;
81
+ checksum: z.ZodObject<{
82
+ algorithm: z.ZodLiteral<"crc32">;
83
+ value: z.ZodString;
84
+ }, z.core.$strict>;
85
+ dataBase64: z.ZodString;
86
+ }, z.core.$strict>, z.ZodObject<{
87
+ dcode_type: z.ZodLiteral<"rpc-frame-ack">;
88
+ bridgeSessionId: z.ZodString;
89
+ bridgeGeneration: z.ZodOptional<z.ZodNumber>;
90
+ recoveryId: z.ZodOptional<z.ZodString>;
91
+ ackMessageSeq: z.ZodNumber;
92
+ }, z.core.$strict>]>;
93
+ client_ts: z.ZodOptional<z.ZodNumber>;
94
+ server_ts: z.ZodOptional<z.ZodNumber>;
95
+ }, z.core.$strict>;
96
+ export type WebRemoteControlRpcRelayEnvelope = z.infer<typeof webRemoteControlRpcRelayEnvelopeSchema>;
97
+ export interface WebRemoteControlRpcTransportFault {
98
+ reasonCode: string;
99
+ terminal: boolean;
100
+ seq?: number;
101
+ messageSeq?: number;
102
+ expectedSeq?: number;
103
+ expectedMessageSeq?: number;
104
+ }
105
+ export type ParseWebRemoteControlRpcRelayEnvelopeResult = {
106
+ kind: "accepted";
107
+ bytes: number;
108
+ envelope: WebRemoteControlRpcRelayEnvelope;
109
+ } | {
110
+ kind: "fault";
111
+ fault: WebRemoteControlRpcTransportFault;
112
+ };
113
+ /** 最终 relay JSON(默认同时含最坏 client/server timestamp)的精确 UTF-8 byte 数。 */
114
+ export declare function measureWebRemoteControlRpcRelayEnvelopeBytes(payload: WebRemoteControlRpcTransportPayload, timestamps?: {
115
+ clientTimestamp?: number | null;
116
+ serverTimestamp?: number | null;
117
+ }): number;
118
+ export declare function parseWebRemoteControlRpcTransportPayload(value: unknown): WebRemoteControlRpcTransportPayload | null;
119
+ /** D3 接线时在 JSON.parse 前调用;本切片只提供 standalone primitive。 */
120
+ export declare function parseWebRemoteControlRpcRelayEnvelopeJson(rawJson: string, options?: {
121
+ maxPhysicalFrameBytes?: number;
122
+ }): ParseWebRemoteControlRpcRelayEnvelopeResult;
123
+ export declare class WebRemoteControlRpcTransportEncodingError extends Error {
124
+ readonly reasonCode: string;
125
+ constructor(reasonCode: string);
126
+ }
127
+ export interface EncodeWebRemoteControlRpcTransportMessageOptions extends WebRemoteControlRpcTransportIdentity {
128
+ firstPhysicalSeq: number;
129
+ messageSeq: number;
130
+ maxPhysicalFrameBytes?: number;
131
+ maxMessageBytes?: number;
132
+ maxFragments?: number;
133
+ }
134
+ /** raw Channel bytes -> immutable bounded physical payload batch。 */
135
+ export declare function encodeWebRemoteControlRpcTransportMessage(bytes: Uint8Array, options: EncodeWebRemoteControlRpcTransportMessageOptions): readonly WebRemoteControlRpcTransportFramePayload[];
136
+ export type WebRemoteControlRpcTransportAssemblyEvent = {
137
+ kind: "incomplete";
138
+ messageSeq: number;
139
+ receivedFragments: number;
140
+ } | {
141
+ kind: "duplicate";
142
+ ackMessageSeq: number | null;
143
+ } | {
144
+ kind: "complete";
145
+ messageSeq: number;
146
+ bytes: Uint8Array;
147
+ } | {
148
+ kind: "fault";
149
+ fault: WebRemoteControlRpcTransportFault;
150
+ };
151
+ export interface WebRemoteControlRpcTransportAssemblerOptions {
152
+ identity: WebRemoteControlRpcTransportIdentity;
153
+ initialPhysicalSeq?: number;
154
+ initialMessageSeq?: number;
155
+ maxPhysicalFrameBytes?: number;
156
+ maxMessageBytes?: number;
157
+ maxFragments?: number;
158
+ timeoutMs?: number;
159
+ now?: () => number;
160
+ }
161
+ /** 每方向一个实例;任何 terminal fault 后由 04D-2 映射为 bridge degraded。 */
162
+ export declare class WebRemoteControlRpcTransportAssembler {
163
+ private readonly identity;
164
+ private readonly maxPhysicalFrameBytes;
165
+ private readonly maxMessageBytes;
166
+ private readonly maxFragments;
167
+ private readonly timeoutMs;
168
+ private readonly now;
169
+ private expectedPhysicalSeq;
170
+ private expectedMessageSeq;
171
+ private lastCompletedMessageSeq;
172
+ private physicalSequenceExhausted;
173
+ private messageSequenceExhausted;
174
+ private settledFrameFingerprintsBySeq;
175
+ private active;
176
+ private terminalReason;
177
+ constructor(options: WebRemoteControlRpcTransportAssemblerOptions);
178
+ get nextExpiryAt(): number | null;
179
+ private fault;
180
+ expire(now?: number): WebRemoteControlRpcTransportAssemblyEvent | null;
181
+ accept(candidate: unknown, now?: number): WebRemoteControlRpcTransportAssemblyEvent;
182
+ }
183
+ //# sourceMappingURL=web-remote-control-rpc-transport.d.ts.map