@senguoyun/dsh-arkme 0.1.73 → 0.1.75

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 (143) hide show
  1. package/docs/desktop-screenshot.md +75 -28
  2. package/lib/bundle-runtime.js +1 -1
  3. package/lib/client.js +3489 -3552
  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 +4501 -1544
  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 +31 -4
  19. package/lib/types/client/ArkmeArkoSurface.d.ts.map +1 -1
  20. package/lib/types/client/ArkmeComposerScreenshotButton.d.ts.map +1 -1
  21. package/lib/types/client/ArkmePersistentShell.d.ts.map +1 -1
  22. package/lib/types/client/ArkmeScreenshotCropDialog.d.ts +2 -2
  23. package/lib/types/client/ArkmeScreenshotCropDialog.d.ts.map +1 -1
  24. package/lib/types/client/ArkmeScreenshotEditor.d.ts +15 -0
  25. package/lib/types/client/ArkmeScreenshotEditor.d.ts.map +1 -0
  26. package/lib/types/client/ArkmeScreenshotShortcutSetting.d.ts +2 -0
  27. package/lib/types/client/ArkmeScreenshotShortcutSetting.d.ts.map +1 -0
  28. package/lib/types/client/ArkmeScreenshotTooltip.d.ts +8 -0
  29. package/lib/types/client/ArkmeScreenshotTooltip.d.ts.map +1 -0
  30. package/lib/types/client/ArkmeScreenshotWindow.d.ts +2 -0
  31. package/lib/types/client/ArkmeScreenshotWindow.d.ts.map +1 -0
  32. package/lib/types/client/ArkmeSettingsSurface.d.ts.map +1 -1
  33. package/lib/types/client/ArkoModelMenu.d.ts +10 -0
  34. package/lib/types/client/ArkoModelMenu.d.ts.map +1 -0
  35. package/lib/types/client/DeepSeekHarnessSurface.d.ts +4 -2
  36. package/lib/types/client/DeepSeekHarnessSurface.d.ts.map +1 -1
  37. package/lib/types/client/arko-model-cache.d.ts +21 -0
  38. package/lib/types/client/arko-model-cache.d.ts.map +1 -0
  39. package/lib/types/client/harness-account-sessions.d.ts +68 -0
  40. package/lib/types/client/harness-account-sessions.d.ts.map +1 -0
  41. package/lib/types/client/harness-model-client.d.ts.map +1 -1
  42. package/lib/types/client/harness-native-navigation.d.ts +12 -0
  43. package/lib/types/client/harness-native-navigation.d.ts.map +1 -0
  44. package/lib/types/client/harness-session-client.d.ts +17 -1
  45. package/lib/types/client/harness-session-client.d.ts.map +1 -1
  46. package/lib/types/client/harness-session-dropdown.d.ts.map +1 -1
  47. package/lib/types/client/harness-session-menu-bridge.d.ts +1 -0
  48. package/lib/types/client/harness-session-menu-bridge.d.ts.map +1 -1
  49. package/lib/types/client/harness-session-origin.d.ts +8 -0
  50. package/lib/types/client/harness-session-origin.d.ts.map +1 -0
  51. package/lib/types/client/harness-sidebar-client.d.ts.map +1 -1
  52. package/lib/types/client/index.d.ts.map +1 -1
  53. package/lib/types/client/native-screenshot.d.ts +25 -0
  54. package/lib/types/client/native-screenshot.d.ts.map +1 -0
  55. package/lib/types/client/screenshot-editor-icons.d.ts +6 -0
  56. package/lib/types/client/screenshot-editor-icons.d.ts.map +1 -0
  57. package/lib/types/client/screenshot-editor-model.d.ts +40 -0
  58. package/lib/types/client/screenshot-editor-model.d.ts.map +1 -0
  59. package/lib/types/client/screenshot-editor-render.d.ts +4 -0
  60. package/lib/types/client/screenshot-editor-render.d.ts.map +1 -0
  61. package/lib/types/client/screenshot-shortcut.d.ts +17 -0
  62. package/lib/types/client/screenshot-shortcut.d.ts.map +1 -0
  63. package/lib/types/dsh-remote/account-session-observer.d.ts +9 -0
  64. package/lib/types/dsh-remote/account-session-observer.d.ts.map +1 -0
  65. package/lib/types/dsh-remote/account-session-tools.d.ts +3 -0
  66. package/lib/types/dsh-remote/account-session-tools.d.ts.map +1 -0
  67. package/lib/types/dsh-remote/account-session-types.d.ts +71 -0
  68. package/lib/types/dsh-remote/account-session-types.d.ts.map +1 -0
  69. package/lib/types/dsh-remote/account-sessions.d.ts +36 -0
  70. package/lib/types/dsh-remote/account-sessions.d.ts.map +1 -0
  71. package/lib/types/dsh-remote/api-proxy-adapter.d.ts +28 -0
  72. package/lib/types/dsh-remote/api-proxy-adapter.d.ts.map +1 -1
  73. package/lib/types/dsh-remote/channel-manager.d.ts +3 -0
  74. package/lib/types/dsh-remote/channel-manager.d.ts.map +1 -1
  75. package/lib/types/dsh-remote/cloud-native-transport.d.ts +22 -0
  76. package/lib/types/dsh-remote/cloud-native-transport.d.ts.map +1 -0
  77. package/lib/types/dsh-remote/cloud-turn-history.d.ts +21 -0
  78. package/lib/types/dsh-remote/cloud-turn-history.d.ts.map +1 -0
  79. package/lib/types/dsh-remote/connection-diagnostics.d.ts +5 -0
  80. package/lib/types/dsh-remote/connection-diagnostics.d.ts.map +1 -1
  81. package/lib/types/dsh-remote/control-plane.d.ts +1 -0
  82. package/lib/types/dsh-remote/control-plane.d.ts.map +1 -1
  83. package/lib/types/dsh-remote/desktop-session-presence.d.ts +4 -1
  84. package/lib/types/dsh-remote/desktop-session-presence.d.ts.map +1 -1
  85. package/lib/types/dsh-remote/gateway-api.d.ts.map +1 -1
  86. package/lib/types/dsh-remote/host.d.ts +7 -1
  87. package/lib/types/dsh-remote/host.d.ts.map +1 -1
  88. package/lib/types/dsh-remote/native-history-cache.d.ts +12 -0
  89. package/lib/types/dsh-remote/native-history-cache.d.ts.map +1 -0
  90. package/lib/types/dsh-remote/native-history.d.ts +18 -0
  91. package/lib/types/dsh-remote/native-history.d.ts.map +1 -0
  92. package/lib/types/dsh-remote/native-socket.d.ts +17 -0
  93. package/lib/types/dsh-remote/native-socket.d.ts.map +1 -0
  94. package/lib/types/dsh-remote/native-transport.d.ts +29 -0
  95. package/lib/types/dsh-remote/native-transport.d.ts.map +1 -0
  96. package/lib/types/dsh-remote/protocol-v1.d.ts.map +1 -1
  97. package/lib/types/dsh-remote/realtime-transport.d.ts +3 -0
  98. package/lib/types/dsh-remote/realtime-transport.d.ts.map +1 -1
  99. package/lib/types/dsh-remote/runtime-secret-broker.d.ts +1 -0
  100. package/lib/types/dsh-remote/runtime-secret-broker.d.ts.map +1 -1
  101. package/lib/types/dsh-remote/transport-fragment.d.ts +5 -0
  102. package/lib/types/dsh-remote/transport-fragment.d.ts.map +1 -1
  103. package/lib/types/dsh-remote/turn-projector.d.ts +2 -1
  104. package/lib/types/dsh-remote/turn-projector.d.ts.map +1 -1
  105. package/lib/types/dsh-remote/turn-upload-outbox.d.ts +6 -3
  106. package/lib/types/dsh-remote/turn-upload-outbox.d.ts.map +1 -1
  107. package/lib/types/dsh-remote/types.d.ts +6 -3
  108. package/lib/types/dsh-remote/types.d.ts.map +1 -1
  109. package/lib/types/harness-embed-route.d.ts +0 -1
  110. package/lib/types/harness-embed-route.d.ts.map +1 -1
  111. package/lib/types/harness-native-transport-script.d.ts +11 -0
  112. package/lib/types/harness-native-transport-script.d.ts.map +1 -0
  113. package/lib/types/harness-session-restore-script.d.ts +1 -1
  114. package/lib/types/harness-session-restore-script.d.ts.map +1 -1
  115. package/lib/types/host-api.d.ts +3 -1
  116. package/lib/types/host-api.d.ts.map +1 -1
  117. package/lib/types/index.d.ts.map +1 -1
  118. package/lib/types/sdk/index.d.ts +34 -0
  119. package/lib/types/sdk/index.d.ts.map +1 -1
  120. package/lib/types/types.d.ts +2 -1
  121. package/lib/types/types.d.ts.map +1 -1
  122. package/package.json +6 -5
  123. package/lib/arko-native-client.js +0 -6079
  124. package/lib/types/client/ArkmeArkoPanel.d.ts +0 -5
  125. package/lib/types/client/ArkmeArkoPanel.d.ts.map +0 -1
  126. package/lib/types/client/ArkoNativeSurface.d.ts +0 -27
  127. package/lib/types/client/ArkoNativeSurface.d.ts.map +0 -1
  128. package/lib/types/client/arko-conversation-contract.d.ts +0 -47
  129. package/lib/types/client/arko-conversation-contract.d.ts.map +0 -1
  130. package/lib/types/client/arko-native-client.d.ts +0 -19
  131. package/lib/types/client/arko-native-client.d.ts.map +0 -1
  132. package/lib/types/client/arko-native-composer.d.ts +0 -31
  133. package/lib/types/client/arko-native-composer.d.ts.map +0 -1
  134. package/lib/types/client/arko-native-emoji-picker.d.ts +0 -17
  135. package/lib/types/client/arko-native-emoji-picker.d.ts.map +0 -1
  136. package/lib/types/client/arko-native-frame.d.ts +0 -3
  137. package/lib/types/client/arko-native-frame.d.ts.map +0 -1
  138. package/lib/types/client/arko-native-transport.d.ts +0 -20
  139. package/lib/types/client/arko-native-transport.d.ts.map +0 -1
  140. package/lib/types/client/useArkoConversationController.d.ts +0 -57
  141. package/lib/types/client/useArkoConversationController.d.ts.map +0 -1
  142. package/lib/{bundle-runtime-CE73h3vS.js → bundle-runtime-QUG0eHSZ.js} +1 -1
  143. 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,9 +1,36 @@
