@senguoyun/dsh-arkme 0.1.35 → 0.1.37
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.
- package/assets/windows/arkme-credential-helper.exe +0 -0
- package/assets/windows/manifest.json +18 -2
- package/cordis.patch.yml +1 -0
- package/docs/consumer-plugin-contract.md +39 -0
- package/lib/client.js +16211 -6527
- package/lib/client.js.map +1 -1
- package/lib/index.js +672 -98
- package/lib/persistent-extension.js +1 -1
- package/lib/{persistent-runtime-e4gV6dqq.js → persistent-runtime-Bc6X98km.js} +3637 -669
- package/lib/sdk.js +28 -4
- package/lib/types/arkme-service.d.ts +48 -11
- package/lib/types/arkme-service.d.ts.map +1 -1
- package/lib/types/chat-attention.d.ts +27 -0
- package/lib/types/chat-attention.d.ts.map +1 -0
- package/lib/types/client/ArkmeArkoSurface.d.ts +4 -0
- package/lib/types/client/ArkmeArkoSurface.d.ts.map +1 -1
- package/lib/types/client/ArkmeBackgroundSoundWaveform.d.ts +11 -0
- package/lib/types/client/ArkmeBackgroundSoundWaveform.d.ts.map +1 -0
- package/lib/types/client/ArkmeBotConversationSurface.d.ts.map +1 -1
- package/lib/types/client/ArkmeBotCreateDialog.d.ts +2 -1
- package/lib/types/client/ArkmeBotCreateDialog.d.ts.map +1 -1
- package/lib/types/client/ArkmeBotSettingsPanel.d.ts.map +1 -1
- package/lib/types/client/ArkmeFooterDropdown.d.ts.map +1 -1
- package/lib/types/client/ArkmeGroupChatControls.d.ts +4 -2
- package/lib/types/client/ArkmeGroupChatControls.d.ts.map +1 -1
- package/lib/types/client/ArkmeLongArticleDialog.d.ts.map +1 -1
- package/lib/types/client/ArkmeMessageActions.d.ts +41 -0
- package/lib/types/client/ArkmeMessageActions.d.ts.map +1 -0
- package/lib/types/client/ArkmeMessageSnapshotDialog.d.ts +13 -3
- package/lib/types/client/ArkmeMessageSnapshotDialog.d.ts.map +1 -1
- package/lib/types/client/ArkmeNotificationPermissionBanner.d.ts +9 -0
- package/lib/types/client/ArkmeNotificationPermissionBanner.d.ts.map +1 -0
- package/lib/types/client/ArkmePersistentShell.d.ts.map +1 -1
- package/lib/types/client/ArkmeProductNavigation.d.ts.map +1 -1
- package/lib/types/client/ArkmeQuickAdd.d.ts +3 -1
- package/lib/types/client/ArkmeQuickAdd.d.ts.map +1 -1
- package/lib/types/client/ArkmeRecordingSurface.d.ts +19 -4
- package/lib/types/client/ArkmeRecordingSurface.d.ts.map +1 -1
- package/lib/types/client/ArkmeSearchSurface.d.ts.map +1 -1
- package/lib/types/client/ArkmeSettingsSurface.d.ts +20 -0
- package/lib/types/client/ArkmeSettingsSurface.d.ts.map +1 -1
- package/lib/types/client/ArkmeSidebar.d.ts +37 -0
- package/lib/types/client/ArkmeSidebar.d.ts.map +1 -1
- package/lib/types/client/ArkmeStartupAuthGate.d.ts.map +1 -1
- package/lib/types/client/ArkmeTopicCreateDialog.d.ts.map +1 -1
- package/lib/types/client/ArkmeVirtualWorkspace.d.ts +6 -1
- package/lib/types/client/ArkmeVirtualWorkspace.d.ts.map +1 -1
- package/lib/types/client/ArkmeVoiceContent.d.ts +6 -0
- package/lib/types/client/ArkmeVoiceContent.d.ts.map +1 -1
- package/lib/types/client/api.d.ts +4 -1
- package/lib/types/client/api.d.ts.map +1 -1
- package/lib/types/client/attention-summary-store.d.ts +22 -0
- package/lib/types/client/attention-summary-store.d.ts.map +1 -0
- package/lib/types/client/bot-chat-directory-projection.d.ts.map +1 -1
- package/lib/types/client/chat-directory-store.d.ts +1 -0
- package/lib/types/client/chat-directory-store.d.ts.map +1 -1
- package/lib/types/client/composer-draft-store.d.ts.map +1 -1
- package/lib/types/client/desktop-notification-runtime.d.ts +34 -1
- package/lib/types/client/desktop-notification-runtime.d.ts.map +1 -1
- package/lib/types/client/file-send-tasks.d.ts +3 -0
- package/lib/types/client/file-send-tasks.d.ts.map +1 -1
- package/lib/types/client/index.d.ts.map +1 -1
- package/lib/types/client/navigation-cache.d.ts.map +1 -1
- package/lib/types/client/notification-activation-store.d.ts +12 -2
- package/lib/types/client/notification-activation-store.d.ts.map +1 -1
- package/lib/types/client/read-intent-visibility.d.ts +7 -0
- package/lib/types/client/read-intent-visibility.d.ts.map +1 -0
- package/lib/types/client/realtime-client-events.d.ts +1 -0
- package/lib/types/client/realtime-client-events.d.ts.map +1 -1
- package/lib/types/client/record-capture-location.d.ts +70 -5
- package/lib/types/client/record-capture-location.d.ts.map +1 -1
- package/lib/types/client/record-input-capture.d.ts +266 -0
- package/lib/types/client/record-input-capture.d.ts.map +1 -0
- package/lib/types/client/recordings/ArkmeRecordingImportDialog.d.ts +15 -0
- package/lib/types/client/recordings/ArkmeRecordingImportDialog.d.ts.map +1 -0
- package/lib/types/client/recordings/ArkmeRecordingSpeakerEditor.d.ts +27 -0
- package/lib/types/client/recordings/ArkmeRecordingSpeakerEditor.d.ts.map +1 -0
- package/lib/types/client/recordings/ArkmeRecordingTimeline.d.ts +58 -0
- package/lib/types/client/recordings/ArkmeRecordingTimeline.d.ts.map +1 -0
- package/lib/types/client/recordings/recording-empty-illustration.d.ts +2 -0
- package/lib/types/client/recordings/recording-empty-illustration.d.ts.map +1 -0
- package/lib/types/client/recordings/recording-import-selection.d.ts +19 -0
- package/lib/types/client/recordings/recording-import-selection.d.ts.map +1 -0
- package/lib/types/client/recordings/recording-speaker-presentation.d.ts +2 -0
- package/lib/types/client/recordings/recording-speaker-presentation.d.ts.map +1 -0
- package/lib/types/client/recordings/useRecordingPlayback.d.ts +14 -0
- package/lib/types/client/recordings/useRecordingPlayback.d.ts.map +1 -0
- package/lib/types/client/source-identity.d.ts +2 -1
- package/lib/types/client/source-identity.d.ts.map +1 -1
- package/lib/types/client/ui-controller.d.ts +5 -0
- package/lib/types/client/ui-controller.d.ts.map +1 -1
- package/lib/types/file-transfer-contract.d.ts +14 -2
- package/lib/types/file-transfer-contract.d.ts.map +1 -1
- package/lib/types/file-transfer-owner.d.ts +1 -1
- package/lib/types/file-transfer-owner.d.ts.map +1 -1
- package/lib/types/host-api.d.ts.map +1 -1
- package/lib/types/index.d.ts +1 -0
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/local-database.d.ts +9 -2
- package/lib/types/local-database.d.ts.map +1 -1
- package/lib/types/message-action-contract.d.ts +117 -0
- package/lib/types/message-action-contract.d.ts.map +1 -0
- package/lib/types/record-background-sound.d.ts +7 -0
- package/lib/types/record-background-sound.d.ts.map +1 -0
- package/lib/types/recording-import-contract.d.ts +71 -0
- package/lib/types/recording-import-contract.d.ts.map +1 -0
- package/lib/types/recording-import-coordinator.d.ts +34 -0
- package/lib/types/recording-import-coordinator.d.ts.map +1 -0
- package/lib/types/recording-import-probe.d.ts +19 -0
- package/lib/types/recording-import-probe.d.ts.map +1 -0
- package/lib/types/recording-import-ref.d.ts +7 -0
- package/lib/types/recording-import-ref.d.ts.map +1 -0
- package/lib/types/recording-import-routes.d.ts +23 -0
- package/lib/types/recording-import-routes.d.ts.map +1 -0
- package/lib/types/recording-import-shared.d.ts +19 -0
- package/lib/types/recording-import-shared.d.ts.map +1 -0
- package/lib/types/recording-presentation.d.ts +14 -1
- package/lib/types/recording-presentation.d.ts.map +1 -1
- package/lib/types/recording-time.d.ts +5 -0
- package/lib/types/recording-time.d.ts.map +1 -0
- package/lib/types/rich-media-routes.d.ts.map +1 -1
- package/lib/types/sdk/index.d.ts +9 -3
- package/lib/types/sdk/index.d.ts.map +1 -1
- package/lib/types/services/arko-service.d.ts +3 -1
- package/lib/types/services/arko-service.d.ts.map +1 -1
- package/lib/types/services/background-sound-membership-service.d.ts +17 -0
- package/lib/types/services/background-sound-membership-service.d.ts.map +1 -0
- package/lib/types/services/background-sound-preference-service.d.ts +14 -0
- package/lib/types/services/background-sound-preference-service.d.ts.map +1 -0
- package/lib/types/services/bot-conversation-service.d.ts +2 -1
- package/lib/types/services/bot-conversation-service.d.ts.map +1 -1
- package/lib/types/services/chat-realtime-service.d.ts +28 -1
- package/lib/types/services/chat-realtime-service.d.ts.map +1 -1
- package/lib/types/services/chat-service.d.ts +20 -2
- package/lib/types/services/chat-service.d.ts.map +1 -1
- package/lib/types/services/contact-directory-service.d.ts +6 -0
- package/lib/types/services/contact-directory-service.d.ts.map +1 -1
- package/lib/types/services/desktop-attention-bridge.d.ts +61 -0
- package/lib/types/services/desktop-attention-bridge.d.ts.map +1 -0
- package/lib/types/services/file-transfers.d.ts +13 -1
- package/lib/types/services/file-transfers.d.ts.map +1 -1
- package/lib/types/services/group-service.d.ts +7 -6
- package/lib/types/services/group-service.d.ts.map +1 -1
- package/lib/types/services/media-service.d.ts +17 -0
- package/lib/types/services/media-service.d.ts.map +1 -1
- package/lib/types/services/message-action-infrastructure.d.ts +29 -0
- package/lib/types/services/message-action-infrastructure.d.ts.map +1 -0
- package/lib/types/services/message-action-service.d.ts +53 -0
- package/lib/types/services/message-action-service.d.ts.map +1 -0
- package/lib/types/services/record-service.d.ts +2 -0
- package/lib/types/services/record-service.d.ts.map +1 -1
- package/lib/types/services/recording-import-gateway.d.ts +33 -0
- package/lib/types/services/recording-import-gateway.d.ts.map +1 -0
- package/lib/types/services/recording-service.d.ts +83 -4
- package/lib/types/services/recording-service.d.ts.map +1 -1
- package/lib/types/services/service.d.ts +15 -0
- package/lib/types/services/service.d.ts.map +1 -1
- package/lib/types/services/source-service.d.ts +8 -1
- package/lib/types/services/source-service.d.ts.map +1 -1
- package/lib/types/state-store.d.ts +8 -0
- package/lib/types/state-store.d.ts.map +1 -1
- package/lib/types/tools/business/account/background-sound.d.ts +4 -0
- package/lib/types/tools/business/account/background-sound.d.ts.map +1 -0
- package/lib/types/tools/business/account/index.d.ts.map +1 -1
- package/lib/types/tools/business/media/files.d.ts.map +1 -1
- package/lib/types/tools/ports/groups.d.ts +2 -2
- package/lib/types/tools/ports/groups.d.ts.map +1 -1
- package/lib/types/tools/ports/profile.d.ts +3 -1
- package/lib/types/tools/ports/profile.d.ts.map +1 -1
- package/lib/types/tools/prompts/business.d.ts.map +1 -1
- package/lib/types/tools/registry/registrar.d.ts.map +1 -1
- package/lib/types/tools/shared/conversational-confirmation.d.ts +15 -2
- package/lib/types/tools/shared/conversational-confirmation.d.ts.map +1 -1
- package/lib/types/types.d.ts +124 -6
- package/lib/types/types.d.ts.map +1 -1
- package/package.json +7 -6
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recording-empty-illustration.d.ts","sourceRoot":"","sources":["../../../../src/client/recordings/recording-empty-illustration.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,0BAA0B,mlYAAmlY,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export type ArkmeRecordingSelectionFormat = 'WAV' | 'MP3' | 'M4A';
|
|
2
|
+
export type ArkmeRecordingSelection = {
|
|
3
|
+
ok: true;
|
|
4
|
+
format: ArkmeRecordingSelectionFormat;
|
|
5
|
+
durationMillis?: number;
|
|
6
|
+
} | {
|
|
7
|
+
ok: false;
|
|
8
|
+
message: string;
|
|
9
|
+
};
|
|
10
|
+
export interface ArkmeRecordingSelectionProbe {
|
|
11
|
+
format: ArkmeRecordingSelectionFormat;
|
|
12
|
+
durationMillis: number;
|
|
13
|
+
}
|
|
14
|
+
export interface ArkmeRecordingSelectionDependencies {
|
|
15
|
+
probe(file: File): Promise<ArkmeRecordingSelectionProbe>;
|
|
16
|
+
}
|
|
17
|
+
export declare function validateArkmeRecordingSelection(file: File): ArkmeRecordingSelection;
|
|
18
|
+
export declare function inspectArkmeRecordingSelection(file: File, dependencies?: ArkmeRecordingSelectionDependencies): Promise<ArkmeRecordingSelection>;
|
|
19
|
+
//# sourceMappingURL=recording-import-selection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recording-import-selection.d.ts","sourceRoot":"","sources":["../../../../src/client/recordings/recording-import-selection.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,6BAA6B,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAA;AAEjE,MAAM,MAAM,uBAAuB,GAC/B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,6BAA6B,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5E;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAElC,MAAM,WAAW,4BAA4B;IAC3C,MAAM,EAAE,6BAA6B,CAAA;IACrC,cAAc,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,mCAAmC;IAClD,KAAK,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAA;CACzD;AAOD,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,IAAI,GAAG,uBAAuB,CAMnF;AAyBD,wBAAsB,8BAA8B,CAClD,IAAI,EAAE,IAAI,EACV,YAAY,GAAE,mCAAmE,GAChF,OAAO,CAAC,uBAAuB,CAAC,CAgBlC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recording-speaker-presentation.d.ts","sourceRoot":"","sources":["../../../../src/client/recordings/recording-speaker-presentation.ts"],"names":[],"mappings":"AAMA,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQ3D"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ArkmeRecordingWorkbenchItem } from '../../types.js';
|
|
2
|
+
export interface RecordingPlaybackController {
|
|
3
|
+
activeItemRef: string;
|
|
4
|
+
positionAtMillis: number | undefined;
|
|
5
|
+
isPlaying: boolean;
|
|
6
|
+
error: string;
|
|
7
|
+
playItem(item: ArkmeRecordingWorkbenchItem, seekAtMillis?: number): Promise<void>;
|
|
8
|
+
playAt(items: readonly ArkmeRecordingWorkbenchItem[], selectedAtMillis: number): Promise<void>;
|
|
9
|
+
pause(): void;
|
|
10
|
+
toggle(fallbackItem?: ArkmeRecordingWorkbenchItem): Promise<void>;
|
|
11
|
+
stop(): void;
|
|
12
|
+
}
|
|
13
|
+
export declare function useRecordingPlayback(mediaPath: string): RecordingPlaybackController;
|
|
14
|
+
//# sourceMappingURL=useRecordingPlayback.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useRecordingPlayback.d.ts","sourceRoot":"","sources":["../../../../src/client/recordings/useRecordingPlayback.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA0B,2BAA2B,EAAE,MAAM,gBAAgB,CAAA;AAGzF,MAAM,WAAW,2BAA2B;IAC1C,aAAa,EAAE,MAAM,CAAA;IACrB,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAA;IACpC,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,IAAI,EAAE,2BAA2B,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACjF,MAAM,CAAC,KAAK,EAAE,SAAS,2BAA2B,EAAE,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9F,KAAK,IAAI,IAAI,CAAA;IACb,MAAM,CAAC,YAAY,CAAC,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACjE,IAAI,IAAI,IAAI,CAAA;CACb;AAED,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,2BAA2B,CA6JnF"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { ArkmeSourceItem } from '../types.js';
|
|
2
|
+
export type ArkmeSourceIdentityFacts = Pick<ArkmeSourceItem, 'kind' | 'sourceRef' | 'sourceKey' | 'topicHierarchyKey'>;
|
|
2
3
|
export declare function arkmeChatSourceIdentityKey(source: Pick<ArkmeSourceItem, 'sourceRef' | 'sourceKey'>): string;
|
|
3
|
-
export declare function arkmeSourceIdentityKey(source:
|
|
4
|
+
export declare function arkmeSourceIdentityKey(source: ArkmeSourceIdentityFacts): string;
|
|
4
5
|
export declare function arkmePrependSourceByIdentity(source: ArkmeSourceItem, sources: readonly ArkmeSourceItem[]): ArkmeSourceItem[];
|
|
5
6
|
//# sourceMappingURL=source-identity.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source-identity.d.ts","sourceRoot":"","sources":["../../../src/client/source-identity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAElD,
|
|
1
|
+
{"version":3,"file":"source-identity.d.ts","sourceRoot":"","sources":["../../../src/client/source-identity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAElD,MAAM,MAAM,wBAAwB,GAAG,IAAI,CAAC,eAAe,EAAE,MAAM,GAAG,WAAW,GAAG,WAAW,GAAG,mBAAmB,CAAC,CAAA;AAEtH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,WAAW,GAAG,WAAW,CAAC,GACvD,MAAM,CAGR;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,wBAAwB,GAC/B,MAAM,CASR;AAED,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,SAAS,eAAe,EAAE,GAClC,eAAe,EAAE,CAGnB"}
|
|
@@ -8,6 +8,8 @@ export interface ArkmeUiState {
|
|
|
8
8
|
productMode?: 'conversations' | 'contacts';
|
|
9
9
|
selectedSource?: ArkmeSourceItem;
|
|
10
10
|
selectedBot?: ArkmeBotSummary;
|
|
11
|
+
/** Forces a real conversation-surface commit for every native notification click, including the current source. */
|
|
12
|
+
notificationActivationRevision?: number;
|
|
11
13
|
conversationTarget?: {
|
|
12
14
|
revision: number;
|
|
13
15
|
itemUid: string;
|
|
@@ -49,6 +51,7 @@ export declare class ArkmeUiController {
|
|
|
49
51
|
private readonly listeners;
|
|
50
52
|
private settingsOpener;
|
|
51
53
|
private conversationTargetRevision;
|
|
54
|
+
private notificationActivationRevision;
|
|
52
55
|
readonly getSnapshot: () => ArkmeUiState;
|
|
53
56
|
/** Navigation and presentation state, stable across projection-only invalidations. */
|
|
54
57
|
readonly getViewSnapshot: () => ArkmeUiViewState;
|
|
@@ -84,6 +87,8 @@ export declare class ArkmeUiController {
|
|
|
84
87
|
openExtensionShare(shareRef: string, action?: ArkmeExtensionShareAction): void;
|
|
85
88
|
dismissExtensionShare(): void;
|
|
86
89
|
selectSource(source: ArkmeSourceItem): void;
|
|
90
|
+
updateSelectedSourceProjection(source: ArkmeSourceItem): boolean;
|
|
91
|
+
activateNotificationSource(source: ArkmeSourceItem): void;
|
|
87
92
|
openBotConversation(bot: ArkmeBotSummary): void;
|
|
88
93
|
showConversationTarget(source: ArkmeSourceItem, itemUid: string, sendAtMillis: number): void;
|
|
89
94
|
consumeConversationTarget(revision: number): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui-controller.d.ts","sourceRoot":"","sources":["../../../src/client/ui-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"ui-controller.d.ts","sourceRoot":"","sources":["../../../src/client/ui-controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ArkmeRichSendInput, ArkmeSourceSendResult, ArkmeUploadedAsset } from './types.js';
|
|
1
|
+
import type { ArkmeRecordLocationCapture, ArkmeRichSendInput, ArkmeSourceSendResult, ArkmeUploadedAsset } from './types.js';
|
|
2
2
|
export declare const ARKME_TOOL_FILE_MAX_BYTES: number;
|
|
3
3
|
export interface ArkmeFilePolicy {
|
|
4
4
|
version: 1;
|
|
@@ -23,7 +23,17 @@ export interface ArkmeFileSendInput {
|
|
|
23
23
|
recordUid: string;
|
|
24
24
|
relationUid: string;
|
|
25
25
|
fileRefs: string[];
|
|
26
|
-
|
|
26
|
+
/** Captured current-account fence. It is validated before acceptance and is never persisted in a task. */
|
|
27
|
+
expectedUserId?: number;
|
|
28
|
+
/** Every background ref is also present once in `fileRefs`; the role is never inferred from MIME. */
|
|
29
|
+
backgroundSound?: ArkmeFileBackgroundSoundInput;
|
|
30
|
+
/** Send-scoped browser capture persisted until the owner confirms the record and applies its location post-effect. */
|
|
31
|
+
location?: ArkmeRecordLocationCapture;
|
|
32
|
+
content: Omit<ArkmeRichSendInput, 'assets' | 'backgroundSound'>;
|
|
33
|
+
}
|
|
34
|
+
export interface ArkmeFileBackgroundSoundInput {
|
|
35
|
+
fileRefs: string[];
|
|
36
|
+
amplitudes: number[];
|
|
27
37
|
}
|
|
28
38
|
export interface ArkmeFileSendTask extends ArkmeFileSendInput {
|
|
29
39
|
taskRef: string;
|
|
@@ -34,6 +44,8 @@ export interface ArkmeFileSendTask extends ArkmeFileSendInput {
|
|
|
34
44
|
asset?: ArkmeUploadedAsset;
|
|
35
45
|
}>;
|
|
36
46
|
result?: ArkmeSourceSendResult;
|
|
47
|
+
/** Sanitized owner error code. Definite rejection and unknown outcome remain distinct via state. */
|
|
48
|
+
errorCode?: string;
|
|
37
49
|
error?: string;
|
|
38
50
|
}
|
|
39
51
|
export interface ArkmeFileReception {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-transfer-contract.d.ts","sourceRoot":"","sources":["../../src/file-transfer-contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"file-transfer-contract.d.ts","sourceRoot":"","sources":["../../src/file-transfer-contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAC3H,eAAO,MAAM,yBAAyB,QAAY,CAAA;AAElD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,CAAC,CAAA;IACV,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,cAAc,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,WAAW,GAAG,WAAW,GAAG,YAAY,GAAG,OAAO,CAAA;IACzD,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,0GAA0G;IAC1G,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,qGAAqG;IACrG,eAAe,CAAC,EAAE,6BAA6B,CAAA;IAC/C,sHAAsH;IACtH,QAAQ,CAAC,EAAE,0BAA0B,CAAA;IACrC,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAE,QAAQ,GAAG,iBAAiB,CAAC,CAAA;CAChE;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,UAAU,EAAE,MAAM,EAAE,CAAA;CACrB;AAED,MAAM,WAAW,iBAAkB,SAAQ,kBAAkB;IAC3D,OAAO,EAAE,MAAM,CAAA;IACf,eAAe,EAAE,MAAM,CAAA;IACvB,KAAK,EAAE,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,WAAW,CAAA;IAC3E,KAAK,EAAE,KAAK,CAAC,cAAc,GAAG;QAAE,QAAQ,EAAE,iBAAiB,CAAC;QAAC,KAAK,CAAC,EAAE,kBAAkB,CAAA;KAAE,CAAC,CAAA;IAC1F,MAAM,CAAC,EAAE,qBAAqB,CAAA;IAC9B,oGAAoG;IACpG,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,QAAQ,CAAA;IACnD,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,cAAc,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,IAAI,CAAA;IACZ,IAAI,EAAE,cAAc,CAAA;CACrB;AAED,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,CAG9E;AAED,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAA;AACxD,KAAK,sBAAsB,GAAG,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,CAAA;AAsC9D,iFAAiF;AACjF,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,SAAK,GAAG,MAAM,CAKnF;AAED,0FAA0F;AAC1F,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,SAAK,GAAG,cAAc,GAAG,SAAS,CAgB1F;AAED,qFAAqF;AACrF,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,SAAK,GAAG,sBAAsB,GAAG,SAAS,CAc1G;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,SAAK,GAAG,OAAO,CAMhF;AAED,6FAA6F;AAC7F,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,SAAK,GAAG,cAAc,CAAC,UAAU,CAAC,CAI/F"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { FileTransfers } from './services/file-transfers.js';
|
|
2
2
|
import type { ChatService } from './services/chat-service.js';
|
|
3
3
|
import type { MediaService } from './services/media-service.js';
|
|
4
|
-
import type
|
|
4
|
+
import { type ServiceRuntime } from './services/service.js';
|
|
5
5
|
import type { SourceService } from './services/source-service.js';
|
|
6
6
|
export type { ArkmeFileSendInput, ArkmeLocalFile } from './file-transfer-contract.js';
|
|
7
7
|
export type { FileTransfers } from './services/file-transfers.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-transfer-owner.d.ts","sourceRoot":"","sources":["../../src/file-transfer-owner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"file-transfer-owner.d.ts","sourceRoot":"","sources":["../../src/file-transfer-owner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAgC,MAAM,8BAA8B,CAAA;AAC1F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC/D,OAAO,EAAoB,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC7E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AACjE,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AACrF,YAAY,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAEjE,wBAAgB,wBAAwB,CAAC,OAAO,EAAE;IAChD,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,cAAc,EAAE,MAAM,GAAG,SAAS,CAAA;IAClC,OAAO,EAAE,cAAc,CAAA;IACvB,MAAM,EAAE,aAAa,CAAA;IACrB,KAAK,EAAE,YAAY,CAAA;IACnB,IAAI,EAAE,WAAW,CAAA;IACjB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAChE,GAAG,aAAa,GAAG,SAAS,CA0D5B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host-api.d.ts","sourceRoot":"","sources":["../../src/host-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAChE,OAAO,EAAoB,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEnE,OAAO,EAA0B,wBAAwB,EAAE,MAAM,oBAAoB,CAAA;AAErF,OAAO,KAAK,EAMV,kBAAkB,EAGnB,MAAM,YAAY,CAAA;AAGnB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AACpE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAA;AAC/E,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,iCAAiC,CAAA;AACnF,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,oCAAoC,CAAA;AAMzF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"host-api.d.ts","sourceRoot":"","sources":["../../src/host-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAChE,OAAO,EAAoB,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEnE,OAAO,EAA0B,wBAAwB,EAAE,MAAM,oBAAoB,CAAA;AAErF,OAAO,KAAK,EAMV,kBAAkB,EAGnB,MAAM,YAAY,CAAA;AAGnB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AACpE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAA;AAC/E,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,iCAAiC,CAAA;AACnF,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,oCAAoC,CAAA;AAMzF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AA6rBhE,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,CAAA;IACpB,gBAAgB,EAAE,OAAO,CAAA;IACzB,aAAa,CAAC,EAAE,IAAI,CAClB,wBAAwB,EACxB,QAAQ,GAAG,OAAO,GAAG,aAAa,GAAG,SAAS,GAAG,eAAe,CACjE,CAAA;IACD,gBAAgB,CAAC,EAAE,MAAM,qBAAqB,GAAG,SAAS,CAAA;IAC1D,qBAAqB,CAAC,EAAE,MAAM,0BAA0B,GAAG,SAAS,CAAA;IACpE,uBAAuB,CAAC,EAAE,MAAM,4BAA4B,GAAG,SAAS,CAAA;IACxE,UAAU,CAAC,EAAE,MAAM,mBAAmB,GAAG,SAAS,CAAA;IAClD,iBAAiB,CAAC,EAAE,IAAI,CAAC,+BAA+B,EAAE,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAC,CAAA;CACxG;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,mBAAmB,IACtE,KAAK,eAAe,EAAE,KAAK,cAAc,KAAG,OAAO,CAAC,IAAI,CAAC,CAmExE;AAED,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,YAAY,EACrB,SAAS,EAAE,kBAAkB,CAAC,WAAW,CAAC,EAC1C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,aAAa,CAAC,EAAE,IAAI,CAClB,wBAAwB,EACxB,QAAQ,GAAG,OAAO,GAAG,aAAa,GAAG,SAAS,GAAG,eAAe,CACjE,EACD,gBAAgB,CAAC,EAAE,qBAAqB,EACxC,qBAAqB,CAAC,EAAE,0BAA0B,EAClD,uBAAuB,CAAC,EAAE,4BAA4B,EACtD,aAAa,CAAC,EAAE,WAAW,EAC3B,UAAU,CAAC,EAAE,mBAAmB,EAChC,iBAAiB,CAAC,EAAE,IAAI,CAAC,+BAA+B,EAAE,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAC,GACtG,OAAO,CAAC,OAAO,CAAC,CAmhClB"}
|
package/lib/types/index.d.ts
CHANGED
|
@@ -32,6 +32,7 @@ export interface Config {
|
|
|
32
32
|
relatedRecordingsEnabled: boolean;
|
|
33
33
|
geetestCaptchaId: string;
|
|
34
34
|
interwovenMomentsEnabled: boolean;
|
|
35
|
+
recordingWorkbenchEnabled: boolean;
|
|
35
36
|
chatMemberJoinEventsEnabled: boolean;
|
|
36
37
|
richMediaRenderEnabled: boolean;
|
|
37
38
|
richMediaSendEnabled: boolean;
|
package/lib/types/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD,OAAO,MAAM,MAAM,0BAA0B,CAAA;AAE7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import type { ArkmeStateStore } from './state-store.js';
|
|
2
2
|
import type { ArkmeCachedSnapshot, ArkmeCachedQueryResult, ArkmeLongArticleDraft, ArkmePendingWrite, ArkmeRecordCursor, ArkmeSelfRecordList, ArkmeSelfSummary, ArkmeUserProfile, ArkmeUserProfileSnapshot } from './types.js';
|
|
3
3
|
import type { ArkmeExtensionReviewOperation } from './extensions/types.js';
|
|
4
|
+
import type { RecordingImportJob } from './recording-import-contract.js';
|
|
4
5
|
export declare class ArkmeLocalDatabase {
|
|
5
|
-
private readonly
|
|
6
|
+
private readonly operationalState;
|
|
6
7
|
private readonly path;
|
|
7
8
|
private readonly database;
|
|
8
9
|
private readonly migrations;
|
|
9
10
|
private readonly securedWindowsFiles;
|
|
10
|
-
constructor(directory: string,
|
|
11
|
+
constructor(directory: string, operationalState: ArkmeStateStore);
|
|
11
12
|
uniqueCode(): Promise<string>;
|
|
12
13
|
cachedSnapshot(userId: number): Promise<ArkmeCachedSnapshot>;
|
|
13
14
|
queryCached(userId: number, options: {
|
|
@@ -29,6 +30,12 @@ export declare class ArkmeLocalDatabase {
|
|
|
29
30
|
getLongArticleDraft(userId: number, sourceRef: string, itemUid?: string): Promise<ArkmeLongArticleDraft | undefined>;
|
|
30
31
|
putLongArticleDraft(userId: number, draft: ArkmeLongArticleDraft): Promise<void>;
|
|
31
32
|
removeLongArticleDraft(userId: number, sourceRef: string, itemUid?: string): Promise<void>;
|
|
33
|
+
listRecordingImportJobs(userId: number): Promise<RecordingImportJob[]>;
|
|
34
|
+
listAllRecordingImportJobs(): Promise<RecordingImportJob[]>;
|
|
35
|
+
getRecordingImportJob(userId: number, jobId: string): Promise<RecordingImportJob | undefined>;
|
|
36
|
+
putRecordingImportJob(userId: number, job: RecordingImportJob): Promise<void>;
|
|
37
|
+
admitRecordingImportJob(userId: number, job: RecordingImportJob, unresolvedLimit: number): ReturnType<ArkmeStateStore['admitRecordingImportJob']>;
|
|
38
|
+
replaceRecordingImportJob(userId: number, job: RecordingImportJob, expectedRevision: number): Promise<boolean>;
|
|
32
39
|
markAttempt(userId: number, recordUid: string, error: string): Promise<void>;
|
|
33
40
|
markSynced(userId: number, recordUid: string, status: number): Promise<void>;
|
|
34
41
|
close(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-database.d.ts","sourceRoot":"","sources":["../../src/local-database.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,KAAK,EACV,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EAEjB,iBAAiB,EAEjB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"local-database.d.ts","sourceRoot":"","sources":["../../src/local-database.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import type { ArkmeSessionCredentials } from './keychain-store.js';
|
|
2
|
+
import type { ArkmeMessageCopyLinkResult, ArkmeSourceSendResult } from './types.js';
|
|
3
|
+
export type MessageActionRole = 'user' | 'assistant';
|
|
4
|
+
interface MessageActionReferenceBase {
|
|
5
|
+
version: 2;
|
|
6
|
+
userId: number;
|
|
7
|
+
messageIdentity: string;
|
|
8
|
+
role: MessageActionRole;
|
|
9
|
+
textContent: string;
|
|
10
|
+
createdAtMillis: number;
|
|
11
|
+
sortOrdinal: number;
|
|
12
|
+
senderUserId: number;
|
|
13
|
+
senderName: string;
|
|
14
|
+
}
|
|
15
|
+
export interface AgentMessageActionReference extends MessageActionReferenceBase {
|
|
16
|
+
ownerKind: 'agent';
|
|
17
|
+
agentSessionId: number;
|
|
18
|
+
agentMessageId: number;
|
|
19
|
+
entryRecordUid?: string;
|
|
20
|
+
}
|
|
21
|
+
export interface ChatBotMessageActionReference extends MessageActionReferenceBase {
|
|
22
|
+
ownerKind: 'bot_chat';
|
|
23
|
+
chatSessionUid: string;
|
|
24
|
+
relationUid: string;
|
|
25
|
+
recordUid: string;
|
|
26
|
+
sequence: number;
|
|
27
|
+
}
|
|
28
|
+
export interface SubjectBotMessageActionReference extends MessageActionReferenceBase {
|
|
29
|
+
ownerKind: 'bot_subject';
|
|
30
|
+
subjectUid: string;
|
|
31
|
+
recordUid: string;
|
|
32
|
+
}
|
|
33
|
+
export type MessageActionReference = AgentMessageActionReference | ChatBotMessageActionReference | SubjectBotMessageActionReference;
|
|
34
|
+
export interface AgentMessageActionConversation {
|
|
35
|
+
version: 2;
|
|
36
|
+
userId: number;
|
|
37
|
+
sessionId: number;
|
|
38
|
+
}
|
|
39
|
+
export type MessageActionTarget = {
|
|
40
|
+
kind: 'private_chat';
|
|
41
|
+
ownerRef: string;
|
|
42
|
+
} | {
|
|
43
|
+
kind: 'group_chat';
|
|
44
|
+
ownerRef: string;
|
|
45
|
+
} | {
|
|
46
|
+
kind: 'send_to_self';
|
|
47
|
+
ownerRef: string;
|
|
48
|
+
} | {
|
|
49
|
+
kind: 'default_category';
|
|
50
|
+
ownerRef: string;
|
|
51
|
+
} | {
|
|
52
|
+
kind: 'topic';
|
|
53
|
+
ownerRef: string;
|
|
54
|
+
};
|
|
55
|
+
export interface MessageActionBotRegistryPort {
|
|
56
|
+
openBotRef(botRef: string, expectedUserId: number): Promise<{
|
|
57
|
+
target: {
|
|
58
|
+
kind: 'chat';
|
|
59
|
+
chatSessionUid: string;
|
|
60
|
+
} | {
|
|
61
|
+
kind: 'subject';
|
|
62
|
+
subjectUid: string;
|
|
63
|
+
} | {
|
|
64
|
+
kind: 'unavailable';
|
|
65
|
+
reason: string;
|
|
66
|
+
};
|
|
67
|
+
}>;
|
|
68
|
+
}
|
|
69
|
+
export interface MessageActionCapabilityCodec {
|
|
70
|
+
seal(prefix: string, payload: unknown): Promise<string>;
|
|
71
|
+
open(prefix: string, value: string): Promise<Record<string, unknown>>;
|
|
72
|
+
}
|
|
73
|
+
export interface MessageActionGateway {
|
|
74
|
+
requireSession(): Promise<ArkmeSessionCredentials>;
|
|
75
|
+
maxTextLength(): number;
|
|
76
|
+
openTarget(targetSourceRef: string, userId: number): Promise<MessageActionTarget>;
|
|
77
|
+
createCopyLink(references: readonly MessageActionReference[], session: ArkmeSessionCredentials, signal?: AbortSignal): Promise<ArkmeMessageCopyLinkResult>;
|
|
78
|
+
forwardToChat(input: {
|
|
79
|
+
targetSourceRef: string;
|
|
80
|
+
target: Extract<MessageActionTarget, {
|
|
81
|
+
kind: 'private_chat';
|
|
82
|
+
}> | Extract<MessageActionTarget, {
|
|
83
|
+
kind: 'group_chat';
|
|
84
|
+
}>;
|
|
85
|
+
references: readonly MessageActionReference[];
|
|
86
|
+
requestId: string;
|
|
87
|
+
sendAtMillis: number;
|
|
88
|
+
commentText: string;
|
|
89
|
+
session: ArkmeSessionCredentials;
|
|
90
|
+
signal?: AbortSignal;
|
|
91
|
+
}): Promise<ArkmeSourceSendResult>;
|
|
92
|
+
forwardToRecord(input: {
|
|
93
|
+
targetSourceRef: string;
|
|
94
|
+
target: Exclude<MessageActionTarget, {
|
|
95
|
+
kind: 'private_chat' | 'group_chat';
|
|
96
|
+
}>;
|
|
97
|
+
references: readonly MessageActionReference[];
|
|
98
|
+
requestId: string;
|
|
99
|
+
recordUid: string;
|
|
100
|
+
sendAtMillis: number;
|
|
101
|
+
session: ArkmeSessionCredentials;
|
|
102
|
+
signal?: AbortSignal;
|
|
103
|
+
}): Promise<ArkmeSourceSendResult>;
|
|
104
|
+
createRecordTargetComment(input: {
|
|
105
|
+
target: Exclude<MessageActionTarget, {
|
|
106
|
+
kind: 'private_chat' | 'group_chat';
|
|
107
|
+
}>;
|
|
108
|
+
recordUid: string;
|
|
109
|
+
textContent: string;
|
|
110
|
+
sendAtMillis: number;
|
|
111
|
+
session: ArkmeSessionCredentials;
|
|
112
|
+
signal?: AbortSignal;
|
|
113
|
+
}): Promise<void>;
|
|
114
|
+
}
|
|
115
|
+
export declare function messageActionCanCopyLink(reference: MessageActionReference): boolean;
|
|
116
|
+
export {};
|
|
117
|
+
//# sourceMappingURL=message-action-contract.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-action-contract.d.ts","sourceRoot":"","sources":["../../src/message-action-contract.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ArkmeFileBackgroundSoundInput, ArkmeLocalFile } from './file-transfer-contract.js';
|
|
2
|
+
import type { ArkmeRichBackgroundSoundInput } from './types.js';
|
|
3
|
+
export declare function arkmeBackgroundSoundAmplitudes(values: readonly number[]): number[];
|
|
4
|
+
export declare function arkmeFileBackgroundSound(value: ArkmeFileBackgroundSoundInput | undefined, allFileRefs: readonly string[]): ArkmeFileBackgroundSoundInput | undefined;
|
|
5
|
+
export declare function assertArkmeBackgroundSoundLocalFiles(backgroundSound: ArkmeFileBackgroundSoundInput | undefined, files: readonly ArkmeLocalFile[]): void;
|
|
6
|
+
export declare function arkmeRichBackgroundSound(value: ArkmeRichBackgroundSoundInput | undefined): ArkmeRichBackgroundSoundInput | undefined;
|
|
7
|
+
//# sourceMappingURL=record-background-sound.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"record-background-sound.d.ts","sourceRoot":"","sources":["../../src/record-background-sound.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAChG,OAAO,KAAK,EAAE,6BAA6B,EAAsB,MAAM,YAAY,CAAA;AAenF,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAMlF;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,6BAA6B,GAAG,SAAS,EAChD,WAAW,EAAE,SAAS,MAAM,EAAE,GAC7B,6BAA6B,GAAG,SAAS,CAU3C;AAED,wBAAgB,oCAAoC,CAClD,eAAe,EAAE,6BAA6B,GAAG,SAAS,EAC1D,KAAK,EAAE,SAAS,cAAc,EAAE,GAC/B,IAAI,CASN;AAmBD,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,6BAA6B,GAAG,SAAS,GAC/C,6BAA6B,GAAG,SAAS,CAS3C"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { MAX_RECORDING_IMPORT_BYTES, MAX_RECORDING_IMPORT_DURATION_MILLIS, type PublicRecordingImportJob, type RecordingImportPhase } from './recording-import-shared.js';
|
|
2
|
+
export { MAX_RECORDING_IMPORT_BYTES, MAX_RECORDING_IMPORT_DURATION_MILLIS };
|
|
3
|
+
export type { PublicRecordingImportJob, RecordingImportPhase };
|
|
4
|
+
export type RecordingImportFileKind = 'wav' | 'mp3' | 'm4a';
|
|
5
|
+
export interface RecordingImportJob {
|
|
6
|
+
jobId: string;
|
|
7
|
+
userId: number;
|
|
8
|
+
revision: number;
|
|
9
|
+
phase: RecordingImportPhase;
|
|
10
|
+
fileName: string;
|
|
11
|
+
mimeType: string;
|
|
12
|
+
fileSize: number;
|
|
13
|
+
durationMillis: number;
|
|
14
|
+
sha256: string;
|
|
15
|
+
startAtMillis: number;
|
|
16
|
+
belongUserId: number;
|
|
17
|
+
sourceHandle: string;
|
|
18
|
+
uploadedBytes: number;
|
|
19
|
+
createdAtMillis: number;
|
|
20
|
+
updatedAtMillis: number;
|
|
21
|
+
sessionId?: string | undefined;
|
|
22
|
+
childId?: string | undefined;
|
|
23
|
+
childFinished?: boolean | undefined;
|
|
24
|
+
errorCode?: string | undefined;
|
|
25
|
+
errorMessage?: string | undefined;
|
|
26
|
+
retryable?: boolean | undefined;
|
|
27
|
+
failedFromPhase?: Exclude<RecordingImportPhase, 'failed' | 'cancelled' | 'accepted'> | undefined;
|
|
28
|
+
uploadCheckpoint?: Record<string, unknown> | undefined;
|
|
29
|
+
}
|
|
30
|
+
export type RecordingImportAdmission = {
|
|
31
|
+
kind: 'inserted';
|
|
32
|
+
job: RecordingImportJob;
|
|
33
|
+
} | {
|
|
34
|
+
kind: 'existing';
|
|
35
|
+
job: RecordingImportJob;
|
|
36
|
+
} | {
|
|
37
|
+
kind: 'duplicate-file-name';
|
|
38
|
+
} | {
|
|
39
|
+
kind: 'limit';
|
|
40
|
+
};
|
|
41
|
+
export interface RecordingImportSource {
|
|
42
|
+
inspect(sourceHandle: string, metadata: {
|
|
43
|
+
fileName: string;
|
|
44
|
+
mimeType: string;
|
|
45
|
+
fileSize: number;
|
|
46
|
+
}): Promise<{
|
|
47
|
+
kind: RecordingImportFileKind;
|
|
48
|
+
durationMillis: number;
|
|
49
|
+
}>;
|
|
50
|
+
discard(sourceHandle: string): Promise<void>;
|
|
51
|
+
}
|
|
52
|
+
export declare function sameRecordingImportIdentity(left: Pick<RecordingImportJob, 'userId' | 'fileName' | 'fileSize' | 'sha256' | 'startAtMillis' | 'belongUserId'>, right: Pick<RecordingImportJob, 'userId' | 'fileName' | 'fileSize' | 'sha256' | 'startAtMillis' | 'belongUserId'>): boolean;
|
|
53
|
+
export declare class RecordingImportContractError extends Error {
|
|
54
|
+
readonly code: string;
|
|
55
|
+
readonly retryable: boolean;
|
|
56
|
+
constructor(code: string, message: string, retryable?: boolean);
|
|
57
|
+
}
|
|
58
|
+
export declare function recordingImportFileKind(input: {
|
|
59
|
+
fileName: string;
|
|
60
|
+
mimeType: string;
|
|
61
|
+
fileSize: number;
|
|
62
|
+
durationMillis: number;
|
|
63
|
+
}): RecordingImportFileKind;
|
|
64
|
+
export declare function recordingImportCanonicalMimeType(kind: RecordingImportFileKind): string;
|
|
65
|
+
export declare function advanceRecordingImportJob(current: RecordingImportJob, input: {
|
|
66
|
+
expectedRevision: number;
|
|
67
|
+
phase: RecordingImportPhase;
|
|
68
|
+
nowMillis: number;
|
|
69
|
+
} & Partial<Pick<RecordingImportJob, 'uploadedBytes' | 'sessionId' | 'childId' | 'childFinished' | 'errorCode' | 'errorMessage' | 'retryable'>>): RecordingImportJob;
|
|
70
|
+
export declare function toPublicRecordingImportJob(job: RecordingImportJob, importRef: string): PublicRecordingImportJob;
|
|
71
|
+
//# sourceMappingURL=recording-import-contract.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recording-import-contract.d.ts","sourceRoot":"","sources":["../../src/recording-import-contract.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { type RecordingImportJob, type RecordingImportSource } from './recording-import-contract.js';
|
|
2
|
+
export interface RecordingImportStore {
|
|
3
|
+
getRecordingImportJob(userId: number, jobId: string): Promise<RecordingImportJob | undefined>;
|
|
4
|
+
replaceRecordingImportJob(userId: number, job: RecordingImportJob, expectedRevision: number): Promise<boolean>;
|
|
5
|
+
}
|
|
6
|
+
export interface RecordingImportGateway {
|
|
7
|
+
ensureSession(job: RecordingImportJob, signal?: AbortSignal): Promise<string>;
|
|
8
|
+
createChild(job: RecordingImportJob, signal?: AbortSignal): Promise<string>;
|
|
9
|
+
upload(job: RecordingImportJob, onProgress: (uploadedBytes: number, checkpoint?: Record<string, unknown>) => Promise<void>, signal?: AbortSignal): Promise<void>;
|
|
10
|
+
finishChild(job: RecordingImportJob, signal?: AbortSignal): Promise<void>;
|
|
11
|
+
finishSession(job: RecordingImportJob, signal?: AbortSignal): Promise<void>;
|
|
12
|
+
deleteSession(job: RecordingImportJob): Promise<void>;
|
|
13
|
+
}
|
|
14
|
+
export declare class RecordingImportCoordinator {
|
|
15
|
+
private readonly store;
|
|
16
|
+
private readonly gateway;
|
|
17
|
+
private readonly source;
|
|
18
|
+
private readonly activeUserId;
|
|
19
|
+
private readonly nowMillis;
|
|
20
|
+
constructor(store: RecordingImportStore, gateway: RecordingImportGateway, source: RecordingImportSource, activeUserId: () => Promise<number>, nowMillis?: () => number);
|
|
21
|
+
run(userId: number, jobId: string, signal?: AbortSignal): Promise<RecordingImportJob>;
|
|
22
|
+
retry(userId: number, jobId: string, expectedRevision: number): Promise<RecordingImportJob>;
|
|
23
|
+
resumeRetry(userId: number, jobId: string, expectedRevision: number): Promise<RecordingImportJob>;
|
|
24
|
+
cancel(userId: number, jobId: string, expectedRevision: number): Promise<RecordingImportJob>;
|
|
25
|
+
private prepareOwnerUpload;
|
|
26
|
+
private upload;
|
|
27
|
+
private finalize;
|
|
28
|
+
private throwIfAborted;
|
|
29
|
+
private assertActiveAccount;
|
|
30
|
+
private requiredJob;
|
|
31
|
+
private checkpoint;
|
|
32
|
+
private transition;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=recording-import-coordinator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recording-import-coordinator.d.ts","sourceRoot":"","sources":["../../src/recording-import-coordinator.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,kBAAkB,EAEvB,KAAK,qBAAqB,EAC3B,MAAM,gCAAgC,CAAA;AAEvC,MAAM,WAAW,oBAAoB;IACnC,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAAA;IAC7F,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;CAC/G;AAED,MAAM,WAAW,sBAAsB;IACrC,aAAa,CAAC,GAAG,EAAE,kBAAkB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAC7E,WAAW,CAAC,GAAG,EAAE,kBAAkB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAC3E,MAAM,CACJ,GAAG,EAAE,kBAAkB,EACvB,UAAU,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,EAC1F,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC,CAAA;IAChB,WAAW,CAAC,GAAG,EAAE,kBAAkB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACzE,aAAa,CAAC,GAAG,EAAE,kBAAkB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3E,aAAa,CAAC,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACtD;AAmBD,qBAAa,0BAA0B;IAEnC,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAJT,KAAK,EAAE,oBAAoB,EAC3B,OAAO,EAAE,sBAAsB,EAC/B,MAAM,EAAE,qBAAqB,EAC7B,YAAY,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,EACnC,SAAS,GAAE,MAAM,MAAiB;IAG/C,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA8BrF,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAK3F,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAgBjG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;YAmBpF,kBAAkB;YAiBlB,MAAM;YA0BN,QAAQ;IAYtB,OAAO,CAAC,cAAc;YAKR,mBAAmB;YAMnB,WAAW;YAMX,UAAU;YAWV,UAAU;CAgBzB"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type RecordingImportFileKind, type RecordingImportSource } from './recording-import-contract.js';
|
|
2
|
+
export interface RecordingImportProbe {
|
|
3
|
+
kind: RecordingImportFileKind;
|
|
4
|
+
durationMillis: number;
|
|
5
|
+
}
|
|
6
|
+
export declare function probeRecordingImportFile(filePath: string, metadata: {
|
|
7
|
+
fileName: string;
|
|
8
|
+
mimeType: string;
|
|
9
|
+
fileSize: number;
|
|
10
|
+
}): Promise<RecordingImportProbe>;
|
|
11
|
+
export declare class LocalRecordingImportSource implements RecordingImportSource {
|
|
12
|
+
inspect(sourceHandle: string, metadata: {
|
|
13
|
+
fileName: string;
|
|
14
|
+
mimeType: string;
|
|
15
|
+
fileSize: number;
|
|
16
|
+
}): Promise<RecordingImportProbe>;
|
|
17
|
+
discard(sourceHandle: string): Promise<void>;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=recording-import-probe.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recording-import-probe.d.ts","sourceRoot":"","sources":["../../src/recording-import-probe.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC3B,MAAM,gCAAgC,CAAA;AAEvC,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,uBAAuB,CAAA;IAC7B,cAAc,EAAE,MAAM,CAAA;CACvB;AAED,wBAAsB,wBAAwB,CAC5C,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACjE,OAAO,CAAC,oBAAoB,CAAC,CAyC/B;AAED,qBAAa,0BAA2B,YAAW,qBAAqB;IAChE,OAAO,CACX,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GACjE,OAAO,CAAC,oBAAoB,CAAC;IAI1B,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGnD"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export interface RecordingImportRefPayload {
|
|
2
|
+
jobId: string;
|
|
3
|
+
userId: number;
|
|
4
|
+
}
|
|
5
|
+
export declare function sealRecordingImportRef(payload: RecordingImportRefPayload, signingKey: string): string;
|
|
6
|
+
export declare function openRecordingImportRef(importRef: string, currentUserId: number, signingKey: string): RecordingImportRefPayload;
|
|
7
|
+
//# sourceMappingURL=recording-import-ref.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recording-import-ref.d.ts","sourceRoot":"","sources":["../../src/recording-import-ref.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf;AAMD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,yBAAyB,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAOrG;AAED,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,GACjB,yBAAyB,CAwB3B"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { IncomingMessage, ServerResponse } from 'node:http';
|
|
2
|
+
import { type PublicRecordingImportJob } from './recording-import-contract.js';
|
|
3
|
+
export interface ArkmeRecordingImportRouteOptions {
|
|
4
|
+
expectedPort: number;
|
|
5
|
+
allowNonLoopback: boolean;
|
|
6
|
+
temporaryDirectory: string;
|
|
7
|
+
}
|
|
8
|
+
export declare const RECORDING_IMPORT_TEMPORARY_FILE_TTL_MILLIS: number;
|
|
9
|
+
export declare function scavengeRecordingImportTemporaryFiles(directory: string, nowMillis?: number, ttlMillis?: number, protectedPaths?: ReadonlySet<string>): Promise<number>;
|
|
10
|
+
interface ArkmeRecordingImportAcceptor {
|
|
11
|
+
recordingImportUserId(): Promise<number>;
|
|
12
|
+
acceptRecordingImport(sourceHandle: string, metadata: {
|
|
13
|
+
fileName: string;
|
|
14
|
+
mimeType: string;
|
|
15
|
+
fileSize: number;
|
|
16
|
+
sha256: string;
|
|
17
|
+
startAtMillis: number;
|
|
18
|
+
belongUserId: number;
|
|
19
|
+
}, expectedUserId: number): Promise<PublicRecordingImportJob>;
|
|
20
|
+
}
|
|
21
|
+
export declare function createArkmeRecordingImportHandler(service: ArkmeRecordingImportAcceptor, options: ArkmeRecordingImportRouteOptions): (req: IncomingMessage, res: ServerResponse) => Promise<void>;
|
|
22
|
+
export {};
|
|
23
|
+
//# sourceMappingURL=recording-import-routes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recording-import-routes.d.ts","sourceRoot":"","sources":["../../src/recording-import-routes.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAEhE,OAAO,EAGL,KAAK,wBAAwB,EAC9B,MAAM,gCAAgC,CAAA;AAIvC,MAAM,WAAW,gCAAgC;IAC/C,YAAY,EAAE,MAAM,CAAA;IACpB,gBAAgB,EAAE,OAAO,CAAA;IACzB,kBAAkB,EAAE,MAAM,CAAA;CAC3B;AAED,eAAO,MAAM,0CAA0C,QAAmB,CAAA;AAE1E,wBAAsB,qCAAqC,CACzD,SAAS,EAAE,MAAM,EACjB,SAAS,SAAa,EACtB,SAAS,SAA6C,EACtD,cAAc,GAAE,WAAW,CAAC,MAAM,CAAa,GAC9C,OAAO,CAAC,MAAM,CAAC,CAgBjB;AAED,UAAU,4BAA4B;IACpC,qBAAqB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAA;IACxC,qBAAqB,CACnB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,EAC/H,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,wBAAwB,CAAC,CAAA;CACrC;AA8CD,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,4BAA4B,EACrC,OAAO,EAAE,gCAAgC,IAE3B,KAAK,eAAe,EAAE,KAAK,cAAc,KAAG,OAAO,CAAC,IAAI,CAAC,CAyExE"}
|