@senguoyun/dsh-arkme 0.1.31 → 0.1.33

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 (136) hide show
  1. package/README.md +24 -0
  2. package/lib/client.js +2459 -2307
  3. package/lib/client.js.map +1 -1
  4. package/lib/extension-profile-restart-helper.js +17 -5
  5. package/lib/index.js +3911 -104
  6. package/lib/persistent-extension.js +1 -1
  7. package/lib/{persistent-runtime-BJ8konXI.js → persistent-runtime-DUqdJv8K.js} +30114 -768
  8. package/lib/sdk.js +38 -0
  9. package/lib/types/arkme-service.d.ts +25 -10
  10. package/lib/types/arkme-service.d.ts.map +1 -1
  11. package/lib/types/client/ArkmeBillingSettings.d.ts.map +1 -1
  12. package/lib/types/client/ArkmeBotConversationSurface.d.ts.map +1 -1
  13. package/lib/types/client/ArkmeBotSettingsPanel.d.ts.map +1 -1
  14. package/lib/types/client/ArkmeExtensionRecoveryNotice.d.ts +9 -0
  15. package/lib/types/client/ArkmeExtensionRecoveryNotice.d.ts.map +1 -0
  16. package/lib/types/client/ArkmeFooterAction.d.ts +1 -7
  17. package/lib/types/client/ArkmeFooterAction.d.ts.map +1 -1
  18. package/lib/types/client/ArkmeFooterDropdown.d.ts.map +1 -1
  19. package/lib/types/client/ArkmeGroupChatControls.d.ts +17 -1
  20. package/lib/types/client/ArkmeGroupChatControls.d.ts.map +1 -1
  21. package/lib/types/client/ArkmeLinkText.d.ts +13 -0
  22. package/lib/types/client/ArkmeLinkText.d.ts.map +1 -0
  23. package/lib/types/client/ArkmeLongArticleDialog.d.ts.map +1 -1
  24. package/lib/types/client/ArkmeMarketplace.d.ts +2 -1
  25. package/lib/types/client/ArkmeMarketplace.d.ts.map +1 -1
  26. package/lib/types/client/ArkmePersistentShell.d.ts.map +1 -1
  27. package/lib/types/client/ArkmeProductNavigation.d.ts.map +1 -1
  28. package/lib/types/client/ArkmeQuickAdd.d.ts.map +1 -1
  29. package/lib/types/client/ArkmeRichContent.d.ts +4 -21
  30. package/lib/types/client/ArkmeRichContent.d.ts.map +1 -1
  31. package/lib/types/client/ArkmeRichText.d.ts +12 -0
  32. package/lib/types/client/ArkmeRichText.d.ts.map +1 -0
  33. package/lib/types/client/ArkmeSearchSurface.d.ts.map +1 -1
  34. package/lib/types/client/ArkmeSettingsSurface.d.ts +4 -19
  35. package/lib/types/client/ArkmeSettingsSurface.d.ts.map +1 -1
  36. package/lib/types/client/ArkmeSidebar.d.ts.map +1 -1
  37. package/lib/types/client/ArkmeUpdateSurfaces.d.ts +38 -5
  38. package/lib/types/client/ArkmeUpdateSurfaces.d.ts.map +1 -1
  39. package/lib/types/client/ArkmeVirtualWorkspace.d.ts.map +1 -1
  40. package/lib/types/client/api.d.ts +1 -1
  41. package/lib/types/client/api.d.ts.map +1 -1
  42. package/lib/types/client/bot-chat-directory-projection.d.ts +7 -0
  43. package/lib/types/client/bot-chat-directory-projection.d.ts.map +1 -0
  44. package/lib/types/client/desktop-quarantine-status.d.ts +3 -0
  45. package/lib/types/client/desktop-quarantine-status.d.ts.map +1 -0
  46. package/lib/types/client/index.d.ts +0 -2
  47. package/lib/types/client/index.d.ts.map +1 -1
  48. package/lib/types/client/link-metadata-client.d.ts +20 -0
  49. package/lib/types/client/link-metadata-client.d.ts.map +1 -0
  50. package/lib/types/client/realtime-client-events.d.ts +4 -1
  51. package/lib/types/client/realtime-client-events.d.ts.map +1 -1
  52. package/lib/types/client/redesign/contacts/AlphabeticalContactList.d.ts +3 -3
  53. package/lib/types/client/redesign/contacts/AlphabeticalContactList.d.ts.map +1 -1
  54. package/lib/types/client/redesign/contacts/ContactDirectorySurface.d.ts +3 -3
  55. package/lib/types/client/redesign/contacts/ContactDirectorySurface.d.ts.map +1 -1
  56. package/lib/types/client/related-recordings.d.ts +3 -0
  57. package/lib/types/client/related-recordings.d.ts.map +1 -1
  58. package/lib/types/client/text-link-parser.d.ts +10 -0
  59. package/lib/types/client/text-link-parser.d.ts.map +1 -0
  60. package/lib/types/client/text-link-tlds.d.ts +2 -0
  61. package/lib/types/client/text-link-tlds.d.ts.map +1 -0
  62. package/lib/types/client/ui-controller.d.ts.map +1 -1
  63. package/lib/types/client/update-presentation.d.ts +1 -1
  64. package/lib/types/client/update-presentation.d.ts.map +1 -1
  65. package/lib/types/client/update-ui-controller.d.ts +1 -1
  66. package/lib/types/client/update-ui-controller.d.ts.map +1 -1
  67. package/lib/types/dsh-host-capabilities.d.ts +10 -0
  68. package/lib/types/dsh-host-capabilities.d.ts.map +1 -0
  69. package/lib/types/dsh-remote/api-proxy-adapter.d.ts +250 -0
  70. package/lib/types/dsh-remote/api-proxy-adapter.d.ts.map +1 -0
  71. package/lib/types/dsh-remote/channel-manager.d.ts +45 -0
  72. package/lib/types/dsh-remote/channel-manager.d.ts.map +1 -0
  73. package/lib/types/dsh-remote/command-ledger.d.ts +60 -0
  74. package/lib/types/dsh-remote/command-ledger.d.ts.map +1 -0
  75. package/lib/types/dsh-remote/control-plane.d.ts +17 -0
  76. package/lib/types/dsh-remote/control-plane.d.ts.map +1 -0
  77. package/lib/types/dsh-remote/crypto.d.ts +11 -0
  78. package/lib/types/dsh-remote/crypto.d.ts.map +1 -0
  79. package/lib/types/dsh-remote/default-socket-factory.d.ts +8 -0
  80. package/lib/types/dsh-remote/default-socket-factory.d.ts.map +1 -0
  81. package/lib/types/dsh-remote/dsh-event-contract.d.ts +29 -0
  82. package/lib/types/dsh-remote/dsh-event-contract.d.ts.map +1 -0
  83. package/lib/types/dsh-remote/errors.d.ts +9 -0
  84. package/lib/types/dsh-remote/errors.d.ts.map +1 -0
  85. package/lib/types/dsh-remote/host.d.ts +85 -0
  86. package/lib/types/dsh-remote/host.d.ts.map +1 -0
  87. package/lib/types/dsh-remote/protocol-v1.d.ts +6 -0
  88. package/lib/types/dsh-remote/protocol-v1.d.ts.map +1 -0
  89. package/lib/types/dsh-remote/realtime-transport.d.ts +84 -0
  90. package/lib/types/dsh-remote/realtime-transport.d.ts.map +1 -0
  91. package/lib/types/dsh-remote/runtime-secret-broker.d.ts +28 -0
  92. package/lib/types/dsh-remote/runtime-secret-broker.d.ts.map +1 -0
  93. package/lib/types/dsh-remote/runtime-store.d.ts +39 -0
  94. package/lib/types/dsh-remote/runtime-store.d.ts.map +1 -0
  95. package/lib/types/dsh-remote/transport-fragment.d.ts +10 -0
  96. package/lib/types/dsh-remote/transport-fragment.d.ts.map +1 -0
  97. package/lib/types/dsh-remote/types.d.ts +164 -0
  98. package/lib/types/dsh-remote/types.d.ts.map +1 -0
  99. package/lib/types/extensions/desktop-quarantine.d.ts +79 -0
  100. package/lib/types/extensions/desktop-quarantine.d.ts.map +1 -0
  101. package/lib/types/extensions/profile-installer.d.ts +5 -0
  102. package/lib/types/extensions/profile-installer.d.ts.map +1 -1
  103. package/lib/types/extensions/profile-restart-helper.d.ts +3 -1
  104. package/lib/types/extensions/profile-restart-helper.d.ts.map +1 -1
  105. package/lib/types/harness-embed-route.d.ts +11 -1
  106. package/lib/types/harness-embed-route.d.ts.map +1 -1
  107. package/lib/types/host-api.d.ts +5 -1
  108. package/lib/types/host-api.d.ts.map +1 -1
  109. package/lib/types/index.d.ts +15 -0
  110. package/lib/types/index.d.ts.map +1 -1
  111. package/lib/types/keychain-store.d.ts +33 -0
  112. package/lib/types/keychain-store.d.ts.map +1 -1
  113. package/lib/types/link-metadata.d.ts +9 -0
  114. package/lib/types/link-metadata.d.ts.map +1 -0
  115. package/lib/types/managed-ai/adapter.d.ts +2 -0
  116. package/lib/types/managed-ai/adapter.d.ts.map +1 -1
  117. package/lib/types/sdk/index.d.ts +9 -2
  118. package/lib/types/sdk/index.d.ts.map +1 -1
  119. package/lib/types/services/bot-conversation-service.d.ts +59 -0
  120. package/lib/types/services/bot-conversation-service.d.ts.map +1 -0
  121. package/lib/types/services/bot-service.d.ts +11 -29
  122. package/lib/types/services/bot-service.d.ts.map +1 -1
  123. package/lib/types/services/chat-service.d.ts +30 -5
  124. package/lib/types/services/chat-service.d.ts.map +1 -1
  125. package/lib/types/services/contact-directory-service.d.ts.map +1 -1
  126. package/lib/types/services/link-metadata-service.d.ts +73 -0
  127. package/lib/types/services/link-metadata-service.d.ts.map +1 -0
  128. package/lib/types/services/related-recording-service.d.ts +1 -0
  129. package/lib/types/services/related-recording-service.d.ts.map +1 -1
  130. package/lib/types/services/service.d.ts +4 -2
  131. package/lib/types/services/service.d.ts.map +1 -1
  132. package/lib/types/tools/ports/bots.d.ts +1 -1
  133. package/lib/types/tools/ports/bots.d.ts.map +1 -1
  134. package/lib/types/types.d.ts +55 -21
  135. package/lib/types/types.d.ts.map +1 -1
  136. package/package.json +24 -23
