@senguoyun/dsh-arkme 0.1.52 → 0.1.53

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 (92) hide show
  1. package/assets/desktop_call/call-demo-peer.png +0 -0
  2. package/assets/desktop_call/call-demo-self.png +0 -0
  3. package/assets/desktop_call/call-demo-utterance-v1.m4a +0 -0
  4. package/assets/desktop_call/call-demo-utterance-v1.md +14 -0
  5. package/lib/client.js +12157 -4480
  6. package/lib/client.js.map +1 -1
  7. package/lib/harness-onboarding-client.js +73 -0
  8. package/lib/index.js +66 -2
  9. package/lib/persistent-extension.js +1 -1
  10. package/lib/{persistent-runtime-BRy2sNmS.js → persistent-runtime-Bu8Zk87a.js} +380 -355
  11. package/lib/types/arkme-service.d.ts +3 -0
  12. package/lib/types/arkme-service.d.ts.map +1 -1
  13. package/lib/types/client/ArkmeCallDetailContent.d.ts +2 -1
  14. package/lib/types/client/ArkmeCallDetailContent.d.ts.map +1 -1
  15. package/lib/types/client/ArkmeCallSurface.d.ts.map +1 -1
  16. package/lib/types/client/ArkmeCallTour.d.ts +22 -0
  17. package/lib/types/client/ArkmeCallTour.d.ts.map +1 -0
  18. package/lib/types/client/ArkmeConversationBottomControl.d.ts +9 -0
  19. package/lib/types/client/ArkmeConversationBottomControl.d.ts.map +1 -0
  20. package/lib/types/client/ArkmeEmojiPicker.d.ts +2 -1
  21. package/lib/types/client/ArkmeEmojiPicker.d.ts.map +1 -1
  22. package/lib/types/client/ArkmeHomeTour.d.ts +12 -0
  23. package/lib/types/client/ArkmeHomeTour.d.ts.map +1 -0
  24. package/lib/types/client/ArkmeNoteDetails.d.ts.map +1 -1
  25. package/lib/types/client/ArkmePersistentShell.d.ts.map +1 -1
  26. package/lib/types/client/ArkmeProductNavigation.d.ts.map +1 -1
  27. package/lib/types/client/ArkmeRecordingSurface.d.ts +6 -4
  28. package/lib/types/client/ArkmeRecordingSurface.d.ts.map +1 -1
  29. package/lib/types/client/ArkmeRecordingTour.d.ts +18 -0
  30. package/lib/types/client/ArkmeRecordingTour.d.ts.map +1 -0
  31. package/lib/types/client/ArkmeSearchSurface.d.ts.map +1 -1
  32. package/lib/types/client/ArkmeSendToSelfTour.d.ts +20 -0
  33. package/lib/types/client/ArkmeSendToSelfTour.d.ts.map +1 -0
  34. package/lib/types/client/ArkmeSidebar.d.ts.map +1 -1
  35. package/lib/types/client/ArkmeSourceBreadcrumb.d.ts +2 -1
  36. package/lib/types/client/ArkmeSourceBreadcrumb.d.ts.map +1 -1
  37. package/lib/types/client/ArkmeVirtualWorkspace.d.ts +11 -1
  38. package/lib/types/client/ArkmeVirtualWorkspace.d.ts.map +1 -1
  39. package/lib/types/client/api.d.ts +1 -1
  40. package/lib/types/client/api.d.ts.map +1 -1
  41. package/lib/types/client/arkme-emoji.d.ts.map +1 -1
  42. package/lib/types/client/call-tour-session.d.ts +9 -0
  43. package/lib/types/client/call-tour-session.d.ts.map +1 -0
  44. package/lib/types/client/chat-directory-store.d.ts +6 -0
  45. package/lib/types/client/chat-directory-store.d.ts.map +1 -1
  46. package/lib/types/client/conversation-resize-anchor.d.ts +6 -4
  47. package/lib/types/client/conversation-resize-anchor.d.ts.map +1 -1
  48. package/lib/types/client/conversation-viewport.d.ts +26 -0
  49. package/lib/types/client/conversation-viewport.d.ts.map +1 -0
  50. package/lib/types/client/detail-extension-composer-style.d.ts +38 -0
  51. package/lib/types/client/detail-extension-composer-style.d.ts.map +1 -0
  52. package/lib/types/client/emoji-recent-store.d.ts +3 -0
  53. package/lib/types/client/emoji-recent-store.d.ts.map +1 -0
  54. package/lib/types/client/harness-onboarding-client.d.ts +5 -0
  55. package/lib/types/client/harness-onboarding-client.d.ts.map +1 -0
  56. package/lib/types/client/home-tour-diagnostics.d.ts +4 -0
  57. package/lib/types/client/home-tour-diagnostics.d.ts.map +1 -0
  58. package/lib/types/client/home-tour-session.d.ts +13 -0
  59. package/lib/types/client/home-tour-session.d.ts.map +1 -0
  60. package/lib/types/client/navigation-cache.d.ts.map +1 -1
  61. package/lib/types/client/provider-instance-runtime.d.ts.map +1 -1
  62. package/lib/types/client/realtime-client-events.d.ts.map +1 -1
  63. package/lib/types/client/recording-tour-session.d.ts +9 -0
  64. package/lib/types/client/recording-tour-session.d.ts.map +1 -0
  65. package/lib/types/client/recordings/ArkmeRecordingMobileGuideDialog.d.ts +6 -0
  66. package/lib/types/client/recordings/ArkmeRecordingMobileGuideDialog.d.ts.map +1 -0
  67. package/lib/types/client/recordings/recording-mobile-guide-styles.d.ts +2 -0
  68. package/lib/types/client/recordings/recording-mobile-guide-styles.d.ts.map +1 -0
  69. package/lib/types/client/recordings/recording-tour-sample.d.ts +3 -0
  70. package/lib/types/client/recordings/recording-tour-sample.d.ts.map +1 -0
  71. package/lib/types/client/send-to-self-tour-session.d.ts +9 -0
  72. package/lib/types/client/send-to-self-tour-session.d.ts.map +1 -0
  73. package/lib/types/client/use-scroll-bottom-visibility.d.ts +7 -0
  74. package/lib/types/client/use-scroll-bottom-visibility.d.ts.map +1 -0
  75. package/lib/types/client/use-tour-account.d.ts +5 -0
  76. package/lib/types/client/use-tour-account.d.ts.map +1 -0
  77. package/lib/types/emoji-recent.d.ts +8 -0
  78. package/lib/types/emoji-recent.d.ts.map +1 -0
  79. package/lib/types/harness-embed-contract.d.ts +1 -0
  80. package/lib/types/harness-embed-contract.d.ts.map +1 -1
  81. package/lib/types/harness-embed-route.d.ts +1 -0
  82. package/lib/types/harness-embed-route.d.ts.map +1 -1
  83. package/lib/types/host-api.d.ts.map +1 -1
  84. package/lib/types/index.d.ts.map +1 -1
  85. package/lib/types/local-database.d.ts +5 -1
  86. package/lib/types/local-database.d.ts.map +1 -1
  87. package/lib/types/outgoing-call-assets.d.ts.map +1 -1
  88. package/lib/types/services/service.d.ts +2 -1
  89. package/lib/types/services/service.d.ts.map +1 -1
  90. package/lib/types/types.d.ts +1 -1
  91. package/lib/types/types.d.ts.map +1 -1
  92. package/package.json +6 -5
