@senguoyun/dsh-arkme 0.1.31 → 0.1.33
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/README.md +24 -0
- package/lib/client.js +2459 -2307
- package/lib/client.js.map +1 -1
- package/lib/extension-profile-restart-helper.js +17 -5
- package/lib/index.js +3911 -104
- package/lib/persistent-extension.js +1 -1
- package/lib/{persistent-runtime-BJ8konXI.js → persistent-runtime-DUqdJv8K.js} +30114 -768
- package/lib/sdk.js +38 -0
- package/lib/types/arkme-service.d.ts +25 -10
- package/lib/types/arkme-service.d.ts.map +1 -1
- package/lib/types/client/ArkmeBillingSettings.d.ts.map +1 -1
- package/lib/types/client/ArkmeBotConversationSurface.d.ts.map +1 -1
- package/lib/types/client/ArkmeBotSettingsPanel.d.ts.map +1 -1
- package/lib/types/client/ArkmeExtensionRecoveryNotice.d.ts +9 -0
- package/lib/types/client/ArkmeExtensionRecoveryNotice.d.ts.map +1 -0
- package/lib/types/client/ArkmeFooterAction.d.ts +1 -7
- package/lib/types/client/ArkmeFooterAction.d.ts.map +1 -1
- package/lib/types/client/ArkmeFooterDropdown.d.ts.map +1 -1
- package/lib/types/client/ArkmeGroupChatControls.d.ts +17 -1
- package/lib/types/client/ArkmeGroupChatControls.d.ts.map +1 -1
- package/lib/types/client/ArkmeLinkText.d.ts +13 -0
- package/lib/types/client/ArkmeLinkText.d.ts.map +1 -0
- package/lib/types/client/ArkmeLongArticleDialog.d.ts.map +1 -1
- package/lib/types/client/ArkmeMarketplace.d.ts +2 -1
- package/lib/types/client/ArkmeMarketplace.d.ts.map +1 -1
- 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.map +1 -1
- package/lib/types/client/ArkmeRichContent.d.ts +4 -21
- package/lib/types/client/ArkmeRichContent.d.ts.map +1 -1
- package/lib/types/client/ArkmeRichText.d.ts +12 -0
- package/lib/types/client/ArkmeRichText.d.ts.map +1 -0
- package/lib/types/client/ArkmeSearchSurface.d.ts.map +1 -1
- package/lib/types/client/ArkmeSettingsSurface.d.ts +4 -19
- package/lib/types/client/ArkmeSettingsSurface.d.ts.map +1 -1
- package/lib/types/client/ArkmeSidebar.d.ts.map +1 -1
- package/lib/types/client/ArkmeUpdateSurfaces.d.ts +38 -5
- package/lib/types/client/ArkmeUpdateSurfaces.d.ts.map +1 -1
- package/lib/types/client/ArkmeVirtualWorkspace.d.ts.map +1 -1
- package/lib/types/client/api.d.ts +1 -1
- package/lib/types/client/api.d.ts.map +1 -1
- package/lib/types/client/bot-chat-directory-projection.d.ts +7 -0
- package/lib/types/client/bot-chat-directory-projection.d.ts.map +1 -0
- package/lib/types/client/desktop-quarantine-status.d.ts +3 -0
- package/lib/types/client/desktop-quarantine-status.d.ts.map +1 -0
- package/lib/types/client/index.d.ts +0 -2
- package/lib/types/client/index.d.ts.map +1 -1
- package/lib/types/client/link-metadata-client.d.ts +20 -0
- package/lib/types/client/link-metadata-client.d.ts.map +1 -0
- package/lib/types/client/realtime-client-events.d.ts +4 -1
- package/lib/types/client/realtime-client-events.d.ts.map +1 -1
- package/lib/types/client/redesign/contacts/AlphabeticalContactList.d.ts +3 -3
- package/lib/types/client/redesign/contacts/AlphabeticalContactList.d.ts.map +1 -1
- package/lib/types/client/redesign/contacts/ContactDirectorySurface.d.ts +3 -3
- package/lib/types/client/redesign/contacts/ContactDirectorySurface.d.ts.map +1 -1
- package/lib/types/client/related-recordings.d.ts +3 -0
- package/lib/types/client/related-recordings.d.ts.map +1 -1
- package/lib/types/client/text-link-parser.d.ts +10 -0
- package/lib/types/client/text-link-parser.d.ts.map +1 -0
- package/lib/types/client/text-link-tlds.d.ts +2 -0
- package/lib/types/client/text-link-tlds.d.ts.map +1 -0
- package/lib/types/client/ui-controller.d.ts.map +1 -1
- package/lib/types/client/update-presentation.d.ts +1 -1
- package/lib/types/client/update-presentation.d.ts.map +1 -1
- package/lib/types/client/update-ui-controller.d.ts +1 -1
- package/lib/types/client/update-ui-controller.d.ts.map +1 -1
- package/lib/types/dsh-host-capabilities.d.ts +10 -0
- package/lib/types/dsh-host-capabilities.d.ts.map +1 -0
- package/lib/types/dsh-remote/api-proxy-adapter.d.ts +250 -0
- package/lib/types/dsh-remote/api-proxy-adapter.d.ts.map +1 -0
- package/lib/types/dsh-remote/channel-manager.d.ts +45 -0
- package/lib/types/dsh-remote/channel-manager.d.ts.map +1 -0
- package/lib/types/dsh-remote/command-ledger.d.ts +60 -0
- package/lib/types/dsh-remote/command-ledger.d.ts.map +1 -0
- package/lib/types/dsh-remote/control-plane.d.ts +17 -0
- package/lib/types/dsh-remote/control-plane.d.ts.map +1 -0
- package/lib/types/dsh-remote/crypto.d.ts +11 -0
- package/lib/types/dsh-remote/crypto.d.ts.map +1 -0
- package/lib/types/dsh-remote/default-socket-factory.d.ts +8 -0
- package/lib/types/dsh-remote/default-socket-factory.d.ts.map +1 -0
- package/lib/types/dsh-remote/dsh-event-contract.d.ts +29 -0
- package/lib/types/dsh-remote/dsh-event-contract.d.ts.map +1 -0
- package/lib/types/dsh-remote/errors.d.ts +9 -0
- package/lib/types/dsh-remote/errors.d.ts.map +1 -0
- package/lib/types/dsh-remote/host.d.ts +85 -0
- package/lib/types/dsh-remote/host.d.ts.map +1 -0
- package/lib/types/dsh-remote/protocol-v1.d.ts +6 -0
- package/lib/types/dsh-remote/protocol-v1.d.ts.map +1 -0
- package/lib/types/dsh-remote/realtime-transport.d.ts +84 -0
- package/lib/types/dsh-remote/realtime-transport.d.ts.map +1 -0
- package/lib/types/dsh-remote/runtime-secret-broker.d.ts +28 -0
- package/lib/types/dsh-remote/runtime-secret-broker.d.ts.map +1 -0
- package/lib/types/dsh-remote/runtime-store.d.ts +39 -0
- package/lib/types/dsh-remote/runtime-store.d.ts.map +1 -0
- package/lib/types/dsh-remote/transport-fragment.d.ts +10 -0
- package/lib/types/dsh-remote/transport-fragment.d.ts.map +1 -0
- package/lib/types/dsh-remote/types.d.ts +164 -0
- package/lib/types/dsh-remote/types.d.ts.map +1 -0
- package/lib/types/extensions/desktop-quarantine.d.ts +79 -0
- package/lib/types/extensions/desktop-quarantine.d.ts.map +1 -0
- package/lib/types/extensions/profile-installer.d.ts +5 -0
- package/lib/types/extensions/profile-installer.d.ts.map +1 -1
- package/lib/types/extensions/profile-restart-helper.d.ts +3 -1
- package/lib/types/extensions/profile-restart-helper.d.ts.map +1 -1
- package/lib/types/harness-embed-route.d.ts +11 -1
- package/lib/types/harness-embed-route.d.ts.map +1 -1
- package/lib/types/host-api.d.ts +5 -1
- package/lib/types/host-api.d.ts.map +1 -1
- package/lib/types/index.d.ts +15 -0
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/keychain-store.d.ts +33 -0
- package/lib/types/keychain-store.d.ts.map +1 -1
- package/lib/types/link-metadata.d.ts +9 -0
- package/lib/types/link-metadata.d.ts.map +1 -0
- package/lib/types/managed-ai/adapter.d.ts +2 -0
- package/lib/types/managed-ai/adapter.d.ts.map +1 -1
- package/lib/types/sdk/index.d.ts +9 -2
- package/lib/types/sdk/index.d.ts.map +1 -1
- package/lib/types/services/bot-conversation-service.d.ts +59 -0
- package/lib/types/services/bot-conversation-service.d.ts.map +1 -0
- package/lib/types/services/bot-service.d.ts +11 -29
- package/lib/types/services/bot-service.d.ts.map +1 -1
- package/lib/types/services/chat-service.d.ts +30 -5
- package/lib/types/services/chat-service.d.ts.map +1 -1
- package/lib/types/services/contact-directory-service.d.ts.map +1 -1
- package/lib/types/services/link-metadata-service.d.ts +73 -0
- package/lib/types/services/link-metadata-service.d.ts.map +1 -0
- package/lib/types/services/related-recording-service.d.ts +1 -0
- package/lib/types/services/related-recording-service.d.ts.map +1 -1
- package/lib/types/services/service.d.ts +4 -2
- package/lib/types/services/service.d.ts.map +1 -1
- package/lib/types/tools/ports/bots.d.ts +1 -1
- package/lib/types/tools/ports/bots.d.ts.map +1 -1
- package/lib/types/types.d.ts +55 -21
- package/lib/types/types.d.ts.map +1 -1
- package/package.json +24 -23
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import type { DshRemoteCapability, DshRemotePublishDirection, DshRemoteRealtimePayload, DshRemoteRealtimeTransport, DshRemoteRuntimeTarget, DshRemoteTrustedEventMetadata } from './types.js';
|
|
2
|
+
interface SocketEventLike {
|
|
3
|
+
data?: unknown;
|
|
4
|
+
}
|
|
5
|
+
export interface DshRemoteSocketLike {
|
|
6
|
+
readonly readyState: number;
|
|
7
|
+
send(data: string): void;
|
|
8
|
+
close(code?: number, reason?: string): void;
|
|
9
|
+
addEventListener(type: 'open' | 'message' | 'error' | 'close', listener: (event: SocketEventLike) => void): void;
|
|
10
|
+
removeEventListener(type: 'open' | 'message' | 'error' | 'close', listener: (event: SocketEventLike) => void): void;
|
|
11
|
+
}
|
|
12
|
+
export type DshRemoteSocketFactory = (input: {
|
|
13
|
+
profileRef: string;
|
|
14
|
+
clientRef: string;
|
|
15
|
+
signal: AbortSignal;
|
|
16
|
+
}) => DshRemoteSocketLike | Promise<DshRemoteSocketLike>;
|
|
17
|
+
export interface DshRemoteFrameSizingInput {
|
|
18
|
+
target: DshRemoteRuntimeTarget;
|
|
19
|
+
commandId: string;
|
|
20
|
+
direction: DshRemotePublishDirection;
|
|
21
|
+
payload: DshRemoteRealtimePayload;
|
|
22
|
+
senderRole: 'host' | 'controller';
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Mirrors jotmo-realtime's login-only channel.publish and channel.event
|
|
26
|
+
* wrappers. Max-width sequence/timestamp values keep the check conservative.
|
|
27
|
+
*/
|
|
28
|
+
export declare function dshRemoteFrameByteLengths(input: DshRemoteFrameSizingInput): {
|
|
29
|
+
publish: number;
|
|
30
|
+
event: number;
|
|
31
|
+
};
|
|
32
|
+
export declare function assertDshRemoteFramesFit(input: DshRemoteFrameSizingInput): void;
|
|
33
|
+
/** Exact adapter for jotmo-realtime's login-only DSH Remote contract. */
|
|
34
|
+
export declare class ArkmeRemoteRealtimeTransport implements DshRemoteRealtimeTransport {
|
|
35
|
+
private readonly createSocket;
|
|
36
|
+
private readonly requestTimeoutMillis;
|
|
37
|
+
private socket;
|
|
38
|
+
private connectionGeneration;
|
|
39
|
+
private serviceLeaseGeneration;
|
|
40
|
+
private readonly waiters;
|
|
41
|
+
private readonly channelListeners;
|
|
42
|
+
private readonly disconnectListeners;
|
|
43
|
+
private onMessage;
|
|
44
|
+
private onClose;
|
|
45
|
+
constructor(createSocket: DshRemoteSocketFactory, requestTimeoutMillis?: number);
|
|
46
|
+
connect(input: {
|
|
47
|
+
profileRef: string;
|
|
48
|
+
clientRef: string;
|
|
49
|
+
signal: AbortSignal;
|
|
50
|
+
}): Promise<void>;
|
|
51
|
+
disconnect(): Promise<void>;
|
|
52
|
+
subscribeDisconnect(listener: (error: Error) => void): () => void;
|
|
53
|
+
registerHost(input: {
|
|
54
|
+
runtimeRef: string;
|
|
55
|
+
capabilities: DshRemoteCapability[];
|
|
56
|
+
signal: AbortSignal;
|
|
57
|
+
}): Promise<{
|
|
58
|
+
serviceLeaseGeneration: number;
|
|
59
|
+
}>;
|
|
60
|
+
unregisterHost(signal?: AbortSignal): Promise<void>;
|
|
61
|
+
subscribe(input: {
|
|
62
|
+
target: DshRemoteRuntimeTarget;
|
|
63
|
+
afterSequence?: number;
|
|
64
|
+
onEvent: (payload: DshRemoteRealtimePayload, metadata: DshRemoteTrustedEventMetadata) => void;
|
|
65
|
+
signal: AbortSignal;
|
|
66
|
+
}): Promise<() => void>;
|
|
67
|
+
publish(input: {
|
|
68
|
+
target: DshRemoteRuntimeTarget;
|
|
69
|
+
commandId: string;
|
|
70
|
+
direction: DshRemotePublishDirection;
|
|
71
|
+
payload: DshRemoteRealtimePayload;
|
|
72
|
+
signal: AbortSignal;
|
|
73
|
+
}): Promise<{
|
|
74
|
+
sequence: number;
|
|
75
|
+
}>;
|
|
76
|
+
private request;
|
|
77
|
+
private waitForRequest;
|
|
78
|
+
private waitForType;
|
|
79
|
+
private receive;
|
|
80
|
+
private failConnection;
|
|
81
|
+
private send;
|
|
82
|
+
}
|
|
83
|
+
export {};
|
|
84
|
+
//# sourceMappingURL=realtime-transport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"realtime-transport.d.ts","sourceRoot":"","sources":["../../../src/dsh-remote/realtime-transport.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,EACxB,0BAA0B,EAC1B,sBAAsB,EACtB,6BAA6B,EAC9B,MAAM,YAAY,CAAA;AAGnB,UAAU,eAAe;IAAG,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE;AAC5C,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3C,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,GAAG,IAAI,CAAA;IAChH,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,GAAG,IAAI,CAAA;CACpH;AAED,MAAM,MAAM,sBAAsB,GAAG,CACnC,KAAK,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,WAAW,CAAA;CAAE,KAClE,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAA;AAOvD,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,sBAAsB,CAAA;IAC9B,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,yBAAyB,CAAA;IACpC,OAAO,EAAE,wBAAwB,CAAA;IACjC,UAAU,EAAE,MAAM,GAAG,YAAY,CAAA;CAClC;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,yBAAyB,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAsB9G;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,yBAAyB,GAAG,IAAI,CAU/E;AAsED,yEAAyE;AACzE,qBAAa,4BAA6B,YAAW,0BAA0B;IAW3E,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IAXvC,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,oBAAoB,CAAI;IAChC,OAAO,CAAC,sBAAsB,CAAI;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+F;IACvH,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAkD;IACnF,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAoC;IACxE,OAAO,CAAC,SAAS,CAAgD;IACjE,OAAO,CAAC,OAAO,CAAgD;gBAG5C,YAAY,EAAE,sBAAsB,EACpC,oBAAoB,SAAS;IAO1C,OAAO,CAAC,KAAK,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAwC7F,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,MAAM,IAAI;IAK3D,YAAY,CAAC,KAAK,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,mBAAmB,EAAE,CAAC;QAAC,MAAM,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,sBAAsB,EAAE,MAAM,CAAA;KAAE,CAAC;IAYlJ,cAAc,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAWnD,SAAS,CAAC,KAAK,EAAE;QACrB,MAAM,EAAE,sBAAsB,CAAA;QAC9B,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,OAAO,EAAE,CAAC,OAAO,EAAE,wBAAwB,EAAE,QAAQ,EAAE,6BAA6B,KAAK,IAAI,CAAA;QAC7F,MAAM,EAAE,WAAW,CAAA;KACpB,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC;IAgDjB,OAAO,CAAC,KAAK,EAAE;QACnB,MAAM,EAAE,sBAAsB,CAAA;QAC9B,SAAS,EAAE,MAAM,CAAA;QACjB,SAAS,EAAE,yBAAyB,CAAA;QACpC,OAAO,EAAE,wBAAwB,CAAA;QACjC,MAAM,EAAE,WAAW,CAAA;KACpB,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;YAgBnB,OAAO;IAOrB,OAAO,CAAC,cAAc;IAyBtB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,OAAO;IAyBf,OAAO,CAAC,cAAc;IAgBtB,OAAO,CAAC,IAAI;CAMb"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { ArkmeSecureValueStore } from '../keychain-store.js';
|
|
2
|
+
/**
|
|
3
|
+
* Stores only the local command-ledger encryption key and replay cursor.
|
|
4
|
+
* These values protect local recovery data; they are not remote authority.
|
|
5
|
+
*/
|
|
6
|
+
export declare class DshRemoteRuntimeSecretBroker {
|
|
7
|
+
private readonly store;
|
|
8
|
+
private readonly inFlight;
|
|
9
|
+
private readonly cursorWrites;
|
|
10
|
+
constructor(store: ArkmeSecureValueStore);
|
|
11
|
+
ledgerKey(accountId: string): Promise<Buffer>;
|
|
12
|
+
runtimeCursor(input: {
|
|
13
|
+
accountId: string;
|
|
14
|
+
runtimeRef: string;
|
|
15
|
+
channelRef: string;
|
|
16
|
+
}): Promise<number>;
|
|
17
|
+
putRuntimeCursor(input: {
|
|
18
|
+
accountId: string;
|
|
19
|
+
runtimeRef: string;
|
|
20
|
+
channelRef: string;
|
|
21
|
+
lastTransportSequence: number;
|
|
22
|
+
}): Promise<void>;
|
|
23
|
+
private secrets;
|
|
24
|
+
private loadOrCreate;
|
|
25
|
+
private parseCursor;
|
|
26
|
+
private cursorKey;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=runtime-secret-broker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-secret-broker.d.ts","sourceRoot":"","sources":["../../../src/dsh-remote/runtime-secret-broker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAgDjE;;;GAGG;AACH,qBAAa,4BAA4B;IAI3B,OAAO,CAAC,QAAQ,CAAC,KAAK;IAHlC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAsD;IAC/E,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAmC;gBAEnC,KAAK,EAAE,qBAAqB;IAEnD,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI7C,aAAa,CAAC,KAAK,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IASpG,gBAAgB,CAAC,KAAK,EAAE;QAC5B,SAAS,EAAE,MAAM,CAAA;QACjB,UAAU,EAAE,MAAM,CAAA;QAClB,UAAU,EAAE,MAAM,CAAA;QAClB,qBAAqB,EAAE,MAAM,CAAA;KAC9B,GAAG,OAAO,CAAC,IAAI,CAAC;YAuBH,OAAO;YAaP,YAAY;IAiB1B,OAAO,CAAC,WAAW;IAanB,OAAO,CAAC,SAAS;CAUlB"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { DshRemoteCapability, DshRemoteRuntimeProjection } from './types.js';
|
|
2
|
+
export interface DshRemoteProjectionInventory {
|
|
3
|
+
workspaceRefs: string[];
|
|
4
|
+
sessions: Array<{
|
|
5
|
+
sessionRef: string;
|
|
6
|
+
workspaceRef: string;
|
|
7
|
+
sourceUpdatedAt: number;
|
|
8
|
+
}>;
|
|
9
|
+
}
|
|
10
|
+
export declare class DshRemoteRuntimeStore {
|
|
11
|
+
private readonly path;
|
|
12
|
+
private state;
|
|
13
|
+
private queue;
|
|
14
|
+
constructor(directory: string);
|
|
15
|
+
activateRuntime(input: {
|
|
16
|
+
accountId: string;
|
|
17
|
+
profileRef: string;
|
|
18
|
+
capabilities: DshRemoteCapability[];
|
|
19
|
+
nowMillis?: number;
|
|
20
|
+
}): Promise<DshRemoteRuntimeProjection>;
|
|
21
|
+
adoptRuntimeRef(accountId: string, profileRef: string, runtimeRef: string, hostGeneration?: number): Promise<DshRemoteRuntimeProjection>;
|
|
22
|
+
bindDesktop(accountId: string, input: {
|
|
23
|
+
desktopRef: string;
|
|
24
|
+
}): Promise<void>;
|
|
25
|
+
renameDesktop(accountId: string, displayName: string): Promise<void>;
|
|
26
|
+
account(accountId: string): Promise<{
|
|
27
|
+
displayName?: string;
|
|
28
|
+
desktopRef?: string;
|
|
29
|
+
runtimes: DshRemoteRuntimeProjection[];
|
|
30
|
+
}>;
|
|
31
|
+
projectionInventory(accountId: string, profileRef: string): Promise<DshRemoteProjectionInventory>;
|
|
32
|
+
saveProjectionInventory(accountId: string, profileRef: string, inventory: DshRemoteProjectionInventory): Promise<void>;
|
|
33
|
+
private read;
|
|
34
|
+
private update;
|
|
35
|
+
private serial;
|
|
36
|
+
private load;
|
|
37
|
+
private persist;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=runtime-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-store.d.ts","sourceRoot":"","sources":["../../../src/dsh-remote/runtime-store.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAA;AAWjF,MAAM,WAAW,4BAA4B;IAC3C,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,QAAQ,EAAE,KAAK,CAAC;QACd,UAAU,EAAE,MAAM,CAAA;QAClB,YAAY,EAAE,MAAM,CAAA;QACpB,eAAe,EAAE,MAAM,CAAA;KACxB,CAAC,CAAA;CACH;AAeD,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAQ;IAC7B,OAAO,CAAC,KAAK,CAAmC;IAChD,OAAO,CAAC,KAAK,CAAmC;gBAEpC,SAAS,EAAE,MAAM;IAIvB,eAAe,CAAC,KAAK,EAAE;QAC3B,SAAS,EAAE,MAAM,CAAA;QACjB,UAAU,EAAE,MAAM,CAAA;QAClB,YAAY,EAAE,mBAAmB,EAAE,CAAA;QACnC,SAAS,CAAC,EAAE,MAAM,CAAA;KACnB,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAuBjC,eAAe,CACnB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,0BAA0B,CAAC;IA4BhC,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAW5E,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUpE,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QACxC,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,QAAQ,EAAE,0BAA0B,EAAE,CAAA;KACvC,CAAC;IAWI,mBAAmB,CACvB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,4BAA4B,CAAC;IAYlC,uBAAuB,CAC3B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,4BAA4B,GACtC,OAAO,CAAC,IAAI,CAAC;YAaF,IAAI;YAMJ,MAAM;YAQN,MAAM;YAMN,IAAI;YAwEJ,OAAO;CAWtB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface DshRemoteOutboundPlaintext {
|
|
2
|
+
value: unknown;
|
|
3
|
+
fragmentIndex?: number;
|
|
4
|
+
commandId?: string;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Splits a large typed payload into independently bounded Realtime events.
|
|
8
|
+
*/
|
|
9
|
+
export declare function dshRemoteOutboundPayloads(envelope: unknown, transferSeed: string): DshRemoteOutboundPlaintext[];
|
|
10
|
+
//# sourceMappingURL=transport-fragment.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transport-fragment.d.ts","sourceRoot":"","sources":["../../../src/dsh-remote/transport-fragment.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,OAAO,CAAA;IACd,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAMD;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,OAAO,EACjB,YAAY,EAAE,MAAM,GACnB,0BAA0B,EAAE,CAoC9B"}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
export declare const DSH_REMOTE_PROTOCOL: "dsh.remote";
|
|
2
|
+
export declare const DSH_REMOTE_PROTOCOL_MAJOR: 1;
|
|
3
|
+
export declare const DSH_REMOTE_MAX_FRAME_BYTES: number;
|
|
4
|
+
export declare const DSH_REMOTE_MAX_PAGE_ITEMS = 50;
|
|
5
|
+
export declare const DSH_REMOTE_MAX_SNAPSHOT_BYTES: number;
|
|
6
|
+
export declare const DSH_REMOTE_MAX_PAGE_RESULT_BYTES: number;
|
|
7
|
+
export declare const DSH_REMOTE_MAX_TEXT_CODE_POINTS = 20000;
|
|
8
|
+
export type DshRemoteCapability = 'workspace.list' | 'session.list' | 'session.create' | 'session.history' | 'session.prompt' | 'session.prompt.queue' | 'session.prompt.steer' | 'session.cancel' | 'session.events' | 'interaction.question.respond' | 'interaction.approval.respond';
|
|
9
|
+
export type DshRemoteOperation = 'capabilities.get' | 'snapshot.get' | 'workspace.list' | 'session.list' | 'session.create' | 'session.history' | 'session.prompt' | 'session.cancel' | 'interaction.question.respond' | 'interaction.approval.respond';
|
|
10
|
+
export type DshRemoteRequestKind = 'request';
|
|
11
|
+
export type DshRemoteResponseStatus = 'accepted' | 'completed' | 'rejected' | 'duplicate';
|
|
12
|
+
export interface DshRemoteRequest {
|
|
13
|
+
protocol: typeof DSH_REMOTE_PROTOCOL;
|
|
14
|
+
protocol_major: typeof DSH_REMOTE_PROTOCOL_MAJOR;
|
|
15
|
+
kind: DshRemoteRequestKind;
|
|
16
|
+
request_ref: string;
|
|
17
|
+
host_generation: number;
|
|
18
|
+
issued_at: number;
|
|
19
|
+
execute_before: number;
|
|
20
|
+
operation: DshRemoteOperation;
|
|
21
|
+
body: Record<string, unknown>;
|
|
22
|
+
}
|
|
23
|
+
export interface DshRemoteResponse {
|
|
24
|
+
protocol: typeof DSH_REMOTE_PROTOCOL;
|
|
25
|
+
protocol_major: typeof DSH_REMOTE_PROTOCOL_MAJOR;
|
|
26
|
+
kind: 'response';
|
|
27
|
+
request_ref: string;
|
|
28
|
+
status: DshRemoteResponseStatus;
|
|
29
|
+
host_generation: number;
|
|
30
|
+
issued_at: number;
|
|
31
|
+
operation: DshRemoteOperation;
|
|
32
|
+
body: Record<string, unknown>;
|
|
33
|
+
session_seq?: number;
|
|
34
|
+
projection_as_of_seq?: number;
|
|
35
|
+
result?: unknown;
|
|
36
|
+
error?: {
|
|
37
|
+
code: string;
|
|
38
|
+
message: string;
|
|
39
|
+
retryable: boolean;
|
|
40
|
+
trace_ref: string;
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
export interface DshRemoteRuntimeProjection {
|
|
44
|
+
runtimeRef: string;
|
|
45
|
+
desktopRef?: string;
|
|
46
|
+
profileRef: string;
|
|
47
|
+
accountId: string;
|
|
48
|
+
hostGeneration: number;
|
|
49
|
+
capabilities: DshRemoteCapability[];
|
|
50
|
+
updatedAtMillis: number;
|
|
51
|
+
}
|
|
52
|
+
export interface DshRemoteStatus {
|
|
53
|
+
contractVersion: 1;
|
|
54
|
+
available: boolean;
|
|
55
|
+
enabled: boolean;
|
|
56
|
+
connected: boolean;
|
|
57
|
+
accountId?: string;
|
|
58
|
+
desktopRef?: string;
|
|
59
|
+
runtimeRef?: string;
|
|
60
|
+
hostGeneration: number;
|
|
61
|
+
capabilities: DshRemoteCapability[];
|
|
62
|
+
unavailableReason?: string;
|
|
63
|
+
revision: number;
|
|
64
|
+
}
|
|
65
|
+
export interface DshRemoteTrustedEventMetadata {
|
|
66
|
+
senderRole: 'host' | 'controller';
|
|
67
|
+
runtimeRef: string;
|
|
68
|
+
acceptedAtMillis: number;
|
|
69
|
+
targetHostLeaseGeneration: number;
|
|
70
|
+
transportSequence?: number;
|
|
71
|
+
}
|
|
72
|
+
export type DshRemoteRealtimePayload = Record<string, unknown>;
|
|
73
|
+
export type DshRemotePublishDirection = 'request' | 'response' | 'snapshot' | 'event';
|
|
74
|
+
export interface DshRemoteRuntimeTarget {
|
|
75
|
+
runtimeRef: string;
|
|
76
|
+
hostProfileRef: string;
|
|
77
|
+
hostClientRef: string;
|
|
78
|
+
hostLeaseGeneration: number;
|
|
79
|
+
}
|
|
80
|
+
export interface DshRemoteControlPlane {
|
|
81
|
+
registerDesktop(input: Record<string, unknown>, signal?: AbortSignal): Promise<Record<string, unknown>>;
|
|
82
|
+
registerRuntime(desktopRef: string, input: Record<string, unknown>, signal?: AbortSignal): Promise<Record<string, unknown>>;
|
|
83
|
+
syncWorkspaces(input: Record<string, unknown>, signal?: AbortSignal): Promise<Record<string, unknown>>;
|
|
84
|
+
syncSessions(input: Record<string, unknown>, signal?: AbortSignal): Promise<Record<string, unknown>>;
|
|
85
|
+
appendSessionEvents(input: Record<string, unknown>, signal?: AbortSignal): Promise<Record<string, unknown>>;
|
|
86
|
+
}
|
|
87
|
+
export interface DshRemoteRealtimeTransport {
|
|
88
|
+
subscribeDisconnect(listener: (error: Error) => void): () => void;
|
|
89
|
+
connect(input: {
|
|
90
|
+
profileRef: string;
|
|
91
|
+
clientRef: string;
|
|
92
|
+
signal: AbortSignal;
|
|
93
|
+
}): Promise<void>;
|
|
94
|
+
disconnect(): Promise<void>;
|
|
95
|
+
registerHost(input: {
|
|
96
|
+
runtimeRef: string;
|
|
97
|
+
capabilities: DshRemoteCapability[];
|
|
98
|
+
signal: AbortSignal;
|
|
99
|
+
}): Promise<{
|
|
100
|
+
serviceLeaseGeneration: number;
|
|
101
|
+
}>;
|
|
102
|
+
unregisterHost(signal?: AbortSignal): Promise<void>;
|
|
103
|
+
subscribe(input: {
|
|
104
|
+
target: DshRemoteRuntimeTarget;
|
|
105
|
+
afterSequence?: number;
|
|
106
|
+
onEvent: (payload: DshRemoteRealtimePayload, metadata: DshRemoteTrustedEventMetadata) => void;
|
|
107
|
+
signal: AbortSignal;
|
|
108
|
+
}): Promise<() => void>;
|
|
109
|
+
publish(input: {
|
|
110
|
+
target: DshRemoteRuntimeTarget;
|
|
111
|
+
commandId: string;
|
|
112
|
+
direction: DshRemotePublishDirection;
|
|
113
|
+
payload: DshRemoteRealtimePayload;
|
|
114
|
+
signal: AbortSignal;
|
|
115
|
+
}): Promise<{
|
|
116
|
+
sequence: number;
|
|
117
|
+
}>;
|
|
118
|
+
}
|
|
119
|
+
export interface DshRemoteWorkspaceView {
|
|
120
|
+
workspaceId: string;
|
|
121
|
+
title: string;
|
|
122
|
+
path: string;
|
|
123
|
+
available: boolean;
|
|
124
|
+
sessionIds: string[];
|
|
125
|
+
}
|
|
126
|
+
export interface DshRemoteSessionSummary {
|
|
127
|
+
sessionId: string;
|
|
128
|
+
workspaceId: string;
|
|
129
|
+
title?: string;
|
|
130
|
+
updatedAt: number;
|
|
131
|
+
running: boolean;
|
|
132
|
+
blank: boolean;
|
|
133
|
+
projectionAsOfSeq?: number;
|
|
134
|
+
}
|
|
135
|
+
export interface DshRemoteSnapshot {
|
|
136
|
+
projectionAsOfMillis: number;
|
|
137
|
+
workspaces: DshRemoteWorkspaceView[];
|
|
138
|
+
sessions: DshRemoteSessionSummary[];
|
|
139
|
+
pendingInteractions: DshRemotePendingInteraction[];
|
|
140
|
+
nextCursor?: string;
|
|
141
|
+
}
|
|
142
|
+
export type DshRemotePendingInteraction = {
|
|
143
|
+
kind: 'question';
|
|
144
|
+
interactionRpcRef: string;
|
|
145
|
+
sessionId: string;
|
|
146
|
+
questions: unknown[];
|
|
147
|
+
} | {
|
|
148
|
+
kind: 'approval';
|
|
149
|
+
interactionRpcRef: string;
|
|
150
|
+
sessionId: string;
|
|
151
|
+
approvalId: string;
|
|
152
|
+
toolName: string;
|
|
153
|
+
reason?: string;
|
|
154
|
+
canAllowOnce: boolean;
|
|
155
|
+
operationSummary?: string;
|
|
156
|
+
};
|
|
157
|
+
export interface DshRemoteHostFacade {
|
|
158
|
+
start(): Promise<void>;
|
|
159
|
+
stop(): Promise<void>;
|
|
160
|
+
getStatus(): DshRemoteStatus;
|
|
161
|
+
renameDesktop(displayName: string): Promise<DshRemoteStatus>;
|
|
162
|
+
subscribe(listener: (status: DshRemoteStatus) => void): () => void;
|
|
163
|
+
}
|
|
164
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/dsh-remote/types.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,EAAG,YAAqB,CAAA;AACxD,eAAO,MAAM,yBAAyB,EAAG,CAAU,CAAA;AACnD,eAAO,MAAM,0BAA0B,QAAY,CAAA;AACnD,eAAO,MAAM,yBAAyB,KAAK,CAAA;AAK3C,eAAO,MAAM,6BAA6B,QAAa,CAAA;AACvD,eAAO,MAAM,gCAAgC,QAAY,CAAA;AACzD,eAAO,MAAM,+BAA+B,QAAS,CAAA;AAErD,MAAM,MAAM,mBAAmB,GAC3B,gBAAgB,GAChB,cAAc,GACd,gBAAgB,GAChB,iBAAiB,GACjB,gBAAgB,GAChB,sBAAsB,GACtB,sBAAsB,GACtB,gBAAgB,GAChB,gBAAgB,GAChB,8BAA8B,GAC9B,8BAA8B,CAAA;AAElC,MAAM,MAAM,kBAAkB,GAC1B,kBAAkB,GAClB,cAAc,GACd,gBAAgB,GAChB,cAAc,GACd,gBAAgB,GAChB,iBAAiB,GACjB,gBAAgB,GAChB,gBAAgB,GAChB,8BAA8B,GAC9B,8BAA8B,CAAA;AAElC,MAAM,MAAM,oBAAoB,GAAG,SAAS,CAAA;AAC5C,MAAM,MAAM,uBAAuB,GAAG,UAAU,GAAG,WAAW,GAAG,UAAU,GAAG,WAAW,CAAA;AAEzF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,OAAO,mBAAmB,CAAA;IACpC,cAAc,EAAE,OAAO,yBAAyB,CAAA;IAChD,IAAI,EAAE,oBAAoB,CAAA;IAC1B,WAAW,EAAE,MAAM,CAAA;IACnB,eAAe,EAAE,MAAM,CAAA;IACvB,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,kBAAkB,CAAA;IAC7B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC9B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,OAAO,mBAAmB,CAAA;IACpC,cAAc,EAAE,OAAO,yBAAyB,CAAA;IAChD,IAAI,EAAE,UAAU,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,uBAAuB,CAAA;IAC/B,eAAe,EAAE,MAAM,CAAA;IACvB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,kBAAkB,CAAA;IAC7B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAA;QACZ,OAAO,EAAE,MAAM,CAAA;QACf,SAAS,EAAE,OAAO,CAAA;QAClB,SAAS,EAAE,MAAM,CAAA;KAClB,CAAA;CACF;AAED,MAAM,WAAW,0BAA0B;IACzC,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,EAAE,mBAAmB,EAAE,CAAA;IACnC,eAAe,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,eAAe,EAAE,CAAC,CAAA;IAClB,SAAS,EAAE,OAAO,CAAA;IAClB,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,EAAE,mBAAmB,EAAE,CAAA;IACnC,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,6BAA6B;IAC5C,UAAU,EAAE,MAAM,GAAG,YAAY,CAAA;IACjC,UAAU,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,MAAM,CAAA;IACxB,yBAAyB,EAAE,MAAM,CAAA;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAC9D,MAAM,MAAM,yBAAyB,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,CAAA;AAErF,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;IACrB,mBAAmB,EAAE,MAAM,CAAA;CAC5B;AAED,MAAM,WAAW,qBAAqB;IACpC,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IACvG,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IAC3H,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IACtG,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IACpG,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;CAC5G;AAED,MAAM,WAAW,0BAA0B;IACzC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,MAAM,IAAI,CAAA;IACjE,OAAO,CAAC,KAAK,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7F,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3B,YAAY,CAAC,KAAK,EAAE;QAClB,UAAU,EAAE,MAAM,CAAA;QAClB,YAAY,EAAE,mBAAmB,EAAE,CAAA;QACnC,MAAM,EAAE,WAAW,CAAA;KACpB,GAAG,OAAO,CAAC;QAAE,sBAAsB,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC/C,cAAc,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACnD,SAAS,CAAC,KAAK,EAAE;QACf,MAAM,EAAE,sBAAsB,CAAA;QAC9B,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,OAAO,EAAE,CAAC,OAAO,EAAE,wBAAwB,EAAE,QAAQ,EAAE,6BAA6B,KAAK,IAAI,CAAA;QAC7F,MAAM,EAAE,WAAW,CAAA;KACpB,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,CAAA;IACvB,OAAO,CAAC,KAAK,EAAE;QACb,MAAM,EAAE,sBAAsB,CAAA;QAC9B,SAAS,EAAE,MAAM,CAAA;QACjB,SAAS,EAAE,yBAAyB,CAAA;QACpC,OAAO,EAAE,wBAAwB,CAAA;QACjC,MAAM,EAAE,WAAW,CAAA;KACpB,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAClC;AAED,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,OAAO,CAAA;IAClB,UAAU,EAAE,MAAM,EAAE,CAAA;CACrB;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,OAAO,CAAA;IACd,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,WAAW,iBAAiB;IAChC,oBAAoB,EAAE,MAAM,CAAA;IAC5B,UAAU,EAAE,sBAAsB,EAAE,CAAA;IACpC,QAAQ,EAAE,uBAAuB,EAAE,CAAA;IACnC,mBAAmB,EAAE,2BAA2B,EAAE,CAAA;IAClD,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,MAAM,2BAA2B,GACnC;IACE,IAAI,EAAE,UAAU,CAAA;IAChB,iBAAiB,EAAE,MAAM,CAAA;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,OAAO,EAAE,CAAA;CACrB,GACD;IACE,IAAI,EAAE,UAAU,CAAA;IAChB,iBAAiB,EAAE,MAAM,CAAA;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,OAAO,CAAA;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B,CAAA;AAEL,MAAM,WAAW,mBAAmB;IAClC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACrB,SAAS,IAAI,eAAe,CAAA;IAC5B,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;IAC5D,SAAS,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,GAAG,MAAM,IAAI,CAAA;CACnE"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import type { ArkmeExtensionInstallStore } from './install-store.js';
|
|
2
|
+
import type { ArkmeInstalledExtension } from './types.js';
|
|
3
|
+
export type DesktopRuntimeEnvironment = 'prod' | 'test';
|
|
4
|
+
export type DesktopExtensionQuarantinePhase = 'pending' | 'active' | 'restored' | 'resolved';
|
|
5
|
+
export interface DesktopExtensionQuarantineEntry {
|
|
6
|
+
packageName: string;
|
|
7
|
+
dependencySpec: string;
|
|
8
|
+
originalBundleIndex: number;
|
|
9
|
+
synchronizedAtMillis?: number;
|
|
10
|
+
notificationDismissedAtMillis?: number;
|
|
11
|
+
reenableRequestedAtMillis?: number;
|
|
12
|
+
resolvedAtMillis?: number;
|
|
13
|
+
}
|
|
14
|
+
export interface DesktopExtensionQuarantineReceipt {
|
|
15
|
+
schemaVersion: 1;
|
|
16
|
+
quarantineId: string;
|
|
17
|
+
environment: DesktopRuntimeEnvironment;
|
|
18
|
+
phase: DesktopExtensionQuarantinePhase;
|
|
19
|
+
mode: 'targeted' | 'local-safe-mode';
|
|
20
|
+
createdAtMillis: number;
|
|
21
|
+
updatedAtMillis: number;
|
|
22
|
+
runtimeReleaseId?: string;
|
|
23
|
+
failureSummary: string;
|
|
24
|
+
failureLogTail: string;
|
|
25
|
+
entries: DesktopExtensionQuarantineEntry[];
|
|
26
|
+
}
|
|
27
|
+
export interface ArkmeDesktopQuarantineEntryView {
|
|
28
|
+
packageName: string;
|
|
29
|
+
extensionId?: string;
|
|
30
|
+
dismissed: boolean;
|
|
31
|
+
resolved: boolean;
|
|
32
|
+
}
|
|
33
|
+
export interface ArkmeDesktopQuarantineStatus {
|
|
34
|
+
active: boolean;
|
|
35
|
+
quarantineId?: string;
|
|
36
|
+
mode?: 'targeted' | 'local-safe-mode';
|
|
37
|
+
failureSummary?: string;
|
|
38
|
+
failureLogTail?: string;
|
|
39
|
+
entries: ArkmeDesktopQuarantineEntryView[];
|
|
40
|
+
}
|
|
41
|
+
interface InstallStoreLike {
|
|
42
|
+
list(): ArkmeInstalledExtension[];
|
|
43
|
+
get(extensionId: string): ArkmeInstalledExtension | undefined;
|
|
44
|
+
put(item: ArkmeInstalledExtension): void;
|
|
45
|
+
}
|
|
46
|
+
interface ArkmeDesktopExtensionQuarantineOptions {
|
|
47
|
+
dshHome: string;
|
|
48
|
+
environment: DesktopRuntimeEnvironment;
|
|
49
|
+
installStore: Pick<ArkmeExtensionInstallStore, 'list' | 'get' | 'put'> | InstallStoreLike;
|
|
50
|
+
setProfileEnabled(packageName: string, enabled: boolean): Promise<void>;
|
|
51
|
+
requestRestart(input: {
|
|
52
|
+
packageName: string;
|
|
53
|
+
previousProfileIncluded: false;
|
|
54
|
+
}): Promise<void>;
|
|
55
|
+
isPackageActive(packageName: string): boolean;
|
|
56
|
+
now?: () => number;
|
|
57
|
+
}
|
|
58
|
+
export declare class ArkmeDesktopExtensionQuarantine {
|
|
59
|
+
private readonly options;
|
|
60
|
+
private readonly now;
|
|
61
|
+
constructor(options: ArkmeDesktopExtensionQuarantineOptions);
|
|
62
|
+
reconcile(): Promise<void>;
|
|
63
|
+
status(): Promise<ArkmeDesktopQuarantineStatus>;
|
|
64
|
+
dismiss(packageName: string): Promise<void>;
|
|
65
|
+
reenable(packageName: string): Promise<void>;
|
|
66
|
+
resolveActive(): Promise<void>;
|
|
67
|
+
health(packageName: string): Promise<{
|
|
68
|
+
profileEnabled: boolean;
|
|
69
|
+
active: boolean;
|
|
70
|
+
}>;
|
|
71
|
+
private activeReceiptForPackage;
|
|
72
|
+
private installedByPackage;
|
|
73
|
+
private profileContains;
|
|
74
|
+
private readReceipts;
|
|
75
|
+
private writeStoredReceipt;
|
|
76
|
+
}
|
|
77
|
+
export declare function parseDesktopExtensionQuarantineReceipt(text: string): DesktopExtensionQuarantineReceipt;
|
|
78
|
+
export {};
|
|
79
|
+
//# sourceMappingURL=desktop-quarantine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"desktop-quarantine.d.ts","sourceRoot":"","sources":["../../../src/extensions/desktop-quarantine.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,7 @@ export interface ArkmeExtensionProfileInstallerOptions {
|
|
|
18
18
|
requestShutdown?: () => void;
|
|
19
19
|
supervisedExitCode?: number;
|
|
20
20
|
supervisedPlanPath?: string;
|
|
21
|
+
runtimeReleaseId?: string;
|
|
21
22
|
requestProcessExit?: (code: number) => void;
|
|
22
23
|
}
|
|
23
24
|
export declare class ArkmeExtensionProfileInstaller {
|
|
@@ -39,8 +40,12 @@ export declare class ArkmeExtensionProfileInstaller {
|
|
|
39
40
|
previousInstalled?: ArkmeInstalledExtension;
|
|
40
41
|
expectActive: boolean;
|
|
41
42
|
activationChange?: true;
|
|
43
|
+
desktopQuarantineActivation?: true;
|
|
42
44
|
previousProfileIncluded?: boolean;
|
|
43
45
|
}): Promise<void>;
|
|
46
|
+
restartDesktopQuarantine(input: {
|
|
47
|
+
packageName: string;
|
|
48
|
+
}): Promise<void>;
|
|
44
49
|
private run;
|
|
45
50
|
private mutate;
|
|
46
51
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile-installer.d.ts","sourceRoot":"","sources":["../../../src/extensions/profile-installer.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,6BAA6B,CAAA;AACnF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AAGzD,eAAO,MAAM,uCAAuC,KAAK,CAAA;AAEzD,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAOtE;AAED,MAAM,WAAW,qCAAqC;IACpD,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAChD,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,gCAAgC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACnE,eAAe,CAAC,EAAE,MAAM,IAAI,CAAA;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CAC5C;AAED,qBAAa,8BAA8B;IAG7B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAFpC,OAAO,CAAC,YAAY,CAAmC;gBAE1B,OAAO,EAAE,qCAAqC;IAErE,OAAO,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAe/C,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUjD,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1C,UAAU,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAchE,6GAA6G;IACvG,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAQhE,OAAO,CAAC,KAAK,EAAE;QACnB,WAAW,EAAE,MAAM,CAAA;QACnB,WAAW,EAAE,MAAM,CAAA;QACnB,gBAAgB,CAAC,EAAE,MAAM,CAAA;QACzB,kBAAkB,CAAC,EAAE,MAAM,CAAA;QAC3B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;QACvB,iBAAiB,CAAC,EAAE,uBAAuB,CAAA;QAC3C,YAAY,EAAE,OAAO,CAAA;QACrB,gBAAgB,CAAC,EAAE,IAAI,CAAA;QACvB,uBAAuB,CAAC,EAAE,OAAO,CAAA;KAClC,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"profile-installer.d.ts","sourceRoot":"","sources":["../../../src/extensions/profile-installer.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,6BAA6B,CAAA;AACnF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AAGzD,eAAO,MAAM,uCAAuC,KAAK,CAAA;AAEzD,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAOtE;AAED,MAAM,WAAW,qCAAqC;IACpD,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAChD,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,gCAAgC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACnE,eAAe,CAAC,EAAE,MAAM,IAAI,CAAA;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CAC5C;AAED,qBAAa,8BAA8B;IAG7B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAFpC,OAAO,CAAC,YAAY,CAAmC;gBAE1B,OAAO,EAAE,qCAAqC;IAErE,OAAO,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAe/C,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUjD,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1C,UAAU,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAchE,6GAA6G;IACvG,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAQhE,OAAO,CAAC,KAAK,EAAE;QACnB,WAAW,EAAE,MAAM,CAAA;QACnB,WAAW,EAAE,MAAM,CAAA;QACnB,gBAAgB,CAAC,EAAE,MAAM,CAAA;QACzB,kBAAkB,CAAC,EAAE,MAAM,CAAA;QAC3B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;QACvB,iBAAiB,CAAC,EAAE,uBAAuB,CAAA;QAC3C,YAAY,EAAE,OAAO,CAAA;QACrB,gBAAgB,CAAC,EAAE,IAAI,CAAA;QACvB,2BAA2B,CAAC,EAAE,IAAI,CAAA;QAClC,uBAAuB,CAAC,EAAE,OAAO,CAAA;KAClC,GAAG,OAAO,CAAC,IAAI,CAAC;IAkFX,wBAAwB,CAAC,KAAK,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;YAY/D,GAAG;YAmBH,MAAM;CAKrB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ArkmeInstalledExtension } from './types.js';
|
|
2
2
|
import { applyArkmeProfileBundlePolicy } from './profile-bundle-policy.js';
|
|
3
3
|
export interface ArkmeExtensionProfileRestartPlan {
|
|
4
|
-
schemaVersion: 1 | 2 | 3;
|
|
4
|
+
schemaVersion: 1 | 2 | 3 | 4;
|
|
5
5
|
parentPid: number;
|
|
6
6
|
execPath: string;
|
|
7
7
|
dshBinPath: string;
|
|
@@ -18,9 +18,11 @@ export interface ArkmeExtensionProfileRestartPlan {
|
|
|
18
18
|
installStoreDirectory: string;
|
|
19
19
|
previousInstalled?: ArkmeInstalledExtension;
|
|
20
20
|
activationChange?: true;
|
|
21
|
+
desktopQuarantineActivation?: true;
|
|
21
22
|
previousProfileIncluded?: boolean;
|
|
22
23
|
healthUrl: string;
|
|
23
24
|
logPath: string;
|
|
25
|
+
runtimeReleaseId?: string;
|
|
24
26
|
}
|
|
25
27
|
export declare function parseExtensionProfileRestartPlan(value: unknown): ArkmeExtensionProfileRestartPlan;
|
|
26
28
|
declare function start(plan: ArkmeExtensionProfileRestartPlan): import("child_process").ChildProcess;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile-restart-helper.d.ts","sourceRoot":"","sources":["../../../src/extensions/profile-restart-helper.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AACzD,OAAO,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAA;AAK1E,MAAM,WAAW,gCAAgC;IAC/C,aAAa,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"profile-restart-helper.d.ts","sourceRoot":"","sources":["../../../src/extensions/profile-restart-helper.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AACzD,OAAO,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAA;AAK1E,MAAM,WAAW,gCAAgC;IAC/C,aAAa,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,OAAO,CAAA;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,qBAAqB,EAAE,MAAM,CAAA;IAC7B,iBAAiB,CAAC,EAAE,uBAAuB,CAAA;IAC3C,gBAAgB,CAAC,EAAE,IAAI,CAAA;IACvB,2BAA2B,CAAC,EAAE,IAAI,CAAA;IAClC,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAaD,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,OAAO,GAAG,gCAAgC,CAqDjG;AAYD,iBAAS,KAAK,CAAC,IAAI,EAAE,gCAAgC,wCAMpD;AAED,iBAAe,OAAO,CAAC,IAAI,EAAE,gCAAgC,GAAG,OAAO,CAAC,OAAO,CAAC,CAqC/E;AAED,iBAAS,cAAc,CAAC,IAAI,EAAE,gCAAgC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAUvF;AAED,MAAM,WAAW,iCAAiC;IAChD,KAAK,EAAE,OAAO,KAAK,CAAA;IACnB,SAAS,EAAE,OAAO,OAAO,CAAA;IACzB,cAAc,EAAE,OAAO,cAAc,CAAA;IACrC,iBAAiB,EAAE,OAAO,6BAA6B,CAAA;IACvD,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAC5C;AAiDD,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,gCAAgC,GAAG,MAAM,EAAE,CAM7F;AAED,wBAAsB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAYhF;AAED,wBAAsB,sCAAsC,CAC1D,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,SAAS,GAAE,OAAO,CAAC,iCAAiC,CAAM,GACzD,OAAO,CAAC,IAAI,CAAC,CAmBf;AAED,wBAAsB,sCAAsC,CAC1D,QAAQ,EAAE,MAAM,EAChB,SAAS,GAAE,OAAO,CAAC,iCAAiC,CAAM,GACzD,OAAO,CAAC,IAAI,CAAC,CAIf"}
|
|
@@ -9,16 +9,26 @@ export interface DshWebBootEntry {
|
|
|
9
9
|
immediately?: boolean;
|
|
10
10
|
external?: string[];
|
|
11
11
|
}
|
|
12
|
+
export interface DshWebBootBatch {
|
|
13
|
+
phase: 'bootstrap' | 'application';
|
|
14
|
+
url: string;
|
|
15
|
+
rev: string;
|
|
16
|
+
entries: string[];
|
|
17
|
+
}
|
|
12
18
|
export interface DshWebBootGraph {
|
|
13
19
|
rev: string;
|
|
14
20
|
entries: DshWebBootEntry[];
|
|
21
|
+
/** Present in the structured DSH boot protocol; legacy graphs omit it. */
|
|
22
|
+
batches?: DshWebBootBatch[];
|
|
15
23
|
}
|
|
16
24
|
interface HarnessEmbedRouteOptions {
|
|
17
25
|
getGraph(): DshWebBootGraph;
|
|
18
26
|
installedPackageNames(): readonly string[];
|
|
19
|
-
readRootHtml(): Promise<string>;
|
|
27
|
+
readRootHtml(request: IncomingMessage): Promise<string>;
|
|
20
28
|
onError?(error: unknown): void;
|
|
21
29
|
}
|
|
30
|
+
/** Forward only the same-origin browser session needed by authenticated DSH roots. */
|
|
31
|
+
export declare function dshRootDocumentHeaders(request: IncomingMessage): Record<string, string>;
|
|
22
32
|
/**
|
|
23
33
|
* Build the iframe-only DSH graph without any Arkme-managed extension clients.
|
|
24
34
|
* Host halves stay process-owned and untouched; only this document's browser
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"harness-embed-route.d.ts","sourceRoot":"","sources":["../../src/harness-embed-route.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAEhE,eAAO,MAAM,yBAAyB,yBAAyB,CAAA;AAC/D,eAAO,MAAM,2BAA2B,gCAAgC,CAAA;
|
|
1
|
+
{"version":3,"file":"harness-embed-route.d.ts","sourceRoot":"","sources":["../../src/harness-embed-route.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAEhE,eAAO,MAAM,yBAAyB,yBAAyB,CAAA;AAC/D,eAAO,MAAM,2BAA2B,gCAAgC,CAAA;AAgBxE,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,WAAW,GAAG,aAAa,CAAA;IAClC,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,eAAe,EAAE,CAAA;IAC1B,0EAA0E;IAC1E,OAAO,CAAC,EAAE,eAAe,EAAE,CAAA;CAC5B;AAED,UAAU,wBAAwB;IAChC,QAAQ,IAAI,eAAe,CAAA;IAC3B,qBAAqB,IAAI,SAAS,MAAM,EAAE,CAAA;IAC1C,YAAY,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IACvD,OAAO,CAAC,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAA;CAC/B;AAED,sFAAsF;AACtF,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAIvF;AAyGD;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,eAAe,EACtB,qBAAqB,EAAE,SAAS,MAAM,EAAE,GACvC,eAAe,CAuBjB;AAED,6EAA6E;AAC7E,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,eAAe,EAC1B,cAAc,EAAE,eAAe,GAC9B,MAAM,CAqBR;AAED,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,wBAAwB,IAChE,SAAS,eAAe,EAAE,UAAU,cAAc,KAAG,OAAO,CAAC,IAAI,CAAC,CA+BjF"}
|
package/lib/types/host-api.d.ts
CHANGED
|
@@ -5,6 +5,8 @@ import type { ArkmePluginRequest } from './types.js';
|
|
|
5
5
|
import type { ArkmeExtensionManager } from './extensions/manager.js';
|
|
6
6
|
import type { ArkmeExtensionInstallTasks } from './extensions/install-tasks.js';
|
|
7
7
|
import type { ArkmeOwnedExtensionInventory } from './extensions/owned-inventory.js';
|
|
8
|
+
import type { ArkmeDesktopExtensionQuarantine } from './extensions/desktop-quarantine.js';
|
|
9
|
+
import type { DshRemoteHostFacade } from './dsh-remote/types.js';
|
|
8
10
|
export interface ArkmeHostApiOptions {
|
|
9
11
|
expectedPort: number;
|
|
10
12
|
allowNonLoopback: boolean;
|
|
@@ -12,7 +14,9 @@ export interface ArkmeHostApiOptions {
|
|
|
12
14
|
extensionManager?: () => ArkmeExtensionManager | undefined;
|
|
13
15
|
extensionInstallTasks?: () => ArkmeExtensionInstallTasks | undefined;
|
|
14
16
|
ownedExtensionInventory?: () => ArkmeOwnedExtensionInventory | undefined;
|
|
17
|
+
remoteHost?: () => DshRemoteHostFacade | undefined;
|
|
18
|
+
desktopQuarantine?: Pick<ArkmeDesktopExtensionQuarantine, 'status' | 'dismiss' | 'reenable' | 'health'>;
|
|
15
19
|
}
|
|
16
20
|
export declare function createArkmeHostApi(service: ArkmeService, options: ArkmeHostApiOptions): (req: IncomingMessage, res: ServerResponse) => Promise<void>;
|
|
17
|
-
export declare function dispatchArkmeHostOperation(service: ArkmeService, operation: ArkmePluginRequest['operation'], params: Record<string, unknown>, updateManager?: Pick<ArkmePluginUpdateManager, 'status' | 'check' | 'acknowledge' | 'install' | 'installStatus'>, extensionManager?: ArkmeExtensionManager, extensionInstallTasks?: ArkmeExtensionInstallTasks, ownedExtensionInventory?: ArkmeOwnedExtensionInventory, requestSignal?: AbortSignal): Promise<unknown>;
|
|
21
|
+
export declare function dispatchArkmeHostOperation(service: ArkmeService, operation: ArkmePluginRequest['operation'], params: Record<string, unknown>, updateManager?: Pick<ArkmePluginUpdateManager, 'status' | 'check' | 'acknowledge' | 'install' | 'installStatus'>, extensionManager?: ArkmeExtensionManager, extensionInstallTasks?: ArkmeExtensionInstallTasks, ownedExtensionInventory?: ArkmeOwnedExtensionInventory, requestSignal?: AbortSignal, remoteHost?: DshRemoteHostFacade, desktopQuarantine?: Pick<ArkmeDesktopExtensionQuarantine, 'status' | 'dismiss' | 'reenable' | 'health'>): Promise<unknown>;
|
|
18
22
|
//# sourceMappingURL=host-api.d.ts.map
|
|
@@ -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,EAKV,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;
|
|
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,EAKV,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;AA6fhE,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,CAm6BlB"}
|
package/lib/types/index.d.ts
CHANGED
|
@@ -4,6 +4,8 @@ export { createOpenClawCliAdapter } from './openclaw/index.js';
|
|
|
4
4
|
import { ArkmeService } from './arkme-service.js';
|
|
5
5
|
import type { ArkmeToolProfile } from './tools/index.js';
|
|
6
6
|
import { type ArkmeEnvironment } from './types.js';
|
|
7
|
+
import { type DshPublicApiProxyLike } from './dsh-remote/api-proxy-adapter.js';
|
|
8
|
+
import { type DshRemoteSocketLike } from './dsh-remote/realtime-transport.js';
|
|
7
9
|
export interface Config {
|
|
8
10
|
environment: ArkmeEnvironment;
|
|
9
11
|
authBaseUrl: string;
|
|
@@ -47,6 +49,8 @@ export interface Config {
|
|
|
47
49
|
updateAllowLocalInstall: boolean;
|
|
48
50
|
openclawProfile: string;
|
|
49
51
|
shareWebsite: string;
|
|
52
|
+
dshRemoteFeatureEnabled: boolean;
|
|
53
|
+
dshRemoteRealtimeBaseUrl: string;
|
|
50
54
|
}
|
|
51
55
|
export declare const ARKME_PRODUCTION_TRUSTED_SIGNING_KEYS = "{\"prod-ed25519-20260819-1\":\"m1MKKU16hyu1b1KKIXMG+zKEr/GmhmvyUEreJzthTxs=\"}";
|
|
52
56
|
export declare const Config: Schema<Config>;
|
|
@@ -56,12 +60,23 @@ export declare function readDshRuntimeVersion(dshBinPath: string): string | unde
|
|
|
56
60
|
export declare function resolveArkmeAppVersion(configuredAppVersion: string, environment?: {
|
|
57
61
|
ARKME_APP_VERSION?: string;
|
|
58
62
|
}): string | undefined;
|
|
63
|
+
export declare function resolvePluginUpdateEnabled(configured: boolean, environment?: Readonly<Record<string, string | undefined>>): boolean;
|
|
59
64
|
declare module '@deepseek-ai/cordis' {
|
|
60
65
|
interface Context {
|
|
61
66
|
/** Headless Arkme data provider for trusted Host-side consumer plugins. */
|
|
62
67
|
arkmeData: ArkmeService;
|
|
68
|
+
/** Public DSH gateway detected at runtime; only the remote allowlist is consumed. */
|
|
69
|
+
apiProxy: DshPublicApiProxyLike;
|
|
70
|
+
/** Optional Host-owned authenticated Realtime socket carrier. */
|
|
71
|
+
arkmeRemoteSocketFactory: ArkmeRemoteAuthenticatedSocketFactory;
|
|
63
72
|
}
|
|
64
73
|
}
|
|
74
|
+
export type ArkmeRemoteAuthenticatedSocketFactory = (input: {
|
|
75
|
+
profileRef: string;
|
|
76
|
+
clientRef: string;
|
|
77
|
+
accessToken: string;
|
|
78
|
+
signal: AbortSignal;
|
|
79
|
+
}) => DshRemoteSocketLike | Promise<DshRemoteSocketLike>;
|
|
65
80
|
export declare function apply(ctx: Context, config: Config): void;
|
|
66
81
|
export declare function resolveArkmeConfig(ctx: Context, config: Config): Config;
|
|
67
82
|
export type { ArkmeAiVideoJob, ArkmeAiVideoListItem, ArkmeAiVideoListResult, ArkmeAiVideoJobStatus, ArkmeAiVideoPreflightResult, ArkmeAiVideoSegmentSelector, ArkmeAiVideoTranscriptSource, ArkmeAuthSnapshot, ArkmeCachedQueryResult, ArkmeCachedSnapshot, ArkmeChatRealtimeState, ArkmeConversationWriteResult, ArkmeCreateTextResult, ArkmeDirectTextSendResult, ArkmeGroupAvatarFallback, ArkmeGroupAvatarPresentation, ArkmeGroupAvatarSlot, ArkmeIdAvailabilityReason, ArkmeIdAvailabilitySnapshot, ArkmeIdMutationResult, ArkmePendingWrite, ArkmeRelatedRecordingEligibility, ArkmeRelatedRecordingItem, ArkmeRelatedRecordingMonthBucket, ArkmeRelatedRecordingPage, ArkmeRelatedRecordingPageOptions, ArkmeRelatedRecordingPageState, ArkmeRelatedRecordingParticipant, ArkmeRelatedRecordingSpeaker, ArkmeContentBlock, ArkmeContentKind, ArkmeFavoriteSticker, ArkmeFavoriteStickerList, ArkmeFavoriteStickerAddInput, ArkmeFavoriteStickerManageAction, ArkmeRichSendInput, ArkmeImageMediaType, ArkmeImagePayload, ArkmeFileAssetDisplayItem, ArkmeRecordSearchResult, ArkmeRecordingSearchItem, ArkmeRecordingSearchResult, ArkmeSearchQueryGuard, ArkmeSearchRecordItem, ArkmeSearchSceneKind, ArkmeSearchSourceAggregate, ArkmeSourceDirectory, ArkmeSourceItem, ArkmeSourceKind, ArkmeSourceList, ArkmeSourceReadResult, ArkmeSourceSendResult, ArkmeTimelineCursor, ArkmeTimelineItem, ArkmeForwardRecordsPreview, ArkmeForwardRecordPreviewItem, ArkmeForwardTranscriptSegment, ArkmeTimelinePage, ArkmeUploadedAsset, ArkmeRecordCursor, ArkmeSelfRecordItem, ArkmeSelfRecordList, ArkmeSelfSummary, ArkmeCallDetail, ArkmeCallHistoryItem, ArkmeCallHistoryOptions, ArkmeCallHistoryPage, ArkmeCallMediaType, ArkmeCallParticipant, ArkmeCallRecentContact, ArkmeCallSummaryRetryResult, ArkmeCallSummaryStatus, ArkmeCallTranscriptSegment, ArkmeProviderCapabilities, ArkmeProviderState, ArkmePluginUpdateAvailability, ArkmePluginUpdateLevel, ArkmePluginUpdateNotice, ArkmePluginUpdateStatus, ArkmeUserProfile, ArkmeUserProfileSnapshot, ArkmeWorldPublishFileAsset, ArkmeWorldPublishFileAssetsInput, ArkmeWorldPublishResult, ArkmeWorldPublishTextInput, ArkmeWorldFeedItem, ArkmeWorldFeedPage, ArkmeWorldVoiceprintAvailability, ArkmeWorldVoiceprintAvailabilityItem, ArkmeWorldVoiceprintPlaybackChunk, ArkmeWorldRecordItem, ArkmeWorldRecordList, ArkmeWorldVisibility, ArkmeWechatCallFilter, ArkmeWechatCommonGroupFriend, ArkmeWechatCommonGroupPage, ArkmeWechatConversation, ArkmeWechatConversationDetail, ArkmeWechatConversationPage, ArkmeWechatGroupMember, ArkmeWechatGroupMemberPage, ArkmeWechatLocation, ArkmeWechatLocationPage, ArkmeWechatMessage, ArkmeWechatMessageFilter, ArkmeWechatMessagePage, ArkmeWechatMoneyFlow, ArkmeWechatMoneyFlowPage, ArkmeWechatPhone, ArkmeWechatPhoneEvidence, ArkmeWechatPhonePage, } from './types.js';
|