@senguoyun/dsh-arkme 0.1.39 → 0.1.41

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 (106) hide show
  1. package/cordis.patch.yml +4 -0
  2. package/docs/account-session-isolation.md +21 -0
  3. package/lib/client.js +630 -288
  4. package/lib/client.js.map +1 -1
  5. package/lib/index.js +3710 -429
  6. package/lib/persistent-extension.js +1 -1
  7. package/lib/{persistent-runtime-DLrd2RMI.js → persistent-runtime-B1gJH2Nx.js} +706 -281
  8. package/lib/sdk.js +31 -0
  9. package/lib/types/account-session-owner.d.ts +49 -0
  10. package/lib/types/account-session-owner.d.ts.map +1 -0
  11. package/lib/types/arkme-service.d.ts +7 -1
  12. package/lib/types/arkme-service.d.ts.map +1 -1
  13. package/lib/types/client/ArkmeNoteDetails.d.ts.map +1 -1
  14. package/lib/types/client/ArkmeRichText.d.ts +2 -1
  15. package/lib/types/client/ArkmeRichText.d.ts.map +1 -1
  16. package/lib/types/client/ArkmeSettingsSurface.d.ts.map +1 -1
  17. package/lib/types/client/ArkmeSidebar.d.ts.map +1 -1
  18. package/lib/types/client/ArkmeUpdateSurfaces.d.ts.map +1 -1
  19. package/lib/types/client/ArkmeVirtualWorkspace.d.ts +3 -0
  20. package/lib/types/client/ArkmeVirtualWorkspace.d.ts.map +1 -1
  21. package/lib/types/client/OpenApiMcpSettings.d.ts +9 -0
  22. package/lib/types/client/OpenApiMcpSettings.d.ts.map +1 -0
  23. package/lib/types/client/arkme-login-errors.d.ts.map +1 -1
  24. package/lib/types/client/arkme-login-locales.d.ts +1 -0
  25. package/lib/types/client/arkme-login-locales.d.ts.map +1 -1
  26. package/lib/types/client/user-ban.d.ts +8 -0
  27. package/lib/types/client/user-ban.d.ts.map +1 -0
  28. package/lib/types/dsh-remote/api-proxy-adapter.d.ts +117 -1
  29. package/lib/types/dsh-remote/api-proxy-adapter.d.ts.map +1 -1
  30. package/lib/types/dsh-remote/channel-manager.d.ts.map +1 -1
  31. package/lib/types/dsh-remote/command-ledger.d.ts +2 -0
  32. package/lib/types/dsh-remote/command-ledger.d.ts.map +1 -1
  33. package/lib/types/dsh-remote/control-plane.d.ts +5 -0
  34. package/lib/types/dsh-remote/control-plane.d.ts.map +1 -1
  35. package/lib/types/dsh-remote/crypto.d.ts +2 -0
  36. package/lib/types/dsh-remote/crypto.d.ts.map +1 -1
  37. package/lib/types/dsh-remote/dsh-event-contract.d.ts +3 -0
  38. package/lib/types/dsh-remote/dsh-event-contract.d.ts.map +1 -1
  39. package/lib/types/dsh-remote/host.d.ts +35 -0
  40. package/lib/types/dsh-remote/host.d.ts.map +1 -1
  41. package/lib/types/dsh-remote/presentation.d.ts +12 -0
  42. package/lib/types/dsh-remote/presentation.d.ts.map +1 -0
  43. package/lib/types/dsh-remote/protocol-v1.d.ts +8 -1
  44. package/lib/types/dsh-remote/protocol-v1.d.ts.map +1 -1
  45. package/lib/types/dsh-remote/realtime-transport.d.ts.map +1 -1
  46. package/lib/types/dsh-remote/session-ownership-store.d.ts +39 -0
  47. package/lib/types/dsh-remote/session-ownership-store.d.ts.map +1 -0
  48. package/lib/types/dsh-remote/turn-projector.d.ts +26 -0
  49. package/lib/types/dsh-remote/turn-projector.d.ts.map +1 -0
  50. package/lib/types/dsh-remote/types.d.ts +76 -2
  51. package/lib/types/dsh-remote/types.d.ts.map +1 -1
  52. package/lib/types/host-api.d.ts +3 -1
  53. package/lib/types/host-api.d.ts.map +1 -1
  54. package/lib/types/index.d.ts +4 -0
  55. package/lib/types/index.d.ts.map +1 -1
  56. package/lib/types/managed-access-credential.d.ts +14 -0
  57. package/lib/types/managed-access-credential.d.ts.map +1 -0
  58. package/lib/types/managed-ai/adapter.d.ts +2 -5
  59. package/lib/types/managed-ai/adapter.d.ts.map +1 -1
  60. package/lib/types/openapi-mcp/bounded-response.d.ts +2 -0
  61. package/lib/types/openapi-mcp/bounded-response.d.ts.map +1 -0
  62. package/lib/types/openapi-mcp/control-plane.d.ts +17 -0
  63. package/lib/types/openapi-mcp/control-plane.d.ts.map +1 -0
  64. package/lib/types/openapi-mcp/controller.d.ts +100 -0
  65. package/lib/types/openapi-mcp/controller.d.ts.map +1 -0
  66. package/lib/types/openapi-mcp/credential-store.d.ts +14 -0
  67. package/lib/types/openapi-mcp/credential-store.d.ts.map +1 -0
  68. package/lib/types/openapi-mcp/execution-fence.d.ts +5 -0
  69. package/lib/types/openapi-mcp/execution-fence.d.ts.map +1 -0
  70. package/lib/types/openapi-mcp/manifest-source.d.ts +14 -0
  71. package/lib/types/openapi-mcp/manifest-source.d.ts.map +1 -0
  72. package/lib/types/openapi-mcp/mcp-runtime.d.ts +15 -0
  73. package/lib/types/openapi-mcp/mcp-runtime.d.ts.map +1 -0
  74. package/lib/types/openapi-mcp/reconcile-lock.d.ts +8 -0
  75. package/lib/types/openapi-mcp/reconcile-lock.d.ts.map +1 -0
  76. package/lib/types/openapi-mcp/session-observer.d.ts +19 -0
  77. package/lib/types/openapi-mcp/session-observer.d.ts.map +1 -0
  78. package/lib/types/openapi-mcp/status-tool.d.ts +4 -0
  79. package/lib/types/openapi-mcp/status-tool.d.ts.map +1 -0
  80. package/lib/types/openapi-mcp/types.d.ts +73 -0
  81. package/lib/types/openapi-mcp/types.d.ts.map +1 -0
  82. package/lib/types/sdk/index.d.ts +14 -2
  83. package/lib/types/sdk/index.d.ts.map +1 -1
  84. package/lib/types/services/chat-service.d.ts +6 -0
  85. package/lib/types/services/chat-service.d.ts.map +1 -1
  86. package/lib/types/services/desktop-attention-bridge.d.ts +2 -1
  87. package/lib/types/services/desktop-attention-bridge.d.ts.map +1 -1
  88. package/lib/types/services/service.d.ts +10 -1
  89. package/lib/types/services/service.d.ts.map +1 -1
  90. package/lib/types/services/user-ban-service.d.ts +21 -0
  91. package/lib/types/services/user-ban-service.d.ts.map +1 -0
  92. package/lib/types/tools/business/conversation/index.d.ts.map +1 -1
  93. package/lib/types/tools/business/conversation/user-ban.d.ts +5 -0
  94. package/lib/types/tools/business/conversation/user-ban.d.ts.map +1 -0
  95. package/lib/types/tools/business/index.d.ts.map +1 -1
  96. package/lib/types/tools/ports/index.d.ts +3 -2
  97. package/lib/types/tools/ports/index.d.ts.map +1 -1
  98. package/lib/types/tools/ports/user-ban.d.ts +7 -0
  99. package/lib/types/tools/ports/user-ban.d.ts.map +1 -0
  100. package/lib/types/tools/prompts/business.d.ts.map +1 -1
  101. package/lib/types/tools/registry/registrar.d.ts.map +1 -1
  102. package/lib/types/types.d.ts +35 -1
  103. package/lib/types/types.d.ts.map +1 -1
  104. package/package.json +14 -5
  105. package/lib/types/managed-ai/credential.d.ts +0 -11
  106. package/lib/types/managed-ai/credential.d.ts.map +0 -1
