@senguoyun/dsh-arkme 0.1.82 → 0.1.84

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 (108) hide show
  1. package/docs/ai-points-implementation.md +43 -0
  2. package/docs/interwoven-compact-summary-regression-2026-09-28.md +35 -0
  3. package/docs/interwoven-original-read-receipt-regression-2026-09-28.md +50 -0
  4. package/docs/personal-detail-consistency-regression-2026-09-28.md +40 -0
  5. package/docs/recognized-speaker-directory-backend-handoff-2026-09-28.md +157 -0
  6. package/docs/recognized-speaker-entry-and-visits.md +47 -0
  7. package/docs/recognized-speaker-presence-delivery.md +51 -0
  8. package/docs/recognized-speaker-sorting.md +30 -0
  9. package/docs/send-to-self-roles-cross-client-api-handoff-2026-09-27.md +9 -0
  10. package/lib/client.js +3358 -1946
  11. package/lib/client.js.map +1 -1
  12. package/lib/harness-model-client.js +168 -38
  13. package/lib/harness-native-selection-client.js +92 -1
  14. package/lib/harness-sidebar-client.js +31 -0
  15. package/lib/index.js +347 -132
  16. package/lib/persistent-extension.js +1 -1
  17. package/lib/{persistent-runtime-DV9Hme-U.js → persistent-runtime-CuKplHIv.js} +607 -303
  18. package/lib/sdk.js +31 -0
  19. package/lib/types/ai-points.d.ts +61 -0
  20. package/lib/types/ai-points.d.ts.map +1 -0
  21. package/lib/types/arkme-service.d.ts +11 -1
  22. package/lib/types/arkme-service.d.ts.map +1 -1
  23. package/lib/types/billing-gateway.d.ts.map +1 -1
  24. package/lib/types/client/ArkmeAccountUsage.d.ts +1 -3
  25. package/lib/types/client/ArkmeAccountUsage.d.ts.map +1 -1
  26. package/lib/types/client/ArkmeArkoSurface.d.ts.map +1 -1
  27. package/lib/types/client/ArkmeBillingSettings.d.ts +3 -2
  28. package/lib/types/client/ArkmeBillingSettings.d.ts.map +1 -1
  29. package/lib/types/client/ArkmeDataManagementSettings.d.ts.map +1 -1
  30. package/lib/types/client/ArkmeDocumentComposerInput.d.ts.map +1 -1
  31. package/lib/types/client/ArkmeEmojiPicker.d.ts.map +1 -1
  32. package/lib/types/client/ArkmeInterwovenReadReceipt.d.ts +12 -0
  33. package/lib/types/client/ArkmeInterwovenReadReceipt.d.ts.map +1 -0
  34. package/lib/types/client/ArkmeModelPricing.d.ts +9 -0
  35. package/lib/types/client/ArkmeModelPricing.d.ts.map +1 -0
  36. package/lib/types/client/ArkmeModelSelect.d.ts.map +1 -1
  37. package/lib/types/client/ArkmeNoteDetails.d.ts.map +1 -1
  38. package/lib/types/client/ArkmePointsConsumption.d.ts +5 -0
  39. package/lib/types/client/ArkmePointsConsumption.d.ts.map +1 -0
  40. package/lib/types/client/ArkmeRecognizedSpeakersSurface.d.ts +6 -2
  41. package/lib/types/client/ArkmeRecognizedSpeakersSurface.d.ts.map +1 -1
  42. package/lib/types/client/ArkmeRecordingSurface.d.ts.map +1 -1
  43. package/lib/types/client/ArkmeRelatedQuickNotes.d.ts.map +1 -1
  44. package/lib/types/client/ArkmeSidebar.d.ts.map +1 -1
  45. package/lib/types/client/ArkoModelMenu.d.ts.map +1 -1
  46. package/lib/types/client/api.d.ts +1 -1
  47. package/lib/types/client/api.d.ts.map +1 -1
  48. package/lib/types/client/interwoven-moments.d.ts.map +1 -1
  49. package/lib/types/client/interwoven-read-receipt-store.d.ts +32 -0
  50. package/lib/types/client/interwoven-read-receipt-store.d.ts.map +1 -0
  51. package/lib/types/client/locales/actions-en.d.ts.map +1 -1
  52. package/lib/types/client/locales/dynamic-en.d.ts.map +1 -1
  53. package/lib/types/client/locales/en.d.ts.map +1 -1
  54. package/lib/types/client/reaction-preview-store.d.ts +1 -0
  55. package/lib/types/client/reaction-preview-store.d.ts.map +1 -1
  56. package/lib/types/client/recognized-speaker-directory.d.ts +36 -0
  57. package/lib/types/client/recognized-speaker-directory.d.ts.map +1 -0
  58. package/lib/types/client/recognized-speaker-order.d.ts +28 -0
  59. package/lib/types/client/recognized-speaker-order.d.ts.map +1 -0
  60. package/lib/types/client/recognized-speaker-tracker.d.ts +33 -0
  61. package/lib/types/client/recognized-speaker-tracker.d.ts.map +1 -0
  62. package/lib/types/client/recordings/RecognizedSpeakerEntry.d.ts +12 -0
  63. package/lib/types/client/recordings/RecognizedSpeakerEntry.d.ts.map +1 -0
  64. package/lib/types/client/recordings/SpeakerSelfGuide.d.ts +8 -0
  65. package/lib/types/client/recordings/SpeakerSelfGuide.d.ts.map +1 -0
  66. package/lib/types/client/recordings/recording-speaker-options-store.d.ts.map +1 -1
  67. package/lib/types/client/self-role-presentation.d.ts +6 -1
  68. package/lib/types/client/self-role-presentation.d.ts.map +1 -1
  69. package/lib/types/client/use-personal-extension-parents.d.ts +4 -0
  70. package/lib/types/client/use-personal-extension-parents.d.ts.map +1 -0
  71. package/lib/types/host-api.d.ts.map +1 -1
  72. package/lib/types/index.d.ts.map +1 -1
  73. package/lib/types/managed-ai/adapter.d.ts +2 -1
  74. package/lib/types/managed-ai/adapter.d.ts.map +1 -1
  75. package/lib/types/managed-ai/operation.d.ts +17 -0
  76. package/lib/types/managed-ai/operation.d.ts.map +1 -0
  77. package/lib/types/managed-ai/transport.d.ts +1 -0
  78. package/lib/types/managed-ai/transport.d.ts.map +1 -1
  79. package/lib/types/record-extension-tree.d.ts +2 -0
  80. package/lib/types/record-extension-tree.d.ts.map +1 -1
  81. package/lib/types/sdk/index.d.ts +14 -0
  82. package/lib/types/sdk/index.d.ts.map +1 -1
  83. package/lib/types/services/ai-points-service.d.ts +13 -0
  84. package/lib/types/services/ai-points-service.d.ts.map +1 -0
  85. package/lib/types/services/arko-service.d.ts.map +1 -1
  86. package/lib/types/services/chat-service.d.ts +9 -1
  87. package/lib/types/services/chat-service.d.ts.map +1 -1
  88. package/lib/types/services/interwoven-service.d.ts +3 -1
  89. package/lib/types/services/interwoven-service.d.ts.map +1 -1
  90. package/lib/types/services/recording-service.d.ts +2 -5
  91. package/lib/types/services/recording-service.d.ts.map +1 -1
  92. package/lib/types/services/unmarked-speaker-service.d.ts.map +1 -1
  93. package/lib/types/tools/business/account/ai-points.d.ts +4 -0
  94. package/lib/types/tools/business/account/ai-points.d.ts.map +1 -0
  95. package/lib/types/tools/business/account/index.d.ts.map +1 -1
  96. package/lib/types/tools/business/recordings/index.d.ts +1 -1
  97. package/lib/types/tools/business/recordings/index.d.ts.map +1 -1
  98. package/lib/types/tools/business/recordings/speaker-presence.d.ts +2 -0
  99. package/lib/types/tools/business/recordings/speaker-presence.d.ts.map +1 -0
  100. package/lib/types/tools/ports/profile.d.ts +3 -0
  101. package/lib/types/tools/ports/profile.d.ts.map +1 -1
  102. package/lib/types/tools/ports/recordings.d.ts +4 -0
  103. package/lib/types/tools/ports/recordings.d.ts.map +1 -1
  104. package/lib/types/types.d.ts +33 -8
  105. package/lib/types/types.d.ts.map +1 -1
  106. package/package.json +5 -5
  107. package/lib/types/recording-speaker-presence.d.ts +0 -28
  108. package/lib/types/recording-speaker-presence.d.ts.map +0 -1
