@senguoyun/dsh-arkme 0.1.74 → 0.1.76

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 (121) hide show
  1. package/docs/desktop-screenshot.md +75 -28
  2. package/lib/bundle-runtime.js +1 -1
  3. package/lib/client.js +2511 -1405
  4. package/lib/client.js.map +1 -1
  5. package/lib/extension-profile-restart-helper.js +5 -5
  6. package/lib/harness-model-client.js +86 -4
  7. package/lib/harness-native-selection-client.js +62 -0
  8. package/lib/harness-session-client.js +109 -6
  9. package/lib/harness-sidebar-client.js +2055 -6
  10. package/lib/index.js +4495 -1501
  11. package/lib/{install-store-bnyQDtYt.js → install-store-CAljxSo2.js} +2 -2
  12. package/lib/persistent-extension.js +1 -1
  13. package/lib/{plugin-updater-helper-Ny1szQA0.js → plugin-updater-helper-BWIKYugE.js} +5 -5
  14. package/lib/{plugin-updater-helper-D43MAnTY.js → plugin-updater-helper-DVcpMGBt.js} +1 -1
  15. package/lib/plugin-updater-helper.js +1 -1
  16. package/lib/{profile-bundle-policy-DLXDyohJ.js → profile-bundle-policy-Cwi2iuHi.js} +3 -3
  17. package/lib/sdk.js +62 -0
  18. package/lib/types/client/ArkmeArkoSurface.d.ts.map +1 -1
  19. package/lib/types/client/ArkmeComposerScreenshotButton.d.ts.map +1 -1
  20. package/lib/types/client/ArkmeScreenshotCropDialog.d.ts +2 -2
  21. package/lib/types/client/ArkmeScreenshotCropDialog.d.ts.map +1 -1
  22. package/lib/types/client/ArkmeScreenshotEditor.d.ts +15 -0
  23. package/lib/types/client/ArkmeScreenshotEditor.d.ts.map +1 -0
  24. package/lib/types/client/ArkmeScreenshotShortcutSetting.d.ts +2 -0
  25. package/lib/types/client/ArkmeScreenshotShortcutSetting.d.ts.map +1 -0
  26. package/lib/types/client/ArkmeScreenshotTooltip.d.ts +8 -0
  27. package/lib/types/client/ArkmeScreenshotTooltip.d.ts.map +1 -0
  28. package/lib/types/client/ArkmeScreenshotWindow.d.ts +2 -0
  29. package/lib/types/client/ArkmeScreenshotWindow.d.ts.map +1 -0
  30. package/lib/types/client/ArkmeSettingsSurface.d.ts.map +1 -1
  31. package/lib/types/client/ArkoModelMenu.d.ts +10 -0
  32. package/lib/types/client/ArkoModelMenu.d.ts.map +1 -0
  33. package/lib/types/client/DeepSeekHarnessSurface.d.ts +4 -2
  34. package/lib/types/client/DeepSeekHarnessSurface.d.ts.map +1 -1
  35. package/lib/types/client/arko-model-cache.d.ts +21 -0
  36. package/lib/types/client/arko-model-cache.d.ts.map +1 -0
  37. package/lib/types/client/harness-account-sessions.d.ts +68 -0
  38. package/lib/types/client/harness-account-sessions.d.ts.map +1 -0
  39. package/lib/types/client/harness-model-client.d.ts.map +1 -1
  40. package/lib/types/client/harness-native-navigation.d.ts +12 -0
  41. package/lib/types/client/harness-native-navigation.d.ts.map +1 -0
  42. package/lib/types/client/harness-session-client.d.ts +17 -1
  43. package/lib/types/client/harness-session-client.d.ts.map +1 -1
  44. package/lib/types/client/harness-session-dropdown.d.ts.map +1 -1
  45. package/lib/types/client/harness-session-menu-bridge.d.ts +1 -0
  46. package/lib/types/client/harness-session-menu-bridge.d.ts.map +1 -1
  47. package/lib/types/client/harness-session-origin.d.ts +8 -0
  48. package/lib/types/client/harness-session-origin.d.ts.map +1 -0
  49. package/lib/types/client/harness-sidebar-client.d.ts.map +1 -1
  50. package/lib/types/client/index.d.ts.map +1 -1
  51. package/lib/types/client/native-screenshot.d.ts +25 -0
  52. package/lib/types/client/native-screenshot.d.ts.map +1 -0
  53. package/lib/types/client/screenshot-editor-icons.d.ts +6 -0
  54. package/lib/types/client/screenshot-editor-icons.d.ts.map +1 -0
  55. package/lib/types/client/screenshot-editor-model.d.ts +40 -0
  56. package/lib/types/client/screenshot-editor-model.d.ts.map +1 -0
  57. package/lib/types/client/screenshot-editor-render.d.ts +4 -0
  58. package/lib/types/client/screenshot-editor-render.d.ts.map +1 -0
  59. package/lib/types/client/screenshot-shortcut.d.ts +17 -0
  60. package/lib/types/client/screenshot-shortcut.d.ts.map +1 -0
  61. package/lib/types/dsh-remote/account-session-observer.d.ts +9 -0
  62. package/lib/types/dsh-remote/account-session-observer.d.ts.map +1 -0
  63. package/lib/types/dsh-remote/account-session-tools.d.ts +3 -0
  64. package/lib/types/dsh-remote/account-session-tools.d.ts.map +1 -0
  65. package/lib/types/dsh-remote/account-session-types.d.ts +71 -0
  66. package/lib/types/dsh-remote/account-session-types.d.ts.map +1 -0
  67. package/lib/types/dsh-remote/account-sessions.d.ts +36 -0
  68. package/lib/types/dsh-remote/account-sessions.d.ts.map +1 -0
  69. package/lib/types/dsh-remote/api-proxy-adapter.d.ts +28 -0
  70. package/lib/types/dsh-remote/api-proxy-adapter.d.ts.map +1 -1
  71. package/lib/types/dsh-remote/channel-manager.d.ts +3 -0
  72. package/lib/types/dsh-remote/channel-manager.d.ts.map +1 -1
  73. package/lib/types/dsh-remote/cloud-native-transport.d.ts +22 -0
  74. package/lib/types/dsh-remote/cloud-native-transport.d.ts.map +1 -0
  75. package/lib/types/dsh-remote/cloud-turn-history.d.ts +21 -0
  76. package/lib/types/dsh-remote/cloud-turn-history.d.ts.map +1 -0
  77. package/lib/types/dsh-remote/connection-diagnostics.d.ts +5 -0
  78. package/lib/types/dsh-remote/connection-diagnostics.d.ts.map +1 -1
  79. package/lib/types/dsh-remote/control-plane.d.ts +1 -0
  80. package/lib/types/dsh-remote/control-plane.d.ts.map +1 -1
  81. package/lib/types/dsh-remote/desktop-session-presence.d.ts +4 -1
  82. package/lib/types/dsh-remote/desktop-session-presence.d.ts.map +1 -1
  83. package/lib/types/dsh-remote/gateway-api.d.ts.map +1 -1
  84. package/lib/types/dsh-remote/host.d.ts +7 -1
  85. package/lib/types/dsh-remote/host.d.ts.map +1 -1
  86. package/lib/types/dsh-remote/native-history-cache.d.ts +12 -0
  87. package/lib/types/dsh-remote/native-history-cache.d.ts.map +1 -0
  88. package/lib/types/dsh-remote/native-history.d.ts +18 -0
  89. package/lib/types/dsh-remote/native-history.d.ts.map +1 -0
  90. package/lib/types/dsh-remote/native-socket.d.ts +17 -0
  91. package/lib/types/dsh-remote/native-socket.d.ts.map +1 -0
  92. package/lib/types/dsh-remote/native-transport.d.ts +29 -0
  93. package/lib/types/dsh-remote/native-transport.d.ts.map +1 -0
  94. package/lib/types/dsh-remote/protocol-v1.d.ts.map +1 -1
  95. package/lib/types/dsh-remote/realtime-transport.d.ts +3 -0
  96. package/lib/types/dsh-remote/realtime-transport.d.ts.map +1 -1
  97. package/lib/types/dsh-remote/runtime-secret-broker.d.ts +1 -0
  98. package/lib/types/dsh-remote/runtime-secret-broker.d.ts.map +1 -1
  99. package/lib/types/dsh-remote/transport-fragment.d.ts +5 -0
  100. package/lib/types/dsh-remote/transport-fragment.d.ts.map +1 -1
  101. package/lib/types/dsh-remote/turn-projector.d.ts +2 -1
  102. package/lib/types/dsh-remote/turn-projector.d.ts.map +1 -1
  103. package/lib/types/dsh-remote/turn-upload-outbox.d.ts +6 -3
  104. package/lib/types/dsh-remote/turn-upload-outbox.d.ts.map +1 -1
  105. package/lib/types/dsh-remote/types.d.ts +6 -3
  106. package/lib/types/dsh-remote/types.d.ts.map +1 -1
  107. package/lib/types/harness-embed-route.d.ts.map +1 -1
  108. package/lib/types/harness-native-transport-script.d.ts +11 -0
  109. package/lib/types/harness-native-transport-script.d.ts.map +1 -0
  110. package/lib/types/harness-session-restore-script.d.ts +1 -1
  111. package/lib/types/harness-session-restore-script.d.ts.map +1 -1
  112. package/lib/types/host-api.d.ts +3 -1
  113. package/lib/types/host-api.d.ts.map +1 -1
  114. package/lib/types/index.d.ts.map +1 -1
  115. package/lib/types/sdk/index.d.ts +34 -0
  116. package/lib/types/sdk/index.d.ts.map +1 -1
  117. package/lib/types/types.d.ts +2 -1
  118. package/lib/types/types.d.ts.map +1 -1
  119. package/package.json +6 -5
  120. package/lib/{bundle-runtime-CE73h3vS.js → bundle-runtime-QUG0eHSZ.js} +1 -1
  121. package/lib/{persistent-runtime-Cb8xQ4w0.js → persistent-runtime-oMlB7XX_.js} +6 -6
