dsh-plugin-weapp-gateway 0.8.23 → 0.8.34

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 (71) hide show
  1. package/LICENSE +21 -21
  2. package/PROTOCOL.md +1545 -1486
  3. package/README.md +503 -464
  4. package/THIRD-PARTY-NOTICES/dsh-cost-meter.txt +31 -31
  5. package/bin/setup-ip.mjs +474 -474
  6. package/cordis.patch.yml +50 -50
  7. package/docs/agent-team-app-integration.md +945 -0
  8. package/docs/blog-mobile-gateway.md +542 -542
  9. package/docs/dsh-0.1.5-rc.2-compatibility-audit.md +255 -255
  10. package/docs/dsh-0.1.6-alpha.1-compatibility-audit.md +122 -122
  11. package/docs/dsh-0.1.7-rc.1-compatibility-audit.md +52 -52
  12. package/docs/dsh-0.2.0-rc.2-plugin-management-mobile-integration.md +109 -109
  13. package/docs/dsh-rc2-mobile-integration.md +155 -155
  14. package/docs/file-upload-app-integration.md +250 -0
  15. package/docs/multi-gateway-app-integration.md +141 -125
  16. package/docs/multi-gateway-phase1-acceptance.md +179 -179
  17. package/docs/multi-gateway-todo.md +137 -137
  18. package/docs/remote-gateway-refactor-plan.md +52 -52
  19. package/docs/runtime-architecture.architecture.json +264 -264
  20. package/docs/runtime-architecture.html +15001 -15001
  21. package/docs/runtime-architecture.visual-check.html +32 -32
  22. package/docs/runtime-architecture.visual-check.json +548 -548
  23. package/docs/session-agent-preset-app-integration.md +93 -93
  24. package/docs/turn-outline-app-integration.md +196 -0
  25. package/docs/typert-remote-gateway-feature-checklist.md +294 -294
  26. package/docs/voice-input-implementation.md +219 -219
  27. package/docs/workspace-changes-mobile-integration.md +32 -32
  28. package/helper/dsh_mobile_gateway_helper.py +227 -227
  29. package/lib/account-bridge.mjs +57 -57
  30. package/lib/client.js +1409 -1361
  31. package/lib/cloudflare-tunnel.mjs +314 -314
  32. package/lib/cloudflared-binary.mjs +135 -135
  33. package/lib/context-bridge.mjs +3338 -1715
  34. package/lib/cost-meter-bridge.mjs +794 -794
  35. package/lib/cost-meter-dashboard-bridge.mjs +1655 -1449
  36. package/lib/devices.js +273 -245
  37. package/lib/dsh-host-adapter.mjs +508 -426
  38. package/lib/file-upload.mjs +205 -0
  39. package/lib/gateway-probe.mjs +6 -6
  40. package/lib/gateway-state.mjs +57 -57
  41. package/lib/gateway-tools.mjs +36 -36
  42. package/lib/history-cache.mjs +66 -0
  43. package/lib/index.mjs +4390 -3803
  44. package/lib/plugin-management.mjs +251 -233
  45. package/lib/public-endpoint-check.mjs +61 -61
  46. package/lib/relay-connector.mjs +213 -181
  47. package/lib/relay-state.mjs +83 -76
  48. package/lib/session-follower.mjs +140 -136
  49. package/lib/session-resume-bridge.mjs +86 -0
  50. package/lib/session-target.mjs +29 -0
  51. package/lib/speech-input.mjs +192 -192
  52. package/lib/vendor/cost-meter/aliyun-balance.mjs +123 -123
  53. package/lib/vendor/cost-meter/coding-plans.mjs +1668 -1668
  54. package/lib/vendor/cost-meter/credentials-shim.mjs +8 -8
  55. package/lib/vendor/cost-meter/custom-balance.mjs +281 -281
  56. package/lib/vendor/cost-meter/factory-quota.mjs +69 -69
  57. package/lib/vendor/cost-meter/gateway-quota-adapters.mjs +1006 -1006
  58. package/lib/vendor/cost-meter/gateway-quotas.mjs +664 -664
  59. package/lib/vendor/cost-meter/home-paths-shim.mjs +13 -13
  60. package/lib/vendor/cost-meter/net.mjs +183 -183
  61. package/lib/vendor/cost-meter/opendesign.mjs +204 -204
  62. package/lib/vendor/cost-meter/tokenrhythm-balance.mjs +95 -95
  63. package/lib/vendor/cost-meter/workbuddy-accounts.mjs +44 -44
  64. package/lib/vendor/cost-meter/workbuddy-transport.mjs +38 -38
  65. package/lib/vendor/cost-meter/workbuddy.mjs +356 -356
  66. package/lib/web-restart.mjs +47 -47
  67. package/lib/wire-json.mjs +7 -7
  68. package/lib/workspace-changes-bridge.mjs +32 -32
  69. package/package.json +54 -54
  70. package/relay/agent-connector.js +588 -569
  71. package/relay/vendor/tweetnacl.js +2391 -2391