@@ -0,0 +1,73 @@
1
+ window.__ModuleLoader__.load({
2
+ id: "@senguoyun/dsh-arkme/harness-onboarding",
3
+ factory: (require) => {
4
+ var module = { exports: {} };
5
+ var exports = module.exports;
6
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
7
+ let react = require("react");
8
+ //#region src/client/home-tour-diagnostics.ts
9
+ let sequence = 0;
10
+ /** Structured lifecycle metadata only: never pass profile payloads, input text, or credentials. */
11
+ function homeTourDiagnostic(event, details = {}) {
12
+ try {
13
+ console.info("[ArkmeHomeTour]", JSON.stringify({
14
+ sequence: ++sequence,
15
+ at: (/* @__PURE__ */ new Date()).toISOString(),
16
+ documentTimeOrigin: typeof performance === "undefined" ? void 0 : performance.timeOrigin,
17
+ inFrame: typeof window === "undefined" ? void 0 : window !== window.top,
18
+ event,
19
+ ...details
20
+ }));
21
+ } catch {}
22
+ }
23
+ //#endregion
24
+ //#region src/client/harness-onboarding-client.tsx
25
+ const inject = ["slots", "sessions"];
26
+ /** Runs in the native iframe. The settings coordinator owns when this step mounts. */
27
+ function apply(ctx) {
28
+ const sessions = ctx.sessions;
29
+ let completed = false;
30
+ let wasActive;
31
+ const publish = () => {
32
+ const snapshot = sessions.list.getSnapshot();
33
+ const active = snapshot.phase === "ready" && (snapshot.current === void 0 || snapshot.byId[snapshot.current]?.blank === true);
34
+ if (active && wasActive === false) completed = false;
35
+ wasActive = active;
36
+ const state = snapshot.phase === "ready" && (!active || completed) ? "ready" : "pending";
37
+ if (document.body.dataset.arkmeHarnessOnboarding !== state) {
38
+ document.body.dataset.arkmeHarnessOnboarding = state;
39
+ homeTourDiagnostic("harness-onboarding-state", {
40
+ state,
41
+ active,
42
+ completed
43
+ });
44
+ }
45
+ };
46
+ function OnboardingComplete({ complete }) {
47
+ (0, react.useEffect)(() => {
48
+ completed = true;
49
+ publish();
50
+ complete();
51
+ }, [complete]);
52
+ return null;
53
+ }
54
+ ctx.effect(() => {
55
+ publish();
56
+ const unsubscribe = sessions.list.subscribe(publish);
57
+ return () => {
58
+ unsubscribe();
59
+ delete document.body.dataset.arkmeHarnessOnboarding;
60
+ };
61
+ }, "arkme: native onboarding readiness");
62
+ ctx.slots.inject("settings.onboarding", () => ctx.slots.register({
63
+ name: "settings.onboarding",
64
+ id: "arkme-home-ready",
65
+ order: Number.MAX_SAFE_INTEGER
66
+ }, OnboardingComplete));
67
+ }
68
+ //#endregion
69
+ exports.apply = apply;
70
+ exports.inject = inject;
71
+ return module.exports;
72
+ }
73
+ });
package/lib/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { $ as ARKME_DEFAULT_SHARE_WEBSITE, A as inspectNativeBundleArtifactV3, At as __exportAll, D as bundleSha256, Dt as createDesktopLifecycleReader, E as arkmeSandboxEntryId, Et as retryAfterMillis, F as assertExtensionArtifactSize, G as validateVoiceprintPcm16Wav, I as canonicalExtensionJson, J as arkmeRequiredLinkMetadataFallback, K as arkmeExtensionShareRefFromLink, L as sha256Hex, M as packLocalNativeBundleDirectoryV3, Mt as __toCommonJS, N as readNativeBundleTarballV3, O as canonicalBundleJson, Ot as __commonJSMin, P as renderArkmeSandboxHostEntry, Q as parseArkmeRecordReeditAttachments, R as unpackArkmeExtension, S as ARKME_BUNDLE_ARTIFACT_KIND, St as sameRecordingImportIdentity, T as ArkmeBundleArtifactError, Tt as ArkmePluginError, U as ARKME_EXTENSION_RUNTIME_UNAVAILABLE_MESSAGE, W as ArkmeService, X as arkmeRichBackgroundSound, Y as arkmeFileBackgroundSound, Z as ArkmeRecordReeditDraftConflict, _ as arkmeClientContentDigest, _t as SecretValue, at as ARKME_WORLD_PUBLISH_MAX_IMAGE_BYTES, b as verifyExtensionResolutionSignature, bt as isUnresolvedRecordingImportJob, c as persistentExtensionBundleDirectory, ct as mergeMemberJoinEvents, d as readPersistentExtensionActivation, dt as ARKME_TOOL_FILE_MAX_BYTES, et as ARKME_PROVIDER_CONTRACT_VERSION, f as refreshPersistentClientWrapper, ft as arkmeCanInlineLocalFile, g as activeProfileExtensionOwnerConflicts, gt as ArkmeOutgoingCallError, h as renderArkmeBundleClientBundle, ht as isArkmeBotAvatarRef, i as invokePersistentArkmeExtension, it as ARKME_WORLD_PUBLISH_MAX_IMAGES, j as packBundleFiles, jt as __require, k as inspectBundleArtifact, kt as __esmMin, l as persistentExtensionPackageIdentity, lt as validateMemberUpdate, m as writePersistentExtensionActivation, mt as arkmePickedFileKind, o as persistentArkmeExtensionRuntimeState, ot as applyMemberUpdate, p as repairPersistentExtensionInstallation, pt as arkmeNormalizedFileMimeType, q as arkmeIsGenericLinkMetadataTitle, r as deactivatePersistentArkmeExtension, s as materializePersistentExtensionBundle, st as cachedMemberItem, t as activatePersistentArkmeExtension, u as quarantinePersistentExtension, ut as ARKME_RUNTIME_INSTANCE_ID, v as arkmeClientContentDigestFromSource, vt as ArkmeDirectMessageAdmissionError, w as ARKME_NATIVE_BUNDLE_ARTIFACT_KIND, wt as recordingImportFileNameKey, x as verifyNativeBundleResolutionSignature, xt as recordingImportFileKind, y as verifyBundleResolutionSignature, yt as isRecordingInstantOnOrAfterUnixEpoch, z as ARKME_EXTENSION_FORMAT } from "./persistent-runtime-BRy2sNmS.js";
1
+ import { $ as ARKME_DEFAULT_SHARE_WEBSITE, A as inspectNativeBundleArtifactV3, At as __commonJSMin, D as bundleSha256, Dt as ArkmePluginError, E as arkmeSandboxEntryId, Et as normalizeRecentEmojiIds, F as assertExtensionArtifactSize, G as validateVoiceprintPcm16Wav, I as canonicalExtensionJson, J as arkmeRequiredLinkMetadataFallback, K as arkmeExtensionShareRefFromLink, L as sha256Hex, M as packLocalNativeBundleDirectoryV3, Mt as __exportAll, N as readNativeBundleTarballV3, Nt as __require, O as canonicalBundleJson, Ot as retryAfterMillis, P as renderArkmeSandboxHostEntry, Pt as __toCommonJS, Q as parseArkmeRecordReeditAttachments, R as unpackArkmeExtension, S as ARKME_BUNDLE_ARTIFACT_KIND, St as sameRecordingImportIdentity, T as ArkmeBundleArtifactError, Tt as isRecentEmojiId, U as ARKME_EXTENSION_RUNTIME_UNAVAILABLE_MESSAGE, W as ArkmeService, X as arkmeRichBackgroundSound, Y as arkmeFileBackgroundSound, Z as ArkmeRecordReeditDraftConflict, _ as arkmeClientContentDigest, _t as SecretValue, at as ARKME_WORLD_PUBLISH_MAX_IMAGE_BYTES, b as verifyExtensionResolutionSignature, bt as isUnresolvedRecordingImportJob, c as persistentExtensionBundleDirectory, ct as mergeMemberJoinEvents, d as readPersistentExtensionActivation, dt as ARKME_TOOL_FILE_MAX_BYTES, et as ARKME_PROVIDER_CONTRACT_VERSION, f as refreshPersistentClientWrapper, ft as arkmeCanInlineLocalFile, g as activeProfileExtensionOwnerConflicts, gt as ArkmeOutgoingCallError, h as renderArkmeBundleClientBundle, ht as isArkmeBotAvatarRef, i as invokePersistentArkmeExtension, it as ARKME_WORLD_PUBLISH_MAX_IMAGES, j as packBundleFiles, jt as __esmMin, k as inspectBundleArtifact, kt as createDesktopLifecycleReader, l as persistentExtensionPackageIdentity, lt as validateMemberUpdate, m as writePersistentExtensionActivation, mt as arkmePickedFileKind, o as persistentArkmeExtensionRuntimeState, ot as applyMemberUpdate, p as repairPersistentExtensionInstallation, pt as arkmeNormalizedFileMimeType, q as arkmeIsGenericLinkMetadataTitle, r as deactivatePersistentArkmeExtension, s as materializePersistentExtensionBundle, st as cachedMemberItem, t as activatePersistentArkmeExtension, u as quarantinePersistentExtension, ut as ARKME_RUNTIME_INSTANCE_ID, v as arkmeClientContentDigestFromSource, vt as ArkmeDirectMessageAdmissionError, w as ARKME_NATIVE_BUNDLE_ARTIFACT_KIND, wt as recordingImportFileNameKey, x as verifyNativeBundleResolutionSignature, xt as recordingImportFileKind, y as verifyBundleResolutionSignature, yt as isRecordingInstantOnOrAfterUnixEpoch, z as ARKME_EXTENSION_FORMAT } from "./persistent-runtime-Bu8Zk87a.js";
2
2
  import { _ as parsePluginUpdateManifest, b as validatePluginUpdateServiceOrigin, d as writePluginUpdateLifecycleLog, f as PluginUpdateInstallStateStore, g as existingCachedPluginArtifactPath, h as downloadAndCachePluginArtifact, m as PluginUpdateArtifactError, n as buildTargetInstallArgs, o as reconcilePluginUpdaterProfilePolicy, p as ARKME_PLUGIN_PACKAGE_NAME$1, t as assertTargetArtifactIntegrity, u as detachManagedProfilePluginLink, v as pluginUpdateEndpointUrl, y as validatePluginUpdateArtifactOrigin } from "./plugin-updater-helper-y7wzJLOx.js";