1
- export { arkoHistoryHasTerminalRun, latestActiveRun, mergeHistory } from './useArkoConversationController.js';
1
+ import type { ArkmeArkoHistoryItem } from '../types.js';
2
+ type ArkoMessageRole = 'user' | 'assistant' | 'divider';
2
3
  type ArkoMessageStatus = 'sending' | 'done' | 'error';
4
+ interface ArkoMessage {
5
+ id: string;
6
+ messageId?: number;
7
+ sessionId?: number;
8
+ role: ArkoMessageRole;
9
+ text: string;
10
+ reasoning?: string;
11
+ status: ArkoMessageStatus;
12
+ createdAtMillis?: number;
13
+ assistantMsgId?: number;
14
+ runUid?: string;
15
+ runStatus?: string;
16
+ messageActionRef?: string;
17
+ messageActionConversationRef?: string;
18
+ copyLinkAvailable?: boolean;
19
+ forwardAvailable?: boolean;
20
+ }
21
+ interface ArkoContinuationTarget {
22
+ assistantMsgId: number;
23
+ runUid: string;
24
+ }
25
+ interface ActiveArkoRun extends ArkoContinuationTarget {
26
+ sessionId: number;
27
+ }
3
28
  export declare function arkoRunActivityLabel(status: string | undefined): string | undefined;