@@ -144,10 +144,13 @@ export type ArkmeDirectoryItem = {
144
144
  bot: ArkmeBotSummary;
145
145
  } | {
146
146
  kind: 'unmarked-speaker';
147
- candidateRef: string;
147
+ candidateRef: string; /** Stable read-only identity, not a mutation credential. */
148
+ identityKey?: string;
148
149
  speakerToken?: string;
149
150
  displayName: string;
150
151
  subtitle: string;
152
+ appearanceDays?: number;
153
+ latestAtMillis?: number;
151
154
  } | {
152
155
  kind: 'team';
153
156
  teamRef: string;
@@ -1244,6 +1247,7 @@ export interface ArkmeProviderCapabilities {
1244
1247
  userProfile: true;
1245
1248
  /** Current-account profile settings support Arkme ID, personal QR, and phone binding flows. */
1246
1249
  accountSettings?: true;
1250
+ aiPoints?: true;
1247
1251
  imageRead: true;
1248
1252
  /** Record-calendar bucket and day-record reads backed by the Arkme record service. */
1249
1253
  recordCalendar?: true;
@@ -1260,6 +1264,7 @@ export interface ArkmeProviderCapabilities {
1260
1264
  dshAccountSessions?: true;
1261
1265
  remoteRecordSearch?: true;
1262
1266
  contactDirectoryReads?: true;
1267
+ speakerPresence?: true;
1263
1268
  sourceTimeline: true;
1264
1269
  /** Forward snapshots include typed transcripts and account-bound attachment references. */
1265
1270
  forwardContent?: true;
@@ -2221,6 +2226,8 @@ export interface ArkmeMessageCopyLinkExtendResult {
2221
2226
  /** Extension state for a message authorized by its source-scoped action reference. */
2222
2227
  export interface ArkmeSourceMessageExtensionContext extends ArkmeMessageCopyLinkRecordContext {
2223
2228
  parentRecordUid: string;
2229
+ /** Immediate source of the opened note, independent of its current topic. */
2230
+ extensionParent?: ArkmeTimelineExtensionParent;
2224
2231
  }
2225
2232
  export interface ArkmeSourceMessageExtendResult {
2226
2233
  recordUid: string;
@@ -2280,6 +2287,10 @@ export interface ArkmeMessageCopyLinkSourceAnchor {
2280
2287
  }
2281
2288
  export interface ArkmeMessageCopyLinkExtensionItem extends ArkmeMessageCopyLinkSnapshotItem {
2282
2289
  recordUid: string;
2290
+ /** Opaque current-conversation member identity for chat reply presentation. */
2291
+ senderMemberRef?: string;
2292
+ /** Whether this chat reply was sent by the signed-in viewer. */
2293
+ senderIsMe?: boolean;
2283
2294
  /** Locally frozen speaking role for an owned "send to self" extension. */
2284
2295
  selfRole?: ArkmeSelfRoleSnapshot;
2285
2296
  /** Whether the author's display name came from the record's creation-time snapshot. */
@@ -2345,6 +2356,16 @@ export interface ArkmeInterwovenBootstrap {
2345
2356
  preparedAtMillis: number;
2346
2357
  message?: string;
2347
2358
  }
2359
+ /** Receipt of the original group message, never of its private-chat projection. */
2360
+ export interface ArkmeInterwovenReadReceipt {
2361
+ momentId: string;
2362
+ reader: 'self' | 'peer';
2363
+ status: 'read' | 'unread' | 'unknown';
2364
+ readAtMillis?: number;
2365
+ }
2366
+ export interface ArkmeInterwovenReadReceiptList {
2367
+ items: ArkmeInterwovenReadReceipt[];
2368
+ }
2348
2369
  export interface ArkmeInterwovenDetail {
2349
2370
  momentId: string;
2350
2371
  groupName: string;
@@ -2796,8 +2817,8 @@ export interface ArkmeRecordingSpeakerCandidate {
2796
2817
  }
2797
2818
  export interface ArkmeRecordingSpeakerPresence {
2798
2819
  state: 'building' | 'fresh' | 'stale' | 'failed';
2799
- /** Recent-only fallback is never presented as an all-history total. */
2800
- scope: 'all-history' | 'recent-seven-days';
2820
+ scope: 'all-history';
2821
+ version?: string;
2801
2822
  items: Array<{
2802
2823
  optionKey: string;
2803
2824
  dayCount: number;
@@ -2807,11 +2828,14 @@ export interface ArkmeRecordingSpeakerPresence {
2807
2828
  retryAfterMs?: number;
2808
2829
  }
2809
2830
  export interface ArkmeRecordingSpeakerMembers {
2810
- /** Existing day-transcript data only proves associations in this bounded window. */
2811
- scope: 'recent-seven-days';
2831
+ state: ArkmeRecordingSpeakerPresence['state'];
2832
+ scope: 'all-history';
2833
+ version?: string;
2834
+ retryAfterMs?: number;
2812
2835
  dayCount: number;
2813
2836
  lastSeenAt: number;
2814
2837
  items: Array<{
2838
+ identityKey: string;
2815
2839
  token: string;
2816
2840
  dayCount: number;
2817
2841
  lastSeenAt: number;
@@ -3119,13 +3143,14 @@ export interface ArkmeArkoModelOption {
3119
3143
  displayName: string;
3120
3144
  provider: string;
3121
3145
  description: string;
3146
+ costDescription?: string;
3122
3147
  recommended: boolean;
3123
3148
  selected: boolean;
3124
3149
  }
3125
3150
  export interface ArkmeArkoModelCatalog {
3126
3151
  defaultRouteKey: string;
3127
3152
  effectiveRouteKey: string;
3128
- selectionSource: 'default' | 'personal';
3153
+ selectionSource: 'default' | 'personal' | 'unavailable';
3129
3154
  options: ArkmeArkoModelOption[];
3130
3155
  }
3131
3156
  export type ArkmeArkoMessageRole = 'user' | 'assistant';
@@ -3381,8 +3406,8 @@ export type ArkmeChatClientEvent = {
3381
3406
  eventId: string;
3382
3407
  occurredAtMillis: number;
3383
3408
  });
3384
- export type ArkmePluginOperation = 'self-roles.list' | 'self-roles.create' | 'self-roles.update' | 'self-roles.delete' | 'self-roles.bind' | 'self-roles.unbind' | 'self-roles.rebind' | 'topic.dissolve.active' | 'topic.rename' | 'topic.dissolve' | 'provider.capabilities' | 'provider.state' | 'chat.realtime.state' | 'auth.status' | 'auth.config' | 'auth.begin' | 'auth.poll' | 'auth.app.begin' | 'auth.app.poll' | 'auth.app.cancel' | 'auth.test.login' | 'auth.email.send' | 'auth.email.bind' | 'auth.phone.send' | 'auth.phone.verify' | 'auth.phone.unbind.check' | 'auth.phone.unbind.send' | 'auth.phone.unbind' | 'auth.cancellation.preview' | 'auth.cancellation.submit' | 'auth.cancellation.login.resolve' | 'auth.logout' | 'user-ban.status' | 'chat.direct-message-admission' | 'chat.direct-message-refusal.set' | 'user-ban.ban' | 'user-ban.unban' | 'openapi.mcp.status' | 'openapi.mcp.retry' | 'team.list' | 'team.resolve' | 'team.members.list' | 'team.create' | 'team.join-by-jotmo-id' | 'remote.sessions.list' | 'remote.session.read' | 'remote.session.native' | 'remote.session.command' | 'remote.session.observe' | 'remote.currentSession' | 'remote.reportCurrentSession' | 'remote.getStatus' | 'remote.renameDesktop' | 'billing.quota' | 'billing.products' | 'membership.current' | 'membership.catalog' | 'account.usage.tokens' | 'account.usage.storage' | 'account.usage.voice' | 'account.usage.token.summary' | 'account.usage.token.operations' | 'account.usage.token.calls' | 'data.deleted' | 'data.export.preflight' | 'data.recover' | 'billing.order.create' | 'billing.order.status' | 'contacts.search' | 'directory.list' | 'private-interaction.summary' | 'private-interaction.query' | 'private-interaction.directory' | 'contacts.add' | 'chat.private.open-from-contact' | 'group.create' | 'bots.list' | 'bots.create' | 'bots.manage.profile' | 'bots.manage.update' | 'bots.manage.reveal-token' | 'bots.manage.delete' | 'bots.private-chat.notification.status' | 'bots.private-chat.notification.update' | 'bots.private-chat.directory' | 'bots.private-chat.open' | 'bots.private-chat.refresh' | 'bots.private-chat.history.read' | 'bots.private-chat.send' | 'bots.private-chat.mark-read' | 'records.summary' | 'records.cache' | 'records.refresh' | 'records.search' | 'search.records' | 'search.conversations' | 'records.list' | 'records.tags.list' | 'records.tags.query' | 'records.create' | 'records.outbox' | 'records.retry' | 'calendar.buckets' | 'calendar.chat-statistics' | 'calendar.records' | 'calendar.activity' | 'calendar.day-recap' | 'calendar.record-location' | 'user.profile' | 'user.profile.refresh' | 'user.profile.update' | 'account.invitation.get' | 'settings.background-sound.get' | 'settings.background-sound.update' | 'user.arkme-id.check' | 'user.arkme-id.set' | 'image.read' | 'images.list' | 'world.feed' | 'world.mine' | 'world.user' | 'world.author-labels' | 'chat.world.private.open' | 'chat.official-author.profile' | 'chat.official-author.private.open' | 'world.voiceprint.availability' | 'world.voiceprint.playback.generate' | 'world.voiceprint.social-context' | 'world.voiceprint.invite' | 'world.interactions.list' | 'world.interactions.create-text' | 'world.image.read' | 'world.publish-text' | 'world.publish-file-assets' | 'arrangements.board-cache' | 'arrangements.list' | 'arrangements.detail' | 'arrangements.mutate' | 'arrangements.create' | 'arrangements.recognition' | 'arrangements.reorder' | 'arrangements.reminder-enabled' | 'arrangements.reminders.summary' | 'arrangements.reminders.list' | 'arrangements.reminders.mark-read' | 'arrangements.reminders.mark-all-read' | 'arrangements.reminders.clear' | 'extensions.reviews.list' | 'extensions.reviews.create' | 'extensions.audit.check' | 'sources.list' | 'sources.self-target' | 'conversation.directory.bot-pin' | 'conversation.directory.visibility.query' | 'conversation.directory.visibility.set' | 'source.directory.policy.set' | 'source.timeline' | 'source.timeline-around' | 'source.members' | 'source.members.page' | 'source.members.presentation' | 'source.members.cached' | 'source.member-events' | 'source.member-event.profile' | 'source.member-event.private.open' | 'source.member-records' | 'source.mark-read' | 'source.message-preparing.report' | 'source.message-preparing.cancel' | 'source.read-receipts.summary-list' | 'source.read-receipts.detail' | 'source.message-report' | 'source.message-withdraw' | 'source.message-copy-link' | 'source.message-copy-link.resolve' | 'source.message-copy-link.extend' | 'source.message-extension.context' | 'source.message-extension.extend' | 'source.message-snapshot.detail' | 'source.message-location.set' | 'source.link-metadata.resolve' | 'source.forward-messages' | 'source.send-text' | 'related-recordings.eligibility' | 'related-recordings.page' | 'source.ai-polish.settings' | 'source.ai-polish.notices' | 'source.ai-polish.generate-rule' | 'source.ai-polish.prepare-enable' | 'source.ai-polish.confirm-enable' | 'source.ai-polish.prepare-disable' | 'source.ai-polish.confirm-disable' | 'source.ai-polish.retry' | 'group.members' | 'group.common.list' | 'group.common.sync' | 'group.member-candidates' | 'group.invite-preview' | 'group.members.add' | 'group.self-nickname' | 'group.self-nickname.set' | 'group.member-remove' | 'group.join-restrictions' | 'group.join-restriction.set' | 'group.bots' | 'group.bot.add' | 'group.bot.remove' | 'group.settings' | 'group.notification.set' | 'group.rename' | 'group.leave' | 'group.dissolve' | 'group.report' | 'user.card' | 'chat.private.open' | 'chat.member.private.open' | 'source.send-rich' | 'favorite-stickers.list' | 'reactions' | 'favorite-stickers.add' | 'favorite-stickers.send' | 'favorite-stickers.manage' | 'files.capabilities' | 'desktop.screenshot.capability' | 'desktop.screenshot.capture' | 'files.search' | 'files.stage-bytes' | 'files.send.discard' | 'files.send.reconcile' | 'files.local.list' | 'files.local.open' | 'files.local.open-folder' | 'files.local.remove' | 'files.send' | 'files.send.tasks' | 'files.send.retry' | 'files.receive' | 'source.long-article.publish' | 'source.long-article.own' | 'source.long-article.detail' | 'source.long-article.update' | 'source.long-article.draft.get' | 'source.long-article.draft.put' | 'source.long-article.draft.delete' | 'source.record-reedit.detail' | 'source.record-reedit.draft.put' | 'source.record-reedit.draft.delete' | 'source.record-reedit.update' | 'source.record-reedit.submit' | 'source.record-reedit.submissions' | 'source.record-reedit.resume' | 'source.record-reedit.acknowledge' | 'calls.outgoing.intent.claim' | 'calls.outgoing.intent.resolve' | 'calls.outgoing.prepare' | 'calls.invite.create' | 'calls.receiver.prepare' | 'calls.receiver.claim' | 'calls.outgoing.heartbeat' | 'calls.outgoing.release' | 'calls.outgoing.diag' | 'calls.history.list' | 'calls.history.detail' | 'calls.share.ensure' | 'calls.share.viewers' | 'calls.history.summary.retry' | 'extensions.mine.list' | 'extensions.mine.publish' | 'extensions.catalog.list' | 'extensions.catalog.detail' | 'extensions.install.preview' | 'extensions.delete' | 'extensions.metadata.update' | 'extensions.share.rotate' | 'extensions.share.detail' | 'extensions.share.resolve' | 'extensions.installed-list' | 'extensions.quarantine.status' | 'extensions.quarantine.dismiss' | 'extensions.quarantine.reenable' | 'extensions.quarantine.health' | 'extensions.enabled-state' | 'extensions.persistent.client-state' | 'extensions.enabled.set' | 'extensions.preview.delete' | 'extensions.preview.reorder' | 'extensions.catalog.list' | 'extensions.classification.tree' | 'extensions.classification.items' | 'topic.hierarchy.move' | 'topic.rename' | 'topic.home-visibility' | 'archives.list' | 'archives.state' | 'archives.set' | 'topic.dissolve' | 'topic.dissolve.status' | 'topic.dissolve.active';
3385
- export type ArkmeHostOperation = ArkmePluginOperation | 'emoji.recent.list' | 'emoji.recent.record' | 'topic.candidates' | 'source.record-delete' | 'source.record-topic.assign' | 'provider.instance' | 'link.metadata' | 'share.preview' | 'directory.contact.profile' | 'directory.contact.remark.update' | 'directory.contact.world' | 'directory.contact.open-chat' | 'directory.group.open-chat' | 'directory.bot.open-chat' | 'unmarked-speakers.options' | 'unmarked-speakers.retry-inference' | 'unmarked-speakers.segments' | 'unmarked-speakers.mark' | 'voiceprint.status' | 'voiceprint.grants' | 'voiceprint.people' | 'voiceprint.person' | 'voiceprint.person.voiceprints' | 'voiceprint.person.invite' | 'voiceprint.invite' | 'voiceprint.revoke' | 'voiceprint.restore' | 'dsh-beta-community.entry-state' | 'dsh-beta-community.join' | 'recordings.history' | 'recordings.presence' | 'recordings.presence.capture' | 'recordings.calendar' | 'recordings.day' | 'recordings.compare' | 'recordings.compare.start' | 'recordings.forward.capabilities' | 'recordings.forward' | 'recordings.summary-model-config' | 'recordings.summary-model-config.set' | 'recordings.generate' | 'recordings.import.preflight' | 'recordings.import.list' | 'recordings.import.history' | 'recordings.import.status' | 'recordings.import.retry' | 'recordings.import.cancel' | 'recordings.import.session.update-start' | 'recordings.import.session.update-ownership' | 'recordings.import.session.delete' | 'recordings.playback.open' | 'recordings.speaker.options' | 'recordings.speaker.presence' | 'recordings.speaker.members' | 'recordings.speaker.cached-options' | 'recordings.speaker.recommendation' | 'recordings.speaker.assign-item' | 'search.scene' | 'search.recordings' | 'search.history' | 'search.history.create' | 'ai-video.list' | 'files.assets' | 'topic.create' | 'topic.hierarchy.move' | 'topic.rename' | 'topic.dissolve' | 'topic.dissolve.status' | 'topic.dissolve.active' | 'arko.profile' | 'arko.session' | 'arko.new-session' | 'arko.models' | 'arko.model.activate' | 'arko.history' | 'arko.ask' | 'arko.run.status' | 'arko.cancel' | 'message-actions.copy-link' | 'message-actions.forward' | 'native-chat.forward' | 'native-chat.copy-link' | 'plugin.update.status' | 'plugin.update.check' | 'plugin.update.acknowledge' | 'plugin.update.install' | 'plugin.update.install-status' | 'source.interwoven-moments' | 'source.interwoven-detail' | 'source.shared-recording-detail' | 'source.related-quick-notes.from-message' | 'source.related-quick-notes.from-moment' | 'source.related-quick-note.detail' | 'source.record-edit-history' | 'extensions.catalog.list' | 'extensions.classification.tree' | 'extensions.classification.items' | 'extensions.catalog.detail' | 'extensions.audit.check' | 'extensions.my-list' | 'extensions.delete' | 'extensions.updates' | 'extensions.install.preview' | 'extensions.install.start' | 'extensions.install.status' | 'extensions.install.pause' | 'extensions.install.resume' | 'extensions.uninstall' | 'extensions.restart' | 'extensions.client.failure' | 'extensions.bundle.client-state' | 'extensions.persistent.invoke' | 'extensions.bundle.invoke';
3409
+ export type ArkmePluginOperation = 'recordings.speaker.options' | 'recordings.speaker.presence' | 'recordings.speaker.members' | 'self-roles.list' | 'self-roles.create' | 'self-roles.update' | 'self-roles.delete' | 'self-roles.bind' | 'self-roles.unbind' | 'self-roles.rebind' | 'topic.dissolve.active' | 'topic.rename' | 'topic.dissolve' | 'provider.capabilities' | 'provider.state' | 'chat.realtime.state' | 'auth.status' | 'auth.config' | 'auth.begin' | 'auth.poll' | 'auth.app.begin' | 'auth.app.poll' | 'auth.app.cancel' | 'auth.test.login' | 'auth.email.send' | 'auth.email.bind' | 'auth.phone.send' | 'auth.phone.verify' | 'auth.phone.unbind.check' | 'auth.phone.unbind.send' | 'auth.phone.unbind' | 'auth.cancellation.preview' | 'auth.cancellation.submit' | 'auth.cancellation.login.resolve' | 'auth.logout' | 'user-ban.status' | 'chat.direct-message-admission' | 'chat.direct-message-refusal.set' | 'user-ban.ban' | 'user-ban.unban' | 'openapi.mcp.status' | 'openapi.mcp.retry' | 'team.list' | 'team.resolve' | 'team.members.list' | 'team.create' | 'team.join-by-jotmo-id' | 'remote.sessions.list' | 'remote.session.read' | 'remote.session.native' | 'remote.session.command' | 'remote.session.observe' | 'remote.currentSession' | 'remote.reportCurrentSession' | 'remote.getStatus' | 'remote.renameDesktop' | 'billing.quota' | 'billing.products' | 'membership.current' | 'membership.catalog' | 'account.points.query' | 'account.points.consumption' | 'account.usage.tokens' | 'account.usage.storage' | 'account.usage.voice' | 'account.usage.token.summary' | 'account.usage.token.operations' | 'account.usage.token.calls' | 'data.deleted' | 'data.export.preflight' | 'data.recover' | 'billing.order.create' | 'billing.order.status' | 'contacts.search' | 'directory.list' | 'private-interaction.summary' | 'private-interaction.query' | 'private-interaction.directory' | 'contacts.add' | 'chat.private.open-from-contact' | 'group.create' | 'bots.list' | 'bots.create' | 'bots.manage.profile' | 'bots.manage.update' | 'bots.manage.reveal-token' | 'bots.manage.delete' | 'bots.private-chat.notification.status' | 'bots.private-chat.notification.update' | 'bots.private-chat.directory' | 'bots.private-chat.open' | 'bots.private-chat.refresh' | 'bots.private-chat.history.read' | 'bots.private-chat.send' | 'bots.private-chat.mark-read' | 'records.summary' | 'records.cache' | 'records.refresh' | 'records.search' | 'search.records' | 'search.conversations' | 'records.list' | 'records.tags.list' | 'records.tags.query' | 'records.create' | 'records.outbox' | 'records.retry' | 'calendar.buckets' | 'calendar.chat-statistics' | 'calendar.records' | 'calendar.activity' | 'calendar.day-recap' | 'calendar.record-location' | 'user.profile' | 'user.profile.refresh' | 'user.profile.update' | 'account.invitation.get' | 'settings.background-sound.get' | 'settings.background-sound.update' | 'user.arkme-id.check' | 'user.arkme-id.set' | 'image.read' | 'images.list' | 'world.feed' | 'world.mine' | 'world.user' | 'world.author-labels' | 'chat.world.private.open' | 'chat.official-author.profile' | 'chat.official-author.private.open' | 'world.voiceprint.availability' | 'world.voiceprint.playback.generate' | 'world.voiceprint.social-context' | 'world.voiceprint.invite' | 'world.interactions.list' | 'world.interactions.create-text' | 'world.image.read' | 'world.publish-text' | 'world.publish-file-assets' | 'arrangements.board-cache' | 'arrangements.list' | 'arrangements.detail' | 'arrangements.mutate' | 'arrangements.create' | 'arrangements.recognition' | 'arrangements.reorder' | 'arrangements.reminder-enabled' | 'arrangements.reminders.summary' | 'arrangements.reminders.list' | 'arrangements.reminders.mark-read' | 'arrangements.reminders.mark-all-read' | 'arrangements.reminders.clear' | 'extensions.reviews.list' | 'extensions.reviews.create' | 'extensions.audit.check' | 'sources.list' | 'sources.self-target' | 'conversation.directory.bot-pin' | 'conversation.directory.visibility.query' | 'conversation.directory.visibility.set' | 'source.directory.policy.set' | 'source.timeline' | 'source.timeline-around' | 'source.members' | 'source.members.page' | 'source.members.presentation' | 'source.members.cached' | 'source.member-events' | 'source.member-event.profile' | 'source.member-event.private.open' | 'source.member-records' | 'source.mark-read' | 'source.message-preparing.report' | 'source.message-preparing.cancel' | 'source.read-receipts.summary-list' | 'source.read-receipts.detail' | 'source.message-report' | 'source.message-withdraw' | 'source.message-copy-link' | 'source.message-copy-link.resolve' | 'source.message-copy-link.extend' | 'source.message-extension.context' | 'source.message-extension.parent' | 'source.message-extension.extend' | 'source.message-snapshot.detail' | 'source.message-location.set' | 'source.link-metadata.resolve' | 'source.forward-messages' | 'source.send-text' | 'related-recordings.eligibility' | 'related-recordings.page' | 'source.ai-polish.settings' | 'source.ai-polish.notices' | 'source.ai-polish.generate-rule' | 'source.ai-polish.prepare-enable' | 'source.ai-polish.confirm-enable' | 'source.ai-polish.prepare-disable' | 'source.ai-polish.confirm-disable' | 'source.ai-polish.retry' | 'group.members' | 'group.common.list' | 'group.common.sync' | 'group.member-candidates' | 'group.invite-preview' | 'group.members.add' | 'group.self-nickname' | 'group.self-nickname.set' | 'group.member-remove' | 'group.join-restrictions' | 'group.join-restriction.set' | 'group.bots' | 'group.bot.add' | 'group.bot.remove' | 'group.settings' | 'group.notification.set' | 'group.rename' | 'group.leave' | 'group.dissolve' | 'group.report' | 'user.card' | 'chat.private.open' | 'chat.member.private.open' | 'source.send-rich' | 'favorite-stickers.list' | 'reactions' | 'favorite-stickers.add' | 'favorite-stickers.send' | 'favorite-stickers.manage' | 'files.capabilities' | 'desktop.screenshot.capability' | 'desktop.screenshot.capture' | 'files.search' | 'files.stage-bytes' | 'files.send.discard' | 'files.send.reconcile' | 'files.local.list' | 'files.local.open' | 'files.local.open-folder' | 'files.local.remove' | 'files.send' | 'files.send.tasks' | 'files.send.retry' | 'files.receive' | 'source.long-article.publish' | 'source.long-article.own' | 'source.long-article.detail' | 'source.long-article.update' | 'source.long-article.draft.get' | 'source.long-article.draft.put' | 'source.long-article.draft.delete' | 'source.record-reedit.detail' | 'source.record-reedit.draft.put' | 'source.record-reedit.draft.delete' | 'source.record-reedit.update' | 'source.record-reedit.submit' | 'source.record-reedit.submissions' | 'source.record-reedit.resume' | 'source.record-reedit.acknowledge' | 'calls.outgoing.intent.claim' | 'calls.outgoing.intent.resolve' | 'calls.outgoing.prepare' | 'calls.invite.create' | 'calls.receiver.prepare' | 'calls.receiver.claim' | 'calls.outgoing.heartbeat' | 'calls.outgoing.release' | 'calls.outgoing.diag' | 'calls.history.list' | 'calls.history.detail' | 'calls.share.ensure' | 'calls.share.viewers' | 'calls.history.summary.retry' | 'extensions.mine.list' | 'extensions.mine.publish' | 'extensions.catalog.list' | 'extensions.catalog.detail' | 'extensions.install.preview' | 'extensions.delete' | 'extensions.metadata.update' | 'extensions.share.rotate' | 'extensions.share.detail' | 'extensions.share.resolve' | 'extensions.installed-list' | 'extensions.quarantine.status' | 'extensions.quarantine.dismiss' | 'extensions.quarantine.reenable' | 'extensions.quarantine.health' | 'extensions.enabled-state' | 'extensions.persistent.client-state' | 'extensions.enabled.set' | 'extensions.preview.delete' | 'extensions.preview.reorder' | 'extensions.catalog.list' | 'extensions.classification.tree' | 'extensions.classification.items' | 'topic.hierarchy.move' | 'topic.rename' | 'topic.home-visibility' | 'archives.list' | 'archives.state' | 'archives.set' | 'topic.dissolve' | 'topic.dissolve.status' | 'topic.dissolve.active';
3410
+ export type ArkmeHostOperation = ArkmePluginOperation | 'emoji.recent.list' | 'emoji.recent.record' | 'topic.candidates' | 'source.record-delete' | 'source.record-topic.assign' | 'provider.instance' | 'link.metadata' | 'share.preview' | 'directory.contact.profile' | 'directory.contact.remark.update' | 'directory.contact.world' | 'directory.contact.open-chat' | 'directory.group.open-chat' | 'directory.bot.open-chat' | 'unmarked-speakers.options' | 'unmarked-speakers.retry-inference' | 'unmarked-speakers.segments' | 'unmarked-speakers.mark' | 'voiceprint.status' | 'voiceprint.grants' | 'voiceprint.people' | 'voiceprint.person' | 'voiceprint.person.voiceprints' | 'voiceprint.person.invite' | 'voiceprint.invite' | 'voiceprint.revoke' | 'voiceprint.restore' | 'dsh-beta-community.entry-state' | 'dsh-beta-community.join' | 'recordings.history' | 'recordings.presence' | 'recordings.presence.capture' | 'recordings.calendar' | 'recordings.day' | 'recordings.compare' | 'recordings.compare.start' | 'recordings.forward.capabilities' | 'recordings.forward' | 'recordings.summary-model-config' | 'recordings.summary-model-config.set' | 'recordings.generate' | 'recordings.import.preflight' | 'recordings.import.list' | 'recordings.import.history' | 'recordings.import.status' | 'recordings.import.retry' | 'recordings.import.cancel' | 'recordings.import.session.update-start' | 'recordings.import.session.update-ownership' | 'recordings.import.session.delete' | 'recordings.playback.open' | 'recordings.speaker.cached-options' | 'recordings.speaker.recommendation' | 'recordings.speaker.assign-item' | 'search.scene' | 'search.recordings' | 'search.history' | 'search.history.create' | 'ai-video.list' | 'files.assets' | 'topic.create' | 'topic.hierarchy.move' | 'topic.rename' | 'topic.dissolve' | 'topic.dissolve.status' | 'topic.dissolve.active' | 'arko.profile' | 'arko.session' | 'arko.new-session' | 'arko.models' | 'arko.model.activate' | 'arko.history' | 'arko.ask' | 'arko.run.status' | 'arko.cancel' | 'message-actions.copy-link' | 'message-actions.forward' | 'native-chat.forward' | 'native-chat.copy-link' | 'plugin.update.status' | 'plugin.update.check' | 'plugin.update.acknowledge' | 'plugin.update.install' | 'plugin.update.install-status' | 'source.interwoven-moments' | 'source.interwoven-detail' | 'source.interwoven-read-receipts' | 'source.shared-recording-detail' | 'source.related-quick-notes.from-message' | 'source.related-quick-notes.from-moment' | 'source.related-quick-note.detail' | 'source.record-edit-history' | 'extensions.catalog.list' | 'extensions.classification.tree' | 'extensions.classification.items' | 'extensions.catalog.detail' | 'extensions.audit.check' | 'extensions.my-list' | 'extensions.delete' | 'extensions.updates' | 'extensions.install.preview' | 'extensions.install.start' | 'extensions.install.status' | 'extensions.install.pause' | 'extensions.install.resume' | 'extensions.uninstall' | 'extensions.restart' | 'extensions.client.failure' | 'extensions.bundle.client-state' | 'extensions.persistent.invoke' | 'extensions.bundle.invoke';
3386
3411
  export interface ArkmePluginRequest {
3387
3412
  operation: ArkmeHostOperation;
3388
3413
  params?: Record<string, unknown>;