@@ -1,6 +1,6 @@
1
- import { c as securePrivateFileSync, o as securePrivateDirectorySync } from "./profile-bundle-policy-DLXDyohJ.js";
2
- import { mkdirSync } from "node:fs";
1
+ import { c as securePrivateFileSync, o as securePrivateDirectorySync } from "./profile-bundle-policy-Cwi2iuHi.js";
3
2
  import { randomUUID } from "node:crypto";
3
+ import { mkdirSync } from "node:fs";
4
4
  import { join } from "node:path";
5
5
  import { DatabaseSync } from "node:sqlite";
6
6
  //#region src/extensions/install-store.ts
@@ -1,2 +1,2 @@
1
- import { a as persistentArkmeExtensionActive, i as invokePersistentArkmeExtension, n as applyPersistentArkmeHostExtension, o as persistentArkmeExtensionRuntimeState, r as deactivatePersistentArkmeExtension, t as activatePersistentArkmeExtension } from "./persistent-runtime-Cb8xQ4w0.js";
1
+ import { a as persistentArkmeExtensionActive, i as invokePersistentArkmeExtension, n as applyPersistentArkmeHostExtension, o as persistentArkmeExtensionRuntimeState, r as deactivatePersistentArkmeExtension, t as activatePersistentArkmeExtension } from "./persistent-runtime-oMlB7XX_.js";
2
2
  export { activatePersistentArkmeExtension, applyPersistentArkmeHostExtension, deactivatePersistentArkmeExtension, invokePersistentArkmeExtension, persistentArkmeExtensionActive, persistentArkmeExtensionRuntimeState };
@@ -1,11 +1,11 @@
1
- import { a as securePrivateDirectory, i as prepareProfilePackageManager, n as isArkmeProfilePackageName, s as securePrivateFile, t as applyArkmeProfileBundlePolicy } from "./profile-bundle-policy-DLXDyohJ.js";
2
- import { appendFileSync, closeSync, existsSync, mkdirSync, openSync, readFileSync, realpathSync } from "node:fs";
1
+ import { a as securePrivateDirectory, i as prepareProfilePackageManager, n as isArkmeProfilePackageName, s as securePrivateFile, t as applyArkmeProfileBundlePolicy } from "./profile-bundle-policy-Cwi2iuHi.js";
3
2
  import { createHash, randomUUID } from "node:crypto";
4
- import { chmod as chmod$1, lstat, mkdir, readFile, rename, unlink, writeFile } from "node:fs/promises";
5
- import { spawn, spawnSync } from "node:child_process";
3
+ import { appendFileSync, closeSync, existsSync, mkdirSync, openSync, readFileSync, realpathSync } from "node:fs";
6
4
  import { dirname, isAbsolute, join, posix, resolve } from "node:path";
7
- import semver from "semver";
5
+ import { spawn, spawnSync } from "node:child_process";
8
6
  import { gunzipSync } from "node:zlib";
7
+ import { chmod as chmod$1, lstat, mkdir, readFile, rename, unlink, writeFile } from "node:fs/promises";
8
+ import semver from "semver";
9
9
  //#region src/plugin-update-artifact.ts
10
10
  const ARKME_PLUGIN_PACKAGE_NAME = "@senguoyun/dsh-arkme";
11
11
  const PLUGIN_UPDATE_API_PATH = "/api/public/v1/arkme/plugin-update/latest";
@@ -1,2 +1,2 @@
1
- import { i as finalizeManagedPluginUpdate, s as rollbackManagedPluginUpdate } from "./plugin-updater-helper-Ny1szQA0.js";
1
+ import { i as finalizeManagedPluginUpdate, s as rollbackManagedPluginUpdate } from "./plugin-updater-helper-BWIKYugE.js";
2
2
  export { finalizeManagedPluginUpdate, rollbackManagedPluginUpdate };
@@ -1,4 +1,4 @@
1
- import { l as runPluginUpdaterCli } from "./plugin-updater-helper-Ny1szQA0.js";
1
+ import { l as runPluginUpdaterCli } from "./plugin-updater-helper-BWIKYugE.js";
2
2
  //#region src/plugin-updater-helper-cli.ts
3
3
  await runPluginUpdaterCli(process.argv[2]);
4
4
  //#endregion
@@ -1,7 +1,7 @@
1
- import { chmod, chmodSync, lstatSync, readFileSync, renameSync, rmSync, writeFileSync } from "node:fs";
2
1
  import { randomUUID } from "node:crypto";
2
+ import { chmod, chmodSync, lstatSync, readFileSync, renameSync, rmSync, writeFileSync } from "node:fs";
3
+ import { basename, dirname, join, win32 } from "node:path";
3
4
  import { execFile, execFileSync, spawnSync } from "node:child_process";
4
- import { basename, dirname, join } from "node:path";
5
5
  import { promisify } from "node:util";
6
6
  //#region src/private-filesystem.ts
7
7
  const execFileAsync = promisify(execFile);