3
3
  import { a as securePrivateDirectory, c as securePrivateFileSync, i as prepareProfilePackageManager, n as isArkmeProfilePackageName, o as securePrivateDirectorySync, r as localExtensionPnpmArgs, s as securePrivateFile, t as applyArkmeProfileBundlePolicy } from "./profile-bundle-policy-DLXDyohJ.js";
4
4
  import { i as invokeArkmeBundle, n as arkmeBundleActive, r as deactivateArkmeBundle } from "./bundle-runtime-CE73h3vS.js";
@@ -108,6 +108,7 @@ const ARKME_HARNESS_EMBED_PATH = "/arkme-self/harness-frame";
108
108
  const HARNESS_SESSION_CLIENT_ID = "@senguoyun/dsh-arkme/harness-session";
109
109
  const HARNESS_SESSION_CLIENT_PATH = "/arkme-self/harness-session-client.js";
110
110
  const ARKME_HARNESS_MODEL_CLIENT_PATH = "/arkme-self/harness-model-client.js";
111
+ const ARKME_HARNESS_ONBOARDING_CLIENT_PATH = "/arkme-self/harness-onboarding-client.js";
111
112
  //#endregion
112
113
  //#region src/plugin-update-policy.ts
113
114
  const PLUGIN_UPDATE_TERMINAL_STATE_TTL_MS = 10 * 6e4;