@@ -35,15 +35,18 @@ function parseExtensionProfileRestartPlan(value) {
35
35
  installStoreDirectory: stringValue(source.installStoreDirectory),
36
36
  previousInstalled: source.previousInstalled !== null && typeof source.previousInstalled === "object" ? source.previousInstalled : void 0,
37
37
  activationChange: source.activationChange === true ? true : void 0,
38
+ desktopQuarantineActivation: source.desktopQuarantineActivation === true ? true : void 0,
38
39
  previousProfileIncluded: typeof source.previousProfileIncluded === "boolean" ? source.previousProfileIncluded : void 0,
39
40
  healthUrl: stringValue(source.healthUrl),
40
- logPath: stringValue(source.logPath)
41
+ logPath: stringValue(source.logPath),
42
+ runtimeReleaseId: stringValue(source.runtimeReleaseId)
41
43
  };
42
44
  if (![
43
45
  1,
44
46
  2,
45
- 3
46
- ].includes(plan.schemaVersion) || typeof plan.parentPid !== "number" || !Number.isSafeInteger(plan.parentPid) || plan.parentPid <= 0 || plan.execPath === void 0 || plan.dshBinPath === void 0 || plan.restartArgv.length === 0 || plan.dshHome === void 0 || plan.profileName === void 0 || plan.packageName === void 0 || plan.extensionId === void 0 || typeof plan.expectActive !== "boolean" || plan.installStoreDirectory === void 0 || plan.healthUrl === void 0 || plan.logPath === void 0 || plan.schemaVersion === 3 && (plan.activationChange !== true || plan.previousInstalled === void 0 || plan.previousProfileIncluded === void 0) || plan.schemaVersion !== 3 && plan.activationChange === true || (plan.schemaVersion === 1 ? !/^@arkme-local\/ext-[a-f0-9]{16}$/.test(plan.packageName) : !/^(?:@[a-z0-9][a-z0-9._-]*\/)?[a-z0-9][a-z0-9._-]*$/.test(plan.packageName))) throw new Error("extension restart plan is incomplete");
47
+ 3,
48
+ 4
49
+ ].includes(plan.schemaVersion) || typeof plan.parentPid !== "number" || !Number.isSafeInteger(plan.parentPid) || plan.parentPid <= 0 || plan.execPath === void 0 || plan.dshBinPath === void 0 || plan.restartArgv.length === 0 || plan.dshHome === void 0 || plan.profileName === void 0 || plan.packageName === void 0 || plan.extensionId === void 0 || typeof plan.expectActive !== "boolean" || plan.installStoreDirectory === void 0 || plan.healthUrl === void 0 || plan.logPath === void 0 || plan.runtimeReleaseId !== void 0 && !/^electron-runtime-v1-[a-f0-9]{32}$/.test(plan.runtimeReleaseId) || plan.schemaVersion === 3 && (plan.activationChange !== true || plan.desktopQuarantineActivation === true || plan.previousInstalled === void 0 || plan.previousProfileIncluded === void 0) || plan.schemaVersion === 4 && (plan.activationChange !== true || plan.desktopQuarantineActivation !== true || plan.previousInstalled !== void 0 || plan.previousProfileIncluded !== false || plan.expectActive !== true || plan.extensionId !== `desktop-quarantine:${plan.packageName}`) || ![3, 4].includes(plan.schemaVersion) && plan.activationChange === true || plan.schemaVersion !== 4 && plan.desktopQuarantineActivation === true || (plan.schemaVersion === 1 ? !/^@arkme-local\/ext-[a-f0-9]{16}$/.test(plan.packageName) : !/^(?:@[a-z0-9][a-z0-9._-]*\/)?[a-z0-9][a-z0-9._-]*$/.test(plan.packageName))) throw new Error("extension restart plan is incomplete");
47
50
  const health = new URL(plan.healthUrl);