package/cordis.patch.yml CHANGED
@@ -1,50 +1,50 @@
1
- # dsh-plugin-weapp-gateway bundle patch.
2
- # Applied after dsh-base and dsh-web-app: inserts the persistent /ws/mobile
3
- # gateway row into the host plane (it consumes `webServer`, the Host Remote
4
- # Gateway and the `session/event` feed, and publishes no service of its own).
5
- - insert:
6
- - id: mobile-gateway
7
- name: 'dsh-plugin-weapp-gateway'
8
- config:
9
- # Secure by default: every mobile WebSocket must authenticate with a
10
- # paired device credential. Pair/revoke APIs remain local-machine only.
11
- gatewayEnabled: false
12
- # Optional startup mode: disabled | temporary | persistent.
13
- # Saved management-UI choices take precedence over startup config.
14
- # gatewayMode: persistent
15
- # gatewayName: Home PC
16
- # gatewayStateFile: /path/to/instance-gateway.json
17
- # Optional additional reachable addresses for this SAME gateway:
18
- # endpoints:
19
- # - wss://gateway.example.com/ws/mobile
20
- gatewayWaitTimeoutMs: 300000
21
- requireAuth: true
22
- adminLoopbackOnly: true
23
- pairingTtlMs: 300000
24
- # DSH WebUI remains loopback-only on 3080. The plugin owns this
25
- # authenticated, WebSocket-only LAN listener for phones on the same
26
- # private network.
27
- lanEnabled: true
28
- lanHost: 0.0.0.0
29
- lanPort: 3081
30
- # 鲸尾公网由内置连接器自动配置,无需填写服务域名。
31
- # The UI can enable Quick or named Cloudflare Tunnel. Both use a
32
- # separate authenticated loopback-only mobile endpoint. PC keeps the
33
- # managed checksummed download; on Linux cloudflared is installed from
34
- # pkg.cloudflare.com and cloudflaredPath pins its location.
35
- # cloudflarePort: 3082
36
- # Use the platform-managed, checksummed binary on macOS/Windows.
37
- # cloudflaredPath: /usr/bin/cloudflared
38
- # Written automatically by `sudo npx dsh-plugin-weapp-gateway setup`.
39
- publicUrlFile: /etc/dsh-mobile-gateway/public-url
40
-
41
- # The gateway's `search` query channel needs the full-text session index,
42
- # which dsh-web-app deliberately ships as `openAt: never` (search disabled).
43
- # This later layer opts the deployment into on-demand opening: the node:sqlite
44
- # import and the in-memory index stay deferred until the first search call,
45
- # so startup is unaffected. A patch replaces the row's whole config, so both
46
- # keys are restated here.
47
- - id: session-query-sqlite
48
- config:
49
- path: ':memory:'
50
- openAt: first-search
1
+ # dsh-plugin-weapp-gateway bundle patch.
2
+ # Applied after dsh-base and dsh-web-app: inserts the persistent /ws/mobile
3
+ # gateway row into the host plane (it consumes `webServer`, the Host Remote
4
+ # Gateway and the `session/event` feed, and publishes no service of its own).
5
+ - insert:
6
+ - id: mobile-gateway
7
+ name: 'dsh-plugin-weapp-gateway'
8
+ config:
9
+ # Secure by default: every mobile WebSocket must authenticate with a
10
+ # paired device credential. Pair/revoke APIs remain local-machine only.
11
+ gatewayEnabled: false
12
+ # Optional startup mode: disabled | temporary | persistent.
13
+ # Saved management-UI choices take precedence over startup config.
14
+ # gatewayMode: persistent
15
+ # gatewayName: Home PC
16
+ # gatewayStateFile: /path/to/instance-gateway.json
17
+ # Optional additional reachable addresses for this SAME gateway:
18
+ # endpoints:
19
+ # - wss://gateway.example.com/ws/mobile
20
+ gatewayWaitTimeoutMs: 300000
21
+ requireAuth: true
22
+ adminLoopbackOnly: true
23
+ pairingTtlMs: 300000
24
+ # DSH WebUI remains loopback-only on 3080. The plugin owns this
25
+ # authenticated, WebSocket-only LAN listener for phones on the same
26
+ # private network.
27
+ lanEnabled: true
28
+ lanHost: 0.0.0.0
29
+ lanPort: 3081
30
+ # 鲸尾公网由内置连接器自动配置,无需填写服务域名。
31
+ # The UI can enable Quick or named Cloudflare Tunnel. Both use a
32
+ # separate authenticated loopback-only mobile endpoint. PC keeps the
33
+ # managed checksummed download; on Linux cloudflared is installed from
34
+ # pkg.cloudflare.com and cloudflaredPath pins its location.
35
+ # cloudflarePort: 3082
36
+ # Use the platform-managed, checksummed binary on macOS/Windows.
37
+ # cloudflaredPath: /usr/bin/cloudflared
38
+ # Written automatically by `sudo npx dsh-plugin-weapp-gateway setup`.
39
+ publicUrlFile: /etc/dsh-mobile-gateway/public-url
40
+
41
+ # The gateway's `search` query channel needs the full-text session index,
42
+ # which dsh-web-app deliberately ships as `openAt: never` (search disabled).
43
+ # This later layer opts the deployment into on-demand opening: the node:sqlite
44
+ # import and the in-memory index stay deferred until the first search call,
45
+ # so startup is unaffected. A patch replaces the row's whole config, so both
46
+ # keys are restated here.
47
+ - id: session-query-sqlite
48
+ config:
49
+ path: ':memory:'
50
+ openAt: first-search