@@ -11963,6 +11964,8 @@ async function dispatchArkmeHostOperation(service, operation, params, updateMana
11963
11964
  ...expectedUserId === void 0 ? {} : { expectedUserId }
11964
11965
  });
11965
11966
  }
11967
+ case "emoji.recent.list": return await service.recentEmojiIds(stringParam(params, "accountKey"), requestSignal);
11968
+ case "emoji.recent.record": return await service.recordRecentEmoji(stringParam(params, "accountKey"), stringParam(params, "emojiId"), requestSignal);
11966
11969
  case "favorite-stickers.list": return await service.favoriteStickers();
11967
11970
  case "favorite-stickers.add": return await service.addFavoriteSticker(favoriteStickerItemParam(params));
11968
11971
  case "favorite-stickers.send": return await service.sendFavoriteSticker(stringParam(params, "sourceRef"), stringParam(params, "fileAssetUid"), {
@@ -12427,6 +12430,20 @@ function createHarnessEmbedRouteHandler(options) {
12427
12430
  try {
12428
12431
  const fullGraph = options.getGraph();
12429
12432
  const projectedGraph = projectHarnessBootGraph(fullGraph, options.installedPackageNames(), options.modelClient);
12433
+ if (options.onboardingClient !== void 0) {
12434
+ const entry = {
12435
+ ...options.onboardingClient,
12436
+ inject: [...requiredBootPackages(projectedGraph.entries), ...projectedGraph.entries.filter((item) => item.id.startsWith("@deepseek-ai/dsh-client-ui-settings")).map((item) => item.id)]
12437
+ };
12438
+ projectedGraph.entries.push(entry);
12439
+ projectedGraph.batches?.push({
12440
+ phase: "application",
12441
+ url: entry.url,
12442
+ rev: entry.rev,
12443
+ entries: [entry.id]
12444
+ });
12445
+ projectedGraph.rev = shortHash(`${projectedGraph.rev}:${entry.rev}`);
12446
+ }
12430
12447
  if (options.sessionClient !== void 0) {
12431
12448
  const rev = options.sessionClient.revision;
12432
12449
  projectedGraph.entries.push({
@@ -12577,6 +12594,10 @@ const ASSETS = {
12577
12594
  contentType: "image/png",
12578
12595
  cacheControl: "public, max-age=31536000, immutable"
12579
12596
  },
12597
+ "call-demo-utterance-v1.m4a": {
12598
+ contentType: "audio/mp4",
12599
+ cacheControl: "public, max-age=31536000, immutable"
12600
+ },
12580
12601
  "manifest.json": {
12581
12602
  contentType: "application/json; charset=utf-8",
12582
12603
  cacheControl: "no-store"
@@ -15458,6 +15479,9 @@ var ArkmeLocalDatabase = class {
15458
15479
  PRAGMA journal_mode = WAL;
15459
15480
  PRAGMA synchronous = NORMAL;
15460
15481
  PRAGMA foreign_keys = ON;
15482
+ CREATE TABLE IF NOT EXISTS recent_emoji (
15483
+ account_key TEXT PRIMARY KEY, emoji_ids TEXT NOT NULL
15484
+ );
15461
15485
  CREATE TABLE IF NOT EXISTS conversation_directory (
15462
15486
  user_id INTEGER NOT NULL, identity TEXT NOT NULL, payload TEXT NOT NULL,
15463
15487
  visibility TEXT, PRIMARY KEY(user_id, identity)
@@ -16111,12 +16135,34 @@ var ArkmeLocalDatabase = class {
16111
16135
  throw error;
16112
16136
  }
16113
16137
  }
16138
+ readRecentEmojiIds(accountKey) {
16139
+ const row = this.database.prepare("SELECT emoji_ids FROM recent_emoji WHERE account_key=?").get(accountKey);
16140
+ if (!row) return [];
16141
+ try {
16142
+ return normalizeRecentEmojiIds(JSON.parse(row.emoji_ids));
16143
+ } catch {
16144
+ return [];
16145
+ }
16146
+ }
16147
+ async recentEmojiIds(accountKey) {
16148
+ return this.readRecentEmojiIds(accountKey);
16149
+ }
16150
+ async recordRecentEmoji(accountKey, emojiId) {
16151
+ if (!isRecentEmojiId(emojiId)) throw new Error("Invalid recent emoji");
16152
+ let ids = [];
16153
+ this.transaction(() => {
16154
+ ids = normalizeRecentEmojiIds([emojiId, ...this.readRecentEmojiIds(accountKey)]);
16155
+ this.database.prepare(`INSERT INTO recent_emoji (account_key, emoji_ids) VALUES (?, ?)
16156
+ ON CONFLICT(account_key) DO UPDATE SET emoji_ids=excluded.emoji_ids`).run(accountKey, JSON.stringify(ids));
16157
+ });
16158
+ return ids;
16159
+ }
16114
16160
  transaction(work) {
16115
16161
  this.database.exec("BEGIN IMMEDIATE");
16116
16162
  try {
16117
16163
  work();
16118
- this.database.exec("COMMIT");
16119
16164
  this.secureDatabaseFiles();
16165
+ this.database.exec("COMMIT");
16120
16166
  } catch (error) {
16121
16167
  this.database.exec("ROLLBACK");
16122
16168
  throw error;
@@ -36245,7 +36291,25 @@ function apply(ctx, config) {
36245
36291
  }
36246
36292
  }), "arkme: Harness session observer asset");
36247
36293
  const harnessModelClient = readFileSync(new URL("../lib/harness-model-client.js", import.meta.url));
36294
+ const harnessOnboardingClient = readFileSync(new URL("../lib/harness-onboarding-client.js", import.meta.url));
36295
+ ctx.effect(() => ctx.webServer.register({
36296
+ kind: "exact",
36297
+ path: ARKME_HARNESS_ONBOARDING_CLIENT_PATH,
36298
+ handler: (_request, response) => {
36299
+ response.writeHead(200, {
36300
+ "Content-Type": "application/javascript",
36301
+ "Cache-Control": "no-cache"
36302
+ });
36303
+ response.end(harnessOnboardingClient);
36304
+ }
36305
+ }), "arkme: Harness onboarding bridge asset");
36248
36306
  const harnessEmbedHandler = createHarnessEmbedRouteHandler({
36307
+ onboardingClient: {
36308
+ id: "@senguoyun/dsh-arkme/harness-onboarding",
36309
+ url: ARKME_HARNESS_ONBOARDING_CLIENT_PATH,
36310
+ rev: createHash("sha256").update(harnessOnboardingClient).digest("hex"),
36311
+ external: ["react"]
36312
+ },
36249
36313
  ...sessionClient === void 0 ? {} : { sessionClient: {
36250
36314
  revision: createHash("sha256").update(sessionClient.source).digest("hex").slice(0, 12),
36251
36315
  apiPath: sessionClient.apiPath
@@ -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-BRy2sNmS.js";
1
+ import { a as persistentArkmeExtensionActive, i as invokePersistentArkmeExtension, n as applyPersistentArkmeHostExtension, o as persistentArkmeExtensionRuntimeState, r as deactivatePersistentArkmeExtension, t as activatePersistentArkmeExtension } from "./persistent-runtime-Bu8Zk87a.js";
2
2
  export { activatePersistentArkmeExtension, applyPersistentArkmeHostExtension, deactivatePersistentArkmeExtension, invokePersistentArkmeExtension, persistentArkmeExtensionActive, persistentArkmeExtensionRuntimeState };