package/cordis.patch.yml CHANGED
@@ -15,6 +15,10 @@
15
15
  relationBaseUrl: https://relation.jotmo.cc
16
16
  intelligentBaseUrl: https://intelligent.jotmo.cc
17
17
  audioBaseUrl: https://audio.jotmo.cc
18
+ dshRemoteFeatureEnabled: true
19
+ dshRemoteRealtimeBaseUrl: https://realtime.jotmo.cc
20
+ openApiBaseUrl: https://openapi.jotmo.cc
21
+ openApiMcpEnabled: true
18
22
  extensionPublishBaseUrl: https://extension-publish.jotmo.cc
19
23
  shareWebsite: https://jiwo.cc
20
24
  extensionArtifactDirectory: ''
@@ -0,0 +1,21 @@
1
+ # DSH Account Session Isolation
2
+
3
+ Arkme desktop treats one complete `DSH_HOME` as the minimum local conversation isolation unit. The plugin never filters or rewrites DSH's private session files. The client selects an opaque Home container before exposing the Harness window, while the plugin permits authenticated reads and DSH Remote projection only after the client attests that the active container belongs to the current Arkme account.
4
+
5
+ Login, logout, phone-binding fallback and refresh-token expiry all mutate the credential store through one account-session owner. A scope change uses the Host-only desktop bridge in three steps: `account.scope.prepare` hides the old Harness surface, the owner writes or deletes credentials, and `account.scope.commit` atomically changes the container owner or schedules a client relaunch. Persistence failure calls `account.scope.abort`; commit uncertainty remains fail closed and is recovered by startup attestation.
6
+
7
+ On first upgraded launch, an existing legacy `dsh/` directory is staged for `current-account-wins` migration and moved only after the prior Harness process exits. A logged-out legacy Home becomes the current guest container. A guest Home with non-blank DSH sessions is claimed whole by the next authenticated account; an empty guest Home returns to that account's prior preferred container when one exists.
8
+
9
+ The Backend continues to derive `user_id` and `client_id` exclusively from authentication. Each local Home uses `web:<container-ref>` as its stable `profile_ref`, so Backend Runtime uniqueness and snapshot tombstones cannot collapse two Home containers into one Runtime.
10
+
11
+ ## Capability matrix
12
+
13
+ | Surface | Contract |
14
+ | --- | --- |
15
+ | Plugin Host | Owns credential transition ordering, account attestation and Remote Host gating. |
16
+ | Client/Harness | Owns the container registry, atomic legacy migration, window gate and relaunch recovery. |
17
+ | UI | Native “会话空间” menu switches only among containers owned by the active account. |
18
+ | Tools | N/A: a model must not switch the local account data root. |
19
+ | SDK | N/A: an external plugin must not switch the local account data root. |
20
+
21
+ The application isolation boundary does not defend against the operating-system user or administrator reading local DSH files directly.