48
51
  if (health.protocol !== "http:" || !["127.0.0.1", "localhost"].includes(health.hostname)) throw new Error("extension restart health URL must be loopback HTTP");
49
52
  return {
@@ -88,12 +91,21 @@ async function healthy(plan) {
88
91
  "Content-Type": "application/json",
89
92
  Origin: new URL(plan.healthUrl).origin
90
93
  },
91
- body: JSON.stringify({ operation: "extensions.installed-list" }),
94
+ body: JSON.stringify(plan.desktopQuarantineActivation === true ? {
95
+ operation: "extensions.quarantine.health",
96
+ params: { packageName: plan.packageName }
97
+ } : { operation: "extensions.installed-list" }),
92
98
  signal: AbortSignal.timeout(2e3)
93
99
  });
94
100
  if (response.ok) {
95
101
  const body = await response.json();
96
- const installed = body.value?.find((item) => item.extensionId === plan.extensionId);
102
+ if (plan.desktopQuarantineActivation === true) {
103
+ const status = body.value;
104
+ if (body.ok === true && status?.profileEnabled === true && status.active === true) return true;
105
+ await new Promise((resolve) => setTimeout(resolve, 500));
106
+ continue;
107
+ }
108
+ const installed = Array.isArray(body.value) ? body.value.find((item) => item.extensionId === plan.extensionId) : void 0;
97
109
  if (body.ok === true && (plan.activationChange === true ? plan.expectActive ? installed?.enabled === true && installed.active === true : installed?.enabled === false && installed.active === false : plan.expectActive ? installed?.active === true : installed === void 0)) return true;
98
110
  }
99
111
  } catch {}