4
29
  export declare function shouldShowArkoThinking(status: ArkoMessageStatus, reasoning?: string): boolean;
5
30
  export declare function arkoPreservedScrollTop(previousScrollTop: number, previousScrollHeight: number, nextScrollHeight: number): number;
6
- export declare function ArkmeArkoSurface({ native }?: {
7
- native?: boolean;
8
- }): import("react").JSX.Element;
31
+ export declare function arkoHistoryHasTerminalRun(items: ArkmeArkoHistoryItem[], sessionId: number, assistantMsgId: number, runUid: string): boolean;
32
+ export declare function latestActiveRun(items: ArkmeArkoHistoryItem[], sessionId: number): ActiveArkoRun | undefined;
33
+ export declare function mergeHistory(current: ArkoMessage[], items: ArkmeArkoHistoryItem[]): ArkoMessage[];
34
+ export declare function ArkmeArkoSurface(): import("react").JSX.Element;
35
+ export {};
9
36
  //# sourceMappingURL=ArkmeArkoSurface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ArkmeArkoSurface.d.ts","sourceRoot":"","sources":["../../../src/client/ArkmeArkoSurface.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,yBAAyB,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAA;AA4B7G,KAAK,iBAAiB,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAA;AAsJrD,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;AA+BD,wBAAgB,gBAAgB,CAAC,EAAE,MAAc,EAAE,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,+BAG7E"}
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 +1 @@
1
- {"version":3,"file":"ArkmePersistentShell.d.ts","sourceRoot":"","sources":["../../../src/client/ArkmePersistentShell.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AACnG,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAA;AAGrF,OAAO,KAAK,EAAE,iBAAiB,EAAoC,MAAM,aAAa,CAAA;AA0BtF,OAAO,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAA;AA0CvE,KAAK,wBAAwB,GAAG,IAAI,CAAC,OAAO,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;AAEpE,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEjE;AAOD,wBAAgB,0BAA0B,CAAC,OAAO,GAAE,wBAAwB,GAAG,SAA6C,GAAG,MAAM,GAAG,SAAS,CAUhJ;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,wBAAwB,GAAG,SAA6C,GAAG,IAAI,CAIlJ;AAED,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,OAAO,EAClB,SAAS,EAAE,MAAM,EACjB,cAAc,CAAC,EAAE,MAAM,EACvB,oBAAoB,CAAC,EAAE,MAAM,GAC5B,MAAM,CAKR;AAED,gGAAgG;AAChG,wBAAgB,4BAA4B,gCAwC3C;AAED,yGAAyG;AACzG,wBAAgB,sCAAsC,CACpD,IAAI,EAAE,iBAAiB,GAAG,SAAS,EACnC,IAAI,EAAE,MAAM,EACZ,kBAAkB,UAA2B,GAC5C,OAAO,CAET;AAED,MAAM,MAAM,2BAA2B,GAAG,YAAY,CAAC,SAAS,CAAC,GAC7D,gBAAgB,CAAC,uBAAuB,GAAG,0BAA0B,GAAG,qBAAqB,CAAC,GAC9F;IACA,eAAe,IAAI,IAAI,CAAA;IACvB,YAAY,IAAI,IAAI,CAAA;IACpB,iBAAiB,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAA;IACvH,cAAc,CAAC,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CACzC,CAAA;AAeH,mDAAmD;AACnD,wBAAgB,sBAAsB,CAAC,EACrC,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EACvD,iBAA+D,EAAE,cAAgC,GAClG,EAAE,2BAA2B,+BA6S7B;AAED,MAAM,MAAM,6BAA6B,GAAG,YAAY,CAAC,cAAc,CAAC,GACpE,WAAW,CAAC,OAAO,4BAA4B,CAAC,GAChD;IAAE,YAAY,IAAI,IAAI,CAAA;CAAE,CAAA;AAE5B,6FAA6F;AAC7F,wBAAgB,wBAAwB,CAAC,EACvC,SAAS,EAAE,YAAY,EAAE,CAAC,GAC3B,EAAE,6BAA6B,+BA0F/B;AAED,MAAM,MAAM,2BAA2B,GAAG,YAAY,CAAC,SAAS,CAAC,GAAG;IAAE,YAAY,IAAI,IAAI,CAAA;CAAE,CAAA;AAE5F,mGAAmG;AACnG,wBAAgB,sBAAsB,CAAC,EAAE,YAAY,EAAE,EAAE,2BAA2B,+BAInF"}
1
+ {"version":3,"file":"ArkmePersistentShell.d.ts","sourceRoot":"","sources":["../../../src/client/ArkmePersistentShell.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AACnG,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAA;AAGrF,OAAO,KAAK,EAAE,iBAAiB,EAAoC,MAAM,aAAa,CAAA;AAyBtF,OAAO,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAA;AA0CvE,KAAK,wBAAwB,GAAG,IAAI,CAAC,OAAO,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;AAEpE,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEjE;AAOD,wBAAgB,0BAA0B,CAAC,OAAO,GAAE,wBAAwB,GAAG,SAA6C,GAAG,MAAM,GAAG,SAAS,CAUhJ;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,wBAAwB,GAAG,SAA6C,GAAG,IAAI,CAIlJ;AAED,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,OAAO,EAClB,SAAS,EAAE,MAAM,EACjB,cAAc,CAAC,EAAE,MAAM,EACvB,oBAAoB,CAAC,EAAE,MAAM,GAC5B,MAAM,CAKR;AAED,gGAAgG;AAChG,wBAAgB,4BAA4B,gCAwC3C;AAED,yGAAyG;AACzG,wBAAgB,sCAAsC,CACpD,IAAI,EAAE,iBAAiB,GAAG,SAAS,EACnC,IAAI,EAAE,MAAM,EACZ,kBAAkB,UAA2B,GAC5C,OAAO,CAET;AAED,MAAM,MAAM,2BAA2B,GAAG,YAAY,CAAC,SAAS,CAAC,GAC7D,gBAAgB,CAAC,uBAAuB,GAAG,0BAA0B,GAAG,qBAAqB,CAAC,GAC9F;IACA,eAAe,IAAI,IAAI,CAAA;IACvB,YAAY,IAAI,IAAI,CAAA;IACpB,iBAAiB,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAA;IACvH,cAAc,CAAC,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CACzC,CAAA;AAeH,mDAAmD;AACnD,wBAAgB,sBAAsB,CAAC,EACrC,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EACvD,iBAA+D,EAAE,cAAgC,GAClG,EAAE,2BAA2B,+BA6S7B;AAED,MAAM,MAAM,6BAA6B,GAAG,YAAY,CAAC,cAAc,CAAC,GACpE,WAAW,CAAC,OAAO,4BAA4B,CAAC,GAChD;IAAE,YAAY,IAAI,IAAI,CAAA;CAAE,CAAA;AAE5B,6FAA6F;AAC7F,wBAAgB,wBAAwB,CAAC,EACvC,SAAS,EAAE,YAAY,EAAE,CAAC,GAC3B,EAAE,6BAA6B,+BAwF/B;AAED,MAAM,MAAM,2BAA2B,GAAG,YAAY,CAAC,SAAS,CAAC,GAAG;IAAE,YAAY,IAAI,IAAI,CAAA;CAAE,CAAA;AAE5F,mGAAmG;AACnG,wBAAgB,sBAAsB,CAAC,EAAE,YAAY,EAAE,EAAE,2BAA2B,+BAInF"}
@@ -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"}