@@ -33,7 +33,7 @@ function windowsUserSid() {
33
33
  function windowsAclArguments(path, directory) {
34
34
  const inheritance = directory ? "(OI)(CI)" : "";
35
35
  return [
36
- path,
36
+ win32.toNamespacedPath(path),
37
37
  "/inheritance:r",
38
38
  "/grant:r",
39
39
  `*${windowsUserSid()}:${inheritance}F`,
package/lib/sdk.js CHANGED
@@ -1,3 +1,46 @@
1
+ //#region src/dsh-remote/account-session-observer.ts
2
+ /** Browser/SDK receive-only invalidation adapter; disposal aborts the subscription. */
3
+ function observeDshAccountSession(route, fetchImpl, target, changed, options = {}) {
4
+ const controller = new AbortController();
5
+ const signal = options.signal ? AbortSignal.any([controller.signal, options.signal]) : controller.signal;
6
+ (async () => {
7
+ const response = await fetchImpl(route, {
8
+ method: "POST",
9
+ credentials: "same-origin",
10
+ headers: { "Content-Type": "application/json" },
11
+ body: JSON.stringify({
12
+ operation: "remote.session.observe",
13
+ params: target
14
+ }),
15
+ signal
16
+ });
17
+ if (!response.ok || !response.headers.get("content-type")?.includes("application/x-ndjson") || !response.body) throw new Error("远程连接不可用");
18
+ const reader = response.body.getReader(), decoder = new TextDecoder();
19
+ let buffer = "";
20
+ try {
21
+ while (!signal.aborted) {
22
+ const { value, done } = await reader.read();
23
+ if (done) throw new Error("远程连接已断开");
24
+ buffer += decoder.decode(value, { stream: true });
25
+ if (buffer.length > 4096) throw new Error("远程通知格式无效");
26
+ let end;
27
+ while ((end = buffer.indexOf("\n")) >= 0) {
28
+ const message = JSON.parse(buffer.slice(0, end));
29
+ buffer = buffer.slice(end + 1);
30
+ if (message.error) throw new Error(message.error);
31
+ if (message.changed && !signal.aborted) changed();
32
+ }
33
+ }
34
+ } finally {
35
+ await reader.cancel().catch(() => void 0);
36
+ reader.releaseLock();
37
+ }
38
+ })().catch((error) => {
39
+ if (!signal.aborted) options.onError?.(error);
40
+ });
41
+ return () => controller.abort();
42
+ }
43
+ //#endregion
1
44
  //#region src/record-owner-id.ts
2
45
  function recordOwnerId(value) {
3
46
  if (typeof value === "number") return Number.isSafeInteger(value) && value > 0 ? value : 0;
@@ -1393,6 +1436,25 @@ var ArkmeSdk = class {
1393
1436
  if (timeout !== void 0) clearTimeout(timeout);
1394
1437
  };
1395
1438
  }
1439
+ async listDshAccountSessions(options = {}, signal) {
1440
+ const result = await this.call("remote.sessions.list", options, signal);
1441
+ if (result.contractVersion !== 1) throw new Error("账号会话协议版本不受支持");
1442
+ return result;
1443
+ }
1444
+ async readDshAccountSession(options, signal) {
1445
+ return await this.call("remote.session.read", options, signal);
1446
+ }
1447
+ async commandDshAccountSession(options, signal) {
1448
+ return await this.call("remote.session.command", options, signal);
1449
+ }
1450
+ /** Event-driven invalidation only. Abort or dispose closes the Host subscription. */
1451
+ observeDshAccountSession(target, changed, options = {}) {
1452
+ return observeDshAccountSession(this.route, this.fetchImpl, target, changed, options);
1453
+ }
1454
+ /** Account-authorized native DSH carrier. Callers retain native RPC result semantics. */
1455
+ async nativeDshRequest(options, signal) {
1456
+ return await this.call("remote.session.native", options, signal);
1457
+ }
1396
1458
  async currentDesktopSession(signal) {
1397
1459
  return await this.call("remote.currentSession", void 0, signal);
1398
1460
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ArkmeArkoSurface.d.ts","sourceRoot":"","sources":["../../../src/client/ArkmeArkoSurface.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAGV,oBAAoB,EAQrB,MAAM,aAAa,CAAA;AA4BpB,KAAK,eAAe,GAAG,MAAM,GAAG,WAAW,GAAG,SAAS,CAAA;AACvD,KAAK,iBAAiB,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAA;AAGrD,UAAU,WAAW;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,eAAe,CAAA;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,iBAAiB,CAAA;IACzB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,4BAA4B,CAAC,EAAE,MAAM,CAAA;IACrC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B;AAED,UAAU,sBAAsB;IAC9B,cAAc,EAAE,MAAM,CAAA;IACtB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,UAAU,aAAc,SAAQ,sBAAsB;IACpD,SAAS,EAAE,MAAM,CAAA;CAClB;AA6JD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAWnF;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,iBAAiB,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAE7F;AAED,wBAAgB,sBAAsB,CACpC,iBAAiB,EAAE,MAAM,EACzB,oBAAoB,EAAE,MAAM,EAC5B,gBAAgB,EAAE,MAAM,GACvB,MAAM,CAER;AAgBD,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,oBAAoB,EAAE,EAC7B,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,GACb,OAAO,CAMT;AAkED,wBAAgB,eAAe,CAC7B,KAAK,EAAE,oBAAoB,EAAE,EAC7B,SAAS,EAAE,MAAM,GAChB,aAAa,GAAG,SAAS,CAS3B;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,GAAG,WAAW,EAAE,CAWjG;AA6BD,wBAAgB,gBAAgB,gCA80B/B"}
1
+ {"version":3,"file":"ArkmeArkoSurface.d.ts","sourceRoot":"","sources":["../../../src/client/ArkmeArkoSurface.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAGV,oBAAoB,EAQrB,MAAM,aAAa,CAAA;AA8BpB,KAAK,eAAe,GAAG,MAAM,GAAG,WAAW,GAAG,SAAS,CAAA;AACvD,KAAK,iBAAiB,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAA;AAGrD,UAAU,WAAW;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,eAAe,CAAA;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,iBAAiB,CAAA;IACzB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,4BAA4B,CAAC,EAAE,MAAM,CAAA;IACrC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B;AAED,UAAU,sBAAsB;IAC9B,cAAc,EAAE,MAAM,CAAA;IACtB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,UAAU,aAAc,SAAQ,sBAAsB;IACpD,SAAS,EAAE,MAAM,CAAA;CAClB;AAiJD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAWnF;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,iBAAiB,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAE7F;AAED,wBAAgB,sBAAsB,CACpC,iBAAiB,EAAE,MAAM,EACzB,oBAAoB,EAAE,MAAM,EAC5B,gBAAgB,EAAE,MAAM,GACvB,MAAM,CAER;AAgBD,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,oBAAoB,EAAE,EAC7B,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,GACb,OAAO,CAMT;AAkED,wBAAgB,eAAe,CAC7B,KAAK,EAAE,oBAAoB,EAAE,EAC7B,SAAS,EAAE,MAAM,GAChB,aAAa,GAAG,SAAS,CAS3B;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,GAAG,WAAW,EAAE,CAWjG;AA6BD,wBAAgB,gBAAgB,gCA40B/B"}
@@ -1 +1 @@
1
- {"version":3,"file":"ArkmeComposerScreenshotButton.d.ts","sourceRoot":"","sources":["../../../src/client/ArkmeComposerScreenshotButton.tsx"],"names":[],"mappings":"AASA,wBAAgB,6BAA6B,CAAC,KAAK,EAAE;IACnD,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,EAAE,MAAM,OAAO,CAAA;IACxB,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,WAAW,GAAG,IAAI,CAAA;KAAE,KAAK,MAAM,IAAI,CAAA;IAC7E,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACrC,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CACnC,+BA6FA"}
1
+ {"version":3,"file":"ArkmeComposerScreenshotButton.d.ts","sourceRoot":"","sources":["../../../src/client/ArkmeComposerScreenshotButton.tsx"],"names":[],"mappings":"AAYA,wBAAgB,6BAA6B,CAAC,KAAK,EAAE;IACnD,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,EAAE,MAAM,OAAO,CAAA;IACxB,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,WAAW,GAAG,IAAI,CAAA;KAAE,KAAK,MAAM,IAAI,CAAA;IAC7E,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACrC,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CACnC,+BAgHA"}
@@ -1,5 +1,5 @@
1
- import { type RefObject } from 'react';
2
- import { type ScreenshotFrame } from './browser-screenshot.js';
1
+ import type { RefObject } from 'react';
2
+ import type { ScreenshotFrame } from './browser-screenshot.js';
3
3
  export declare function ArkmeScreenshotCropDialog({ frame, rootRef, onClose, onComplete }: {
4
4
  frame: ScreenshotFrame;
5
5
  rootRef: RefObject<HTMLDivElement>;
@@ -1 +1 @@
1
- {"version":3,"file":"ArkmeScreenshotCropDialog.d.ts","sourceRoot":"","sources":["../../../src/client/ArkmeScreenshotCropDialog.tsx"],"names":[],"mappings":"AACA,OAAO,EAA0D,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAI9F,OAAO,EAA4D,KAAK,eAAe,EAAuB,MAAM,yBAAyB,CAAA;AAW7I,wBAAgB,yBAAyB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE;IACjF,KAAK,EAAE,eAAe,CAAA;IACtB,OAAO,EAAE,SAAS,CAAC,cAAc,CAAC,CAAA;IAClC,OAAO,IAAI,IAAI,CAAA;IACf,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAA;CAC7B,+BAuGA"}
1
+ {"version":3,"file":"ArkmeScreenshotCropDialog.d.ts","sourceRoot":"","sources":["../../../src/client/ArkmeScreenshotCropDialog.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,OAAO,CAAA;AACpC,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,yBAAyB,CAAA;AAE5D,wBAAgB,yBAAyB,CAAC,EAAC,KAAK,EAAC,OAAO,EAAC,OAAO,EAAC,UAAU,EAAC,EAAC;IAAC,KAAK,EAAC,eAAe,CAAC;IAAA,OAAO,EAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAAA,OAAO,IAAG,IAAI,CAAC;IAAA,UAAU,CAAC,IAAI,EAAC,IAAI,GAAE,IAAI,CAAA;CAAC,+BAE/K"}
@@ -0,0 +1,15 @@
1
+ import type { ScreenshotFrame } from './browser-screenshot.js';
2
+ import { type Rect } from './screenshot-editor-model.js';
3
+ interface Props {
4
+ frame: ScreenshotFrame;
5
+ desktop?: boolean;
6
+ windows?: readonly Rect[];
7
+ onClose(): void;
8
+ onComplete(blob: Blob): void | Promise<void>;
9
+ onSave?(blob: Blob): Promise<boolean>;
10
+ onReady?(): void;
11
+ onSelect?(): Promise<boolean>;
12
+ }
13
+ export declare function ArkmeScreenshotEditor({ frame, desktop, windows, onClose, onComplete, onSave, onReady, onSelect }: Props): import("react").JSX.Element;
14
+ export {};
15
+ //# sourceMappingURL=ArkmeScreenshotEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArkmeScreenshotEditor.d.ts","sourceRoot":"","sources":["../../../src/client/ArkmeScreenshotEditor.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,EAA2H,KAAK,IAAI,EAAa,MAAM,8BAA8B,CAAA;AAM5L,UAAU,KAAK;IACd,KAAK,EAAC,eAAe,CAAC;IAAC,OAAO,CAAC,EAAC,OAAO,CAAC;IAAC,OAAO,CAAC,EAAC,SAAS,IAAI,EAAE,CAAC;IAAC,OAAO,IAAG,IAAI,CAAC;IAAC,UAAU,CAAC,IAAI,EAAC,IAAI,GAAE,IAAI,GAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5H,MAAM,CAAC,CAAC,IAAI,EAAC,IAAI,GAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAAC,OAAO,CAAC,IAAG,IAAI,CAAC;IAAC,QAAQ,CAAC,IAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACnF;AACD,wBAAgB,qBAAqB,CAAC,EAAC,KAAK,EAAC,OAAa,EAAC,OAAU,EAAC,OAAO,EAAC,UAAU,EAAC,MAAM,EAAC,OAAO,EAAC,QAAQ,EAAC,EAAC,KAAK,+BAuItH"}
@@ -0,0 +1,2 @@
1
+ export declare function ArkmeScreenshotShortcutSetting(): import("react").JSX.Element | null;
2
+ //# sourceMappingURL=ArkmeScreenshotShortcutSetting.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArkmeScreenshotShortcutSetting.d.ts","sourceRoot":"","sources":["../../../src/client/ArkmeScreenshotShortcutSetting.tsx"],"names":[],"mappings":"AAMA,wBAAgB,8BAA8B,uCAS7C"}
@@ -0,0 +1,8 @@
1
+ /** Native title hints have a browser-controlled delay; screenshot shortcuts must appear immediately. */
2
+ export declare function ArkmeScreenshotTooltip({ anchor, id, text, onClose }: {
3
+ anchor: HTMLButtonElement;
4
+ id: string;
5
+ text: string;
6
+ onClose(): void;
7
+ }): import("react").ReactPortal;
8
+ //# sourceMappingURL=ArkmeScreenshotTooltip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArkmeScreenshotTooltip.d.ts","sourceRoot":"","sources":["../../../src/client/ArkmeScreenshotTooltip.tsx"],"names":[],"mappings":"AAIA,wGAAwG;AACxG,wBAAgB,sBAAsB,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;IACpE,MAAM,EAAE,iBAAiB,CAAA;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,IAAI,IAAI,CAAA;CAChB,+BAsCA"}
@@ -0,0 +1,2 @@
1
+ export declare function ArkmeScreenshotWindow(): import("react").JSX.Element;
2
+ //# sourceMappingURL=ArkmeScreenshotWindow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArkmeScreenshotWindow.d.ts","sourceRoot":"","sources":["../../../src/client/ArkmeScreenshotWindow.tsx"],"names":[],"mappings":"AAKA,wBAAgB,qBAAqB,gCAapC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ArkmeSettingsSurface.d.ts","sourceRoot":"","sources":["../../../src/client/ArkmeSettingsSurface.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ArkmeSettingsSurface.d.ts","sourceRoot":"","sources":["../../../src/client/ArkmeSettingsSurface.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { ArkmeArkoModelCatalog } from '../types.js';
2
+ export declare function ArkoModelMenu({ anchor, catalog, busy, error, onSelect, onClose }: {
3
+ anchor: HTMLButtonElement;
4
+ catalog: ArkmeArkoModelCatalog;
5
+ busy: boolean;
6
+ error: string;
7
+ onSelect: (routeKey: string) => Promise<boolean>;
8
+ onClose: () => void;
9
+ }): import("react").ReactPortal;
10
+ //# sourceMappingURL=ArkoModelMenu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArkoModelMenu.d.ts","sourceRoot":"","sources":["../../../src/client/ArkoModelMenu.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAIxD,wBAAgB,aAAa,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;IACjF,MAAM,EAAE,iBAAiB,CAAA;IACzB,OAAO,EAAE,qBAAqB,CAAA;IAC9B,IAAI,EAAE,OAAO,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAChD,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB,+BAwEA"}
@@ -9,15 +9,17 @@ export declare function deepSeekHarnessEmbedUrl(nativeSettings?: boolean): strin
9
9
  * It stays mounted while another Arkme conversation is visible so the native client can
10
10
  * finish its own core boot independently of the Arkme directory request lifecycle.
11
11
  */
12
- export declare function DeepSeekHarnessSurface({ visible, nativeSettings, accountId, accountScope, followSession }: {
12
+ type SurfaceProps = {
13
13
  visible?: boolean;
14
14
  nativeSettings?: boolean;
15
15
  accountId?: number | undefined;
16
16
  accountScope?: string | undefined;
17
17
  followSession?: boolean;
18
- }): import("react").JSX.Element;
18
+ };
19
+ export declare function DeepSeekHarnessSurface(props: SurfaceProps): import("react").JSX.Element;
19
20
  /** Open in the visible native client's session owner, preserving errors for search. */
20
21
  export declare function openEmbeddedDshSession(sessionId: string): void;
21
22
  /** Missing is reported only after a successful authoritative list refresh. */
22
23
  export declare function hasEmbeddedDshSession(sessionId: string): Promise<boolean>;
24
+ export {};
23
25
  //# sourceMappingURL=DeepSeekHarnessSurface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DeepSeekHarnessSurface.d.ts","sourceRoot":"","sources":["../../../src/client/DeepSeekHarnessSurface.tsx"],"names":[],"mappings":"AAOA,eAAO,MAAM,4BAA4B,wBAAwB,CAAA;AACjE,eAAO,MAAM,sCAAsC,kCAAkC,CAAA;AAYrF,wBAAgB,6BAA6B,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAGtE;AAED,wBAAgB,sCAAsC,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAG/E;AAED,wBAAgB,uBAAuB,CAAC,cAAc,UAAQ,GAAG,MAAM,CAEtE;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,OAAc,EAAE,cAAsB,EAAE,SAAS,EAAE,YAAY,EAAE,aAAoB,EAAE,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CAAE,+BA4C5Q;AAED,uFAAuF;AACvF,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAK9D;AAED,8EAA8E;AAC9E,wBAAsB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAK/E"}
1
+ {"version":3,"file":"DeepSeekHarnessSurface.d.ts","sourceRoot":"","sources":["../../../src/client/DeepSeekHarnessSurface.tsx"],"names":[],"mappings":"AAQA,eAAO,MAAM,4BAA4B,wBAAwB,CAAA;AACjE,eAAO,MAAM,sCAAsC,kCAAkC,CAAA;AAYrF,wBAAgB,6BAA6B,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAGtE;AAED,wBAAgB,sCAAsC,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAG/E;AAED,wBAAgB,uBAAuB,CAAC,cAAc,UAAQ,GAAG,MAAM,CAEtE;AAED;;;;;GAKG;AACH,KAAK,YAAY,GAAG;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CAAE,CAAA;AAE/J,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,YAAY,+BAEzD;AAsED,uFAAuF;AACvF,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAK9D;AAED,8EAA8E;AAC9E,wBAAsB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAK/E"}
@@ -0,0 +1,21 @@
1
+ import type { ArkmeArkoModelCatalog } from '../types.js';
2
+ /** Memory only: a new renderer starts empty. Keys include environment and account. */
3
+ export declare class ArkoModelCache {
4
+ private readonly now;
5
+ private readonly entries;
6
+ private readonly selections;
7
+ private revision;
8
+ readonly getRevision: () => number;
9
+ isSelecting(key: string | undefined): boolean;
10
+ private readonly listeners;
11
+ constructor(now?: () => number);
12
+ readonly subscribe: (listener: () => void) => () => void;
13
+ get(key: string | undefined): ArkmeArkoModelCatalog | undefined;
14
+ set(key: string, catalog: ArkmeArkoModelCatalog): void;
15
+ clear(): void;
16
+ select(key: string, fetch: () => Promise<ArkmeArkoModelCatalog>): Promise<ArkmeArkoModelCatalog>;
17
+ load(key: string, fetch: () => Promise<ArkmeArkoModelCatalog>): Promise<void>;
18
+ private publish;
19
+ }
20
+ export declare const arkoModelCache: ArkoModelCache;
21
+ //# sourceMappingURL=arko-model-cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arko-model-cache.d.ts","sourceRoot":"","sources":["../../../src/client/arko-model-cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AASxD,sFAAsF;AACtF,qBAAa,cAAc;IAOb,OAAO,CAAC,QAAQ,CAAC,GAAG;IANhC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IACnD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoD;IAC/E,OAAO,CAAC,QAAQ,CAAI;IACpB,QAAQ,CAAC,WAAW,eAAsB;IAC1C,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO;IAC7C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwB;gBACrB,GAAG,GAAE,MAAM,MAAiB;IACzD,QAAQ,CAAC,SAAS,GAAI,UAAU,MAAM,IAAI,gBAGzC;IACD,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,qBAAqB,GAAG,SAAS;IAG/D,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,GAAG,IAAI;IAKtD,KAAK,IAAI,IAAI;IACb,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAahG,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAW7E,OAAO,CAAC,OAAO;CAChB;AACD,eAAO,MAAM,cAAc,gBAAuB,CAAA"}
@@ -0,0 +1,68 @@
1
+ import { type ComponentType, type ReactNode } from 'react';
2
+ import type { ClientContext, ISessions } from '@deepseek-ai/dsh-client-runtime/client';
3
+ import type { DshAccountSession } from '../dsh-remote/account-session-types.js';
4
+ type SessionsState = ReturnType<ISessions['list']['getSnapshot']>;
5
+ type Workspace = {
6
+ workspaceId: string;
7
+ title: string;
8
+ path: string;
9
+ createdAt?: number;
10
+ sessionIds: string[];
11
+ };
12
+ type WorkspacesState = {
13
+ items: readonly Workspace[];
14
+ archivedSessionIds: readonly string[];
15
+ phase: string;
16
+ state: string;
17
+ error: unknown;
18
+ };
19
+ type Hook<S> = <T>(select: (state: S) => T) => T;
20
+ type BrowserView = Record<string, unknown> & {
21
+ orderBy: 'manual' | 'updated';
22
+ sessionOrderByAccount: Record<string, readonly string[]>;
23
+ };
24
+ type BrowserProps = Record<string, unknown> & {
25
+ useSessions: Hook<SessionsState>;
26
+ useWorkspaces: Hook<WorkspacesState>;
27
+ useStore: Hook<BrowserView>;
28
+ open(id: string): void;
29
+ startSession(id?: string): void;
30
+ renameSession(id: string, title: string): Promise<void>;
31
+ archiveSession(id: string): Promise<void>;
32
+ forkSession(id: string): void;
33
+ renderSlot(name: string, owner: object): ReactNode;
34
+ };
35
+ declare module '@deepseek-ai/dsh-client-ui-slots' {
36
+ interface SlotMap {
37
+ 'sidebar.workspaces.directoryFlow': {
38
+ kind: 'single';
39
+ scope: 'root';
40
+ owner: object;
41
+ };
42
+ 'arkme.accountSessions.directoryFlow': {
43
+ kind: 'single';
44
+ scope: 'root';
45
+ owner: object;
46
+ };
47
+ }
48
+ }
49
+ export declare const accountSessionKey: (row: Pick<DshAccountSession, "runtimeRef" | "sessionRef">) => string;
50
+ /** The native updated mode promotes newly discovered rows, even old remote
51
+ * history. Project its display orders by actual activity time, not arrival. */
52
+ export declare function projectAccountSessionOrder(view: BrowserView, sessions: SessionsState): BrowserView;
53
+ /** Local rows keep native identity, blank/activity state and all native actions. */
54
+ export declare function projectAccountSessions(local: SessionsState, rows: readonly DshAccountSession[], selected?: DshAccountSession): SessionsState;
55
+ export declare function projectAccountWorkspaces(local: WorkspacesState, rows: readonly DshAccountSession[]): WorkspacesState;
56
+ /** Apply a complete authoritative catalog as add/update/delete; unchanged rows retain identity. */
57
+ export declare function reconcileAccountSessions(previous: DshAccountSession[], incoming: DshAccountSession[]): DshAccountSession[];
58
+ /** All native sources share one account-scoped catalog. */
59
+ export declare function AccountSessionBrowser({ Native, surface, ...props }: BrowserProps & {
60
+ Native: ComponentType<BrowserProps>;
61
+ surface: Element;
62
+ }): import("react").JSX.Element;
63
+ /** Shadow the native entry using its public component/store/inject seats. The
64
+ * directory picker gets its own declared slot; never borrow another entry's
65
+ * render authorization or mutate the original registration. */
66
+ export declare function installHarnessAccountSessions(ctx: ClientContext, surface: Element): () => void;
67
+ export {};
68
+ //# sourceMappingURL=harness-account-sessions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"harness-account-sessions.d.ts","sourceRoot":"","sources":["../../../src/client/harness-account-sessions.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"harness-model-client.d.ts","sourceRoot":"","sources":["../../../src/client/harness-model-client.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAa,MAAM,wCAAwC,CAAA;AAKtF,OAAO,QAAQ,kCAAkC,CAAC;IAChD,UAAU,OAAO;QACf,0BAA0B,EAAE;YAAE,IAAI,EAAE,QAAQ,CAAC;YAAC,KAAK,EAAE,SAAS,CAAC;YAAC,KAAK,EAAE;gBAAE,MAAM,EAAE,OAAO,CAAA;aAAE,CAAA;SAAE,CAAA;KAC7F;CACF;AAQD,eAAO,MAAM,MAAM,UAAoD,CAAA;AAEvE,wBAAgB,KAAK,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CAgB9C"}
1
+ {"version":3,"file":"harness-model-client.d.ts","sourceRoot":"","sources":["../../../src/client/harness-model-client.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAwB,MAAM,wCAAwC,CAAA;AAcjG,OAAO,QAAQ,kCAAkC,CAAC;IAChD,UAAU,OAAO;QACf,0BAA0B,EAAE;YAAE,IAAI,EAAE,QAAQ,CAAC;YAAC,KAAK,EAAE,SAAS,CAAC;YAAC,KAAK,EAAE;gBAAE,MAAM,EAAE,OAAO,CAAA;aAAE,CAAA;SAAE,CAAA;KAC7F;CACF;AAQD,eAAO,MAAM,MAAM,UAAoD,CAAA;AAEvE,wBAAgB,KAAK,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CAkB9C"}
@@ -0,0 +1,12 @@
1
+ import type { DshAccountSession } from '../dsh-remote/account-session-types.js';
2
+ export declare const HARNESS_NATIVE_OPEN = "arkme:native-session-open";
3
+ export type NativeSessionRequest = {
4
+ runtimeRef: string;
5
+ sessionRef: string;
6
+ revision?: number;
7
+ accountId?: string;
8
+ accountScope?: string;
9
+ };
10
+ /** The parent retains native documents; a selection never navigates or reloads them. */
11
+ export declare function openNativeAccountSession(session: Pick<DshAccountSession, 'runtimeRef' | 'sessionRef'>, localRuntimeRef?: string): Promise<void>;
12
+ //# sourceMappingURL=harness-native-navigation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"harness-native-navigation.d.ts","sourceRoot":"","sources":["../../../src/client/harness-native-navigation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAA;AAE/E,eAAO,MAAM,mBAAmB,8BAA8B,CAAA;AAC9D,MAAM,MAAM,oBAAoB,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAE3I,wFAAwF;AACxF,wBAAsB,wBAAwB,CAAC,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,YAAY,GAAG,YAAY,CAAC,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAWrJ"}
@@ -1,5 +1,21 @@
1
- import type { ClientContext } from '@deepseek-ai/dsh-client-runtime/client';
1
+ import type { ClientContext, ISessions, SessionId } from '@deepseek-ai/dsh-client-runtime/client';
2
2
  export declare const inject: string[];
3
+ type ComposerBlock = {
4
+ readonly reason: string;
5
+ };
6
+ type ComposerBlocks = {
7
+ set(id: SessionId, block: ComposerBlock | undefined): void;
8
+ storeFor(id: SessionId): {
9
+ getSnapshot(): ComposerBlock | undefined;
10
+ subscribe(listener: () => void): () => void;
11
+ };
12
+ };
13
+ /** Use the public native composer gate; neither draft nor editor DOM is replaced. */
14
+ export declare function lockDisconnectedComposer(sessions: ISessions, connection: {
15
+ getSnapshot(): string | undefined;
16
+ subscribe(listener: () => void): () => void;
17
+ }, blocksFor: (id: SessionId) => ComposerBlocks | undefined): () => void;
3
18
  /** The iframe reads selection through the public DSH store; Arkme owns visibility. */
4
19
  export declare function apply(ctx: ClientContext): void;
20
+ export {};
5
21
  //# sourceMappingURL=harness-session-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"harness-session-client.d.ts","sourceRoot":"","sources":["../../../src/client/harness-session-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAwB,MAAM,wCAAwC,CAAA;AAKjG,eAAO,MAAM,MAAM,UAA2C,CAAA;AAG9D,sFAAsF;AACtF,wBAAgB,KAAK,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CAwH9C"}
1
+ {"version":3,"file":"harness-session-client.d.ts","sourceRoot":"","sources":["../../../src/client/harness-session-client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAA;AAMjG,eAAO,MAAM,MAAM,UAA2C,CAAA;AAG9D,KAAK,aAAa,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AAChD,KAAK,cAAc,GAAG;IACpB,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,GAAG,SAAS,GAAG,IAAI,CAAA;IAC1D,QAAQ,CAAC,EAAE,EAAE,SAAS,GAAG;QAAE,WAAW,IAAI,aAAa,GAAG,SAAS,CAAC;QAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAA;KAAE,CAAA;CACnH,CAAA;AAED,qFAAqF;AACrF,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE;IACxE,WAAW,IAAI,MAAM,GAAG,SAAS,CAAC;IAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAA;CAC/E,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,SAAS,KAAK,cAAc,GAAG,SAAS,GAAG,MAAM,IAAI,CAuBvE;AAED,sFAAsF;AACtF,wBAAgB,KAAK,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CA2K9C"}
@@ -1 +1 @@
1
- {"version":3,"file":"harness-session-dropdown.d.ts","sourceRoot":"","sources":["../../../src/client/harness-session-dropdown.ts"],"names":[],"mappings":"AA+FA;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,QAAQ,GAAG,MAAM,IAAI,CAqcvE"}
1
+ {"version":3,"file":"harness-session-dropdown.d.ts","sourceRoot":"","sources":["../../../src/client/harness-session-dropdown.ts"],"names":[],"mappings":"AA+FA;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,QAAQ,GAAG,MAAM,IAAI,CAucvE"}
@@ -1,3 +1,4 @@
1
+ export declare const HARNESS_LOCAL_SESSION_OPEN = "arkme:harness-local-session-open";
1
2
  /** Private presentation bridge between Arkme and its existing same-origin Harness frame. */
2
3
  export declare const HARNESS_MENU_OPEN = "arkme:harness-menu-open";
3
4
  export declare const HARNESS_MENU_CLOSE = "arkme:harness-menu-close";
@@ -1 +1 @@
1
- {"version":3,"file":"harness-session-menu-bridge.d.ts","sourceRoot":"","sources":["../../../src/client/harness-session-menu-bridge.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,eAAO,MAAM,iBAAiB,4BAA4B,CAAA;AAC1D,eAAO,MAAM,kBAAkB,6BAA6B,CAAA;AAC5D,eAAO,MAAM,qBAAqB,gCAAgC,CAAA;AAElE,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,OAAO,CAAA;IACjB,MAAM,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;IACtE,QAAQ,IAAI,IAAI,CAAA;IAChB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAA;IAC7B,QAAQ,IAAI,IAAI,CAAA;CACjB;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,QAAQ,GAAG,WAAW,EAAE,CAG9D"}
1
+ {"version":3,"file":"harness-session-menu-bridge.d.ts","sourceRoot":"","sources":["../../../src/client/harness-session-menu-bridge.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B,qCAAqC,CAAA;AAC5E,4FAA4F;AAC5F,eAAO,MAAM,iBAAiB,4BAA4B,CAAA;AAC1D,eAAO,MAAM,kBAAkB,6BAA6B,CAAA;AAC5D,eAAO,MAAM,qBAAqB,gCAAgC,CAAA;AAElE,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,OAAO,CAAA;IACjB,MAAM,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;IACtE,QAAQ,IAAI,IAAI,CAAA;IAChB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAA;IAC7B,QAAQ,IAAI,IAAI,CAAA;CACjB;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,QAAQ,GAAG,WAAW,EAAE,CAG9D"}
@@ -0,0 +1,8 @@
1
+ import type { DshAccountSession } from '../dsh-remote/account-session-types.js';
2
+ export declare function sessionOrigin(row: DshAccountSession): string[];
3
+ /** Current-version presentation adapter. Native card, title, time, status and copy remain owned by DSH. */
4
+ export declare function installSessionOriginHover(doc: Document, resolve: (row: HTMLElement) => {
5
+ title: string;
6
+ lines: string[];
7
+ } | undefined): () => void;
8
+ //# sourceMappingURL=harness-session-origin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"harness-session-origin.d.ts","sourceRoot":"","sources":["../../../src/client/harness-session-origin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAA;AAE/E,wBAAgB,aAAa,CAAC,GAAG,EAAE,iBAAiB,GAAG,MAAM,EAAE,CAG9D;AAED,2GAA2G;AAC3G,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,SAAS,GAAG,MAAM,IAAI,CA8BlJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"harness-sidebar-client.d.ts","sourceRoot":"","sources":["../../../src/client/harness-sidebar-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAA;AAO3E,eAAO,MAAM,MAAM,UAAsB,CAAA;AAEzC,+EAA+E;AAC/E,wBAAgB,KAAK,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CA6C9C"}
1
+ {"version":3,"file":"harness-sidebar-client.d.ts","sourceRoot":"","sources":["../../../src/client/harness-sidebar-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAA;AAQ3E,eAAO,MAAM,MAAM,UAAsB,CAAA;AAEzC,+EAA+E;AAC/E,wBAAgB,KAAK,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CAkD9C"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/index.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAa,MAAM,wCAAwC,CAAA;AAMtF,OAAO,kCAAkC,CAAA;AACzC,OAAO,wCAAwC,CAAA;AAkC/C,eAAO,MAAM,MAAM,UAAuD,CAAA;AAsD1E,mGAAmG;AACnG,wBAAgB,KAAK,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CA+T9C;AAED,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAClG,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EACL,4BAA4B,EAC5B,sBAAsB,EACtB,6BAA6B,EAC7B,uBAAuB,GACxB,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAA;AAC3F,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EACL,4BAA4B,EAAE,sBAAsB,EACpD,sBAAsB,EAAE,wBAAwB,GACjD,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAA;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAGxD,OAAO,EACL,gBAAgB,EAChB,gBAAgB,IAAI,oBAAoB,GACzC,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAA;AAC5E,OAAO,EACN,6BAA6B,EAC7B,mCAAmC,EACnC,4BAA4B,EAC5B,yBAAyB,EACzB,8BAA8B,GAC9B,MAAM,+BAA+B,CAAA;AACtC,OAAO,EACL,kCAAkC,EAClC,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,eAAe,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAA;AAC3I,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AACvE,YAAY,EAAE,6BAA6B,EAAE,sBAAsB,EAAE,8BAA8B,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAA;AAC7J,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AACjE,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAChF,OAAO,EACL,4BAA4B,EAAE,0BAA0B,EACxD,kCAAkC,EAAE,uBAAuB,GAC5D,MAAM,6BAA6B,CAAA;AAEpC,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/index.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,aAAa,EAAa,MAAM,wCAAwC,CAAA;AAMtF,OAAO,kCAAkC,CAAA;AACzC,OAAO,wCAAwC,CAAA;AAkC/C,eAAO,MAAM,MAAM,UAAuD,CAAA;AAsD1E,mGAAmG;AACnG,wBAAgB,KAAK,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CA4U9C;AAED,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAClG,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EACL,4BAA4B,EAC5B,sBAAsB,EACtB,6BAA6B,EAC7B,uBAAuB,GACxB,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAA;AAC3F,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EACL,4BAA4B,EAAE,sBAAsB,EACpD,sBAAsB,EAAE,wBAAwB,GACjD,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAA;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAGxD,OAAO,EACL,gBAAgB,EAChB,gBAAgB,IAAI,oBAAoB,GACzC,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAA;AAC5E,OAAO,EACN,6BAA6B,EAC7B,mCAAmC,EACnC,4BAA4B,EAC5B,yBAAyB,EACzB,8BAA8B,GAC9B,MAAM,+BAA+B,CAAA;AACtC,OAAO,EACL,kCAAkC,EAClC,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,eAAe,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAA;AAC3I,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AACvE,YAAY,EAAE,6BAA6B,EAAE,sBAAsB,EAAE,8BAA8B,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAA;AAC7J,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AACjE,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAChF,OAAO,EACL,4BAA4B,EAAE,0BAA0B,EACxD,kCAAkC,EAAE,uBAAuB,GAC5D,MAAM,6BAA6B,CAAA;AAEpC,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAA"}
@@ -0,0 +1,25 @@
1
+ import type { Rect } from './screenshot-editor-model.js';
2
+ import type { ArkmeDesktopScreenshotResult } from '../desktop-screenshot-contract.js';
3
+ export interface NativeScreenshotBridge {
4
+ version: 1;
5
+ capture(requestId: string): Promise<ArkmeDesktopScreenshotResult>;
6
+ cancel(requestId: string): Promise<void>;
7
+ context(): Promise<{
8
+ contentBase64: string;
9
+ width: number;
10
+ height: number;
11
+ windows?: Rect[];
12
+ } | null>;
13
+ ready(): Promise<boolean>;
14
+ select(): Promise<boolean>;
15
+ close(): Promise<void>;
16
+ complete(png: string): Promise<boolean>;
17
+ save(png: string): Promise<boolean>;
18
+ }
19
+ export declare function nativeScreenshotBridge(): NativeScreenshotBridge | undefined;
20
+ export declare function screenshotWindowRequested(): boolean;
21
+ export declare function captureNativeScreenshot(signal: AbortSignal): Promise<ArkmeDesktopScreenshotResult>;
22
+ export declare function screenshotBlobBase64(blob: Blob): Promise<string>;
23
+ /** Use Chromium's native decoder; the iterable mapping path costs a JS call per PNG byte. */
24
+ export declare function decodeScreenshotBase64(value: string): Uint8Array<ArrayBuffer>;
25
+ //# sourceMappingURL=native-screenshot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native-screenshot.d.ts","sourceRoot":"","sources":["../../../src/client/native-screenshot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,8BAA8B,CAAA;AACtD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAA;AACrF,MAAM,WAAW,sBAAsB;IACtC,OAAO,EAAC,CAAC,CAAA;IACT,OAAO,CAAC,SAAS,EAAC,MAAM,GAAE,OAAO,CAAC,4BAA4B,CAAC,CAAA;IAC/D,MAAM,CAAC,SAAS,EAAC,MAAM,GAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IACtC,OAAO,IAAG,OAAO,CAAC;QAAC,aAAa,EAAC,MAAM,CAAC;QAAA,KAAK,EAAC,MAAM,CAAC;QAAA,MAAM,EAAC,MAAM,CAAC;QAAA,OAAO,CAAC,EAAC,IAAI,EAAE,CAAA;KAAC,GAAC,IAAI,CAAC,CAAA;IACzF,KAAK,IAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAAA,MAAM,IAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAAA,KAAK,IAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACxE,QAAQ,CAAC,GAAG,EAAC,MAAM,GAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAAA,IAAI,CAAC,GAAG,EAAC,MAAM,GAAE,OAAO,CAAC,OAAO,CAAC,CAAA;CACvE;AACD,wBAAgB,sBAAsB,IAAG,sBAAsB,GAAC,SAAS,CAGxE;AACD,wBAAgB,yBAAyB,IAAG,OAAO,CAElD;AACD,wBAAsB,uBAAuB,CAAC,MAAM,EAAC,WAAW,GAAE,OAAO,CAAC,4BAA4B,CAAC,CAStG;AACD,wBAAsB,oBAAoB,CAAC,IAAI,EAAC,IAAI,GAAE,OAAO,CAAC,MAAM,CAAC,CAEpE;AAED,6FAA6F;AAC7F,wBAAgB,sBAAsB,CAAC,KAAK,EAAC,MAAM,GAAE,UAAU,CAAC,WAAW,CAAC,CAM3E"}
@@ -0,0 +1,6 @@
1
+ import type { Tool } from './screenshot-editor-model.js';
2
+ export type ScreenshotIcon = Tool | 'undo' | 'redo' | 'reselect' | 'save' | 'close' | 'complete';
3
+ export declare function ScreenshotToolIcon({ name }: {
4
+ name: ScreenshotIcon;
5
+ }): import("react").JSX.Element;
6
+ //# sourceMappingURL=screenshot-editor-icons.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screenshot-editor-icons.d.ts","sourceRoot":"","sources":["../../../src/client/screenshot-editor-icons.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAA;AACxD,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,CAAA;AAOhG,wBAAgB,kBAAkB,CAAC,EAAC,IAAI,EAAC,EAAC;IAAC,IAAI,EAAC,cAAc,CAAA;CAAC,+BAA8M"}
@@ -0,0 +1,40 @@
1
+ export interface Point {
2
+ x: number;
3
+ y: number;
4
+ }
5
+ export interface Rect extends Point {
6
+ width: number;
7
+ height: number;
8
+ }
9
+ export type Tool = 'rectangle' | 'ellipse' | 'arrow' | 'pen' | 'mosaic' | 'text';
10
+ export interface Annotation {
11
+ tool: Tool;
12
+ points: Point[];
13
+ color: string;
14
+ size: number;
15
+ text: string;
16
+ }
17
+ export interface History {
18
+ done: Annotation[];
19
+ undone: Annotation[];
20
+ }
21
+ export type HistoryAction = {
22
+ type: 'add';
23
+ mark: Annotation;
24
+ } | {
25
+ type: 'undo' | 'redo' | 'reset';
26
+ };
27
+ export declare const clamp: (value: number, min: number, max: number) => number;
28
+ export declare function rectBetween(a: Point, b: Point): Rect;
29
+ export declare function imagePoint(x: number, y: number, bounds: {
30
+ left: number;
31
+ top: number;
32
+ width: number;
33
+ height: number;
34
+ }, width: number, height: number): Point;
35
+ export declare function moveSelection(r: Rect, dx: number, dy: number, width: number, height: number): Rect;
36
+ export declare function resizeSelection(r: Rect, handle: string, p: Point, width: number, height: number): Rect;
37
+ export declare function historyStep(state: History, action: HistoryAction): History;
38
+ /** Ordered front to back by the host; half-open edges avoid two hits at a shared border. */
39
+ export declare function windowAtPoint(windows: readonly Rect[], p: Point): Rect | undefined;
40
+ //# sourceMappingURL=screenshot-editor-model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screenshot-editor-model.d.ts","sourceRoot":"","sources":["../../../src/client/screenshot-editor-model.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,KAAK;IAAG,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE;AAC/C,MAAM,WAAW,IAAK,SAAQ,KAAK;IAAG,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE;AACrE,MAAM,MAAM,IAAI,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAA;AAChF,MAAM,WAAW,UAAU;IAAG,IAAI,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,KAAK,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE;AACtG,MAAM,WAAW,OAAO;IAAG,IAAI,EAAE,UAAU,EAAE,CAAC;IAAC,MAAM,EAAE,UAAU,EAAE,CAAA;CAAE;AACrE,MAAM,MAAM,aAAa,GAAG;IAAC,IAAI,EAAC,KAAK,CAAC;IAAA,IAAI,EAAC,UAAU,CAAA;CAAC,GAAG;IAAC,IAAI,EAAC,MAAM,GAAC,MAAM,GAAC,OAAO,CAAA;CAAC,CAAA;AACvF,eAAO,MAAM,KAAK,GAAI,OAAO,MAAM,EAAE,KAAK,MAAM,EAAE,KAAK,MAAM,WAAsC,CAAA;AACnG,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAAsG;AAC1J,wBAAgB,UAAU,CAAC,CAAC,EAAC,MAAM,EAAC,CAAC,EAAC,MAAM,EAAC,MAAM,EAAC;IAAC,IAAI,EAAC,MAAM,CAAC;IAAA,GAAG,EAAC,MAAM,CAAC;IAAA,KAAK,EAAC,MAAM,CAAC;IAAA,MAAM,EAAC,MAAM,CAAA;CAAC,EAAC,KAAK,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,GAAE,KAAK,CAExI;AACD,wBAAgB,aAAa,CAAC,CAAC,EAAC,IAAI,EAAC,EAAE,EAAC,MAAM,EAAC,EAAE,EAAC,MAAM,EAAC,KAAK,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,GAAE,IAAI,CAExF;AACD,wBAAgB,eAAe,CAAC,CAAC,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,CAAC,EAAC,KAAK,EAAC,KAAK,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,GAAE,IAAI,CAI5F;AACD,wBAAgB,WAAW,CAAC,KAAK,EAAC,OAAO,EAAC,MAAM,EAAC,aAAa,GAAE,OAAO,CAKtE;AAED,4FAA4F;AAC5F,wBAAgB,aAAa,CAAC,OAAO,EAAC,SAAS,IAAI,EAAE,EAAC,CAAC,EAAC,KAAK,GAAE,IAAI,GAAC,SAAS,CAE5E"}
@@ -0,0 +1,4 @@
1
+ import type { Annotation, Rect } from './screenshot-editor-model.js';
2
+ export declare function paintScreenshot(canvas: HTMLCanvasElement, image: CanvasImageSource, marks: Annotation[], selection?: Rect): void;
3
+ export declare function exportScreenshot(canvas: HTMLCanvasElement, selection: Rect): Promise<Blob>;
4
+ //# sourceMappingURL=screenshot-editor-render.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screenshot-editor-render.d.ts","sourceRoot":"","sources":["../../../src/client/screenshot-editor-render.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAA;AAEpE,wBAAgB,eAAe,CAAC,MAAM,EAAC,iBAAiB,EAAC,KAAK,EAAC,iBAAiB,EAAC,KAAK,EAAC,UAAU,EAAE,EAAC,SAAS,CAAC,EAAC,IAAI,QA+ClH;AACD,wBAAsB,gBAAgB,CAAC,MAAM,EAAC,iBAAiB,EAAC,SAAS,EAAC,IAAI,GAAE,OAAO,CAAC,IAAI,CAAC,CAO5F"}