Merge branch 'master' into claude/evaluate-workflow-errors-PDDoJ
This commit is contained in:
@@ -28,10 +28,9 @@ jobs:
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: |
|
||||
# Force git to use HTTPS instead of SSH for GitHub repositories
|
||||
git config --global url."https://github.com/".insteadOf "ssh://git@github.com/"
|
||||
git config --global url."https://github.com/".insteadOf "git@github.com:"
|
||||
# Configure git to use GITHUB_TOKEN for authentication
|
||||
# Force git to use HTTPS with token instead of SSH for GitHub repositories
|
||||
git config --global url."https://x-access-token:${GITHUB_TOKEN}@github.com/".insteadOf "ssh://git@github.com/"
|
||||
git config --global url."https://x-access-token:${GITHUB_TOKEN}@github.com/".insteadOf "git@github.com:"
|
||||
git config --global url."https://x-access-token:${GITHUB_TOKEN}@github.com/".insteadOf "https://github.com/"
|
||||
|
||||
- name: Restore Yarn Cache
|
||||
@@ -46,6 +45,9 @@ jobs:
|
||||
${{ runner.os }}-yarn-
|
||||
|
||||
- name: Install dependencies
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
GIT_TERMINAL_PROMPT: 0
|
||||
run: yarn install --immutable
|
||||
|
||||
- name: Build project
|
||||
|
||||
@@ -28,10 +28,9 @@ jobs:
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: |
|
||||
# Force git to use HTTPS instead of SSH for GitHub repositories
|
||||
git config --global url."https://github.com/".insteadOf "ssh://git@github.com/"
|
||||
git config --global url."https://github.com/".insteadOf "git@github.com:"
|
||||
# Configure git to use GITHUB_TOKEN for authentication
|
||||
# Force git to use HTTPS with token instead of SSH for GitHub repositories
|
||||
git config --global url."https://x-access-token:${GITHUB_TOKEN}@github.com/".insteadOf "ssh://git@github.com/"
|
||||
git config --global url."https://x-access-token:${GITHUB_TOKEN}@github.com/".insteadOf "git@github.com:"
|
||||
git config --global url."https://x-access-token:${GITHUB_TOKEN}@github.com/".insteadOf "https://github.com/"
|
||||
|
||||
- name: Restore Yarn Cache
|
||||
@@ -46,6 +45,9 @@ jobs:
|
||||
${{ runner.os }}-yarn-
|
||||
|
||||
- name: Install packages
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
GIT_TERMINAL_PROMPT: 0
|
||||
run: yarn install --immutable
|
||||
|
||||
- name: Check linting
|
||||
|
||||
@@ -18,7 +18,7 @@ jobs:
|
||||
|
||||
- uses: mshick/add-pr-comment@v2
|
||||
with:
|
||||
repo-token: ${{ secrets.PERSONAL_TOKEN }}
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
message-id: pr-test
|
||||
message: |
|
||||
Thanks for opening this pull request and contributing to the project!
|
||||
|
||||
@@ -29,10 +29,9 @@ jobs:
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: |
|
||||
# Force git to use HTTPS instead of SSH for GitHub repositories
|
||||
git config --global url."https://github.com/".insteadOf "ssh://git@github.com/"
|
||||
git config --global url."https://github.com/".insteadOf "git@github.com:"
|
||||
# Configure git to use GITHUB_TOKEN for authentication
|
||||
# Force git to use HTTPS with token instead of SSH for GitHub repositories
|
||||
git config --global url."https://x-access-token:${GITHUB_TOKEN}@github.com/".insteadOf "ssh://git@github.com/"
|
||||
git config --global url."https://x-access-token:${GITHUB_TOKEN}@github.com/".insteadOf "git@github.com:"
|
||||
git config --global url."https://x-access-token:${GITHUB_TOKEN}@github.com/".insteadOf "https://github.com/"
|
||||
|
||||
- name: Restore Yarn Cache
|
||||
@@ -47,6 +46,9 @@ jobs:
|
||||
${{ runner.os }}-yarn-
|
||||
|
||||
- name: Install dependencies
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
GIT_TERMINAL_PROMPT: 0
|
||||
run: yarn install --immutable
|
||||
|
||||
- name: Run tests
|
||||
|
||||
+42
-10
@@ -1,7 +1,7 @@
|
||||
syntax = "proto3";
|
||||
package proto;
|
||||
|
||||
/// WhatsApp Version: 2.3000.1033381705
|
||||
/// WhatsApp Version: 2.3000.1033472679
|
||||
|
||||
message ADVDeviceIdentity {
|
||||
optional uint32 rawId = 1;
|
||||
@@ -342,14 +342,6 @@ message BotAgeCollectionMetadata {
|
||||
}
|
||||
}
|
||||
|
||||
message BotAvatarMetadata {
|
||||
optional uint32 sentiment = 1;
|
||||
optional string behaviorGraph = 2;
|
||||
optional uint32 action = 3;
|
||||
optional uint32 intensity = 4;
|
||||
optional uint32 wordCount = 5;
|
||||
}
|
||||
|
||||
message BotCapabilityMetadata {
|
||||
repeated BotCapabilityType capabilities = 1;
|
||||
enum BotCapabilityType {
|
||||
@@ -608,7 +600,6 @@ message BotMessageSharingInfo {
|
||||
}
|
||||
|
||||
message BotMetadata {
|
||||
optional BotAvatarMetadata avatarMetadata = 1;
|
||||
optional string personaId = 2;
|
||||
optional BotPluginMetadata pluginMetadata = 3;
|
||||
optional BotSuggestedPromptMetadata suggestedPromptMetadata = 4;
|
||||
@@ -2407,6 +2398,7 @@ message Message {
|
||||
optional string nativeFlowCallButtonPayload = 8;
|
||||
optional string deeplinkPayload = 9;
|
||||
optional MessageContextInfo messageContextInfo = 10;
|
||||
optional uint32 callEntryPoint = 11;
|
||||
}
|
||||
|
||||
message CallLogMessage {
|
||||
@@ -2621,8 +2613,15 @@ message Message {
|
||||
}
|
||||
}
|
||||
|
||||
message FullHistorySyncOnDemandConfig {
|
||||
optional uint64 historyFromTimestamp = 1;
|
||||
optional uint32 historyDurationDays = 2;
|
||||
}
|
||||
|
||||
message FullHistorySyncOnDemandRequestMetadata {
|
||||
optional string requestId = 1;
|
||||
optional string businessProduct = 2;
|
||||
optional bytes opaqueClientData = 3;
|
||||
}
|
||||
|
||||
message FutureProofMessage {
|
||||
@@ -3158,14 +3157,18 @@ message Message {
|
||||
message FullHistorySyncOnDemandRequest {
|
||||
optional Message.FullHistorySyncOnDemandRequestMetadata requestMetadata = 1;
|
||||
optional DeviceProps.HistorySyncConfig historySyncConfig = 2;
|
||||
optional Message.FullHistorySyncOnDemandConfig fullHistorySyncOnDemandConfig = 3;
|
||||
}
|
||||
|
||||
message GalaxyFlowAction {
|
||||
optional GalaxyFlowActionType type = 1;
|
||||
optional string flowId = 2;
|
||||
optional string stanzaId = 3;
|
||||
optional string galaxyFlowDownloadRequestId = 4;
|
||||
optional string agmId = 5;
|
||||
enum GalaxyFlowActionType {
|
||||
NOTIFY_LAUNCH = 1;
|
||||
DOWNLOAD_RESPONSES = 2;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3220,6 +3223,7 @@ message Message {
|
||||
optional SyncDSnapshotFatalRecoveryResponse syncdSnapshotFatalRecoveryResponse = 8;
|
||||
optional CompanionCanonicalUserNonceFetchResponse companionCanonicalUserNonceFetchRequestResponse = 9;
|
||||
optional HistorySyncChunkRetryResponse historySyncChunkRetryResponse = 10;
|
||||
optional FlowResponsesCsvBundle flowResponsesCsvBundle = 11;
|
||||
message CompanionCanonicalUserNonceFetchResponse {
|
||||
optional string nonce = 1;
|
||||
optional string waFbid = 2;
|
||||
@@ -3230,6 +3234,19 @@ message Message {
|
||||
optional string nonce = 1;
|
||||
}
|
||||
|
||||
message FlowResponsesCsvBundle {
|
||||
optional string flowId = 1;
|
||||
optional string galaxyFlowDownloadRequestId = 2;
|
||||
optional string fileName = 3;
|
||||
optional string mimetype = 4;
|
||||
optional bytes fileSha256 = 5;
|
||||
optional bytes mediaKey = 6;
|
||||
optional bytes fileEncSha256 = 7;
|
||||
optional string directPath = 8;
|
||||
optional int64 mediaKeyTimestamp = 9;
|
||||
optional uint64 fileLength = 10;
|
||||
}
|
||||
|
||||
message FullHistorySyncOnDemandRequestResponse {
|
||||
optional Message.FullHistorySyncOnDemandRequestMetadata requestMetadata = 1;
|
||||
optional Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.FullHistorySyncOnDemandResponseCode responseCode = 2;
|
||||
@@ -3453,6 +3470,7 @@ message Message {
|
||||
optional AIQueryFanout aiQueryFanout = 26;
|
||||
optional MemberLabel memberLabel = 27;
|
||||
optional AIMediaCollectionMessage aiMediaCollectionMessage = 28;
|
||||
optional uint32 afterReadDurationMs = 29;
|
||||
enum Type {
|
||||
REVOKE = 0;
|
||||
EPHEMERAL_SETTING = 3;
|
||||
@@ -4025,6 +4043,8 @@ enum MutationProps {
|
||||
AI_THREAD_RENAME_ACTION = 76;
|
||||
INTERACTIVE_MESSAGE_ACTION = 77;
|
||||
SETTINGS_SYNC_ACTION = 78;
|
||||
OUT_CONTACT_ACTION = 79;
|
||||
NCT_SALT_SYNC_ACTION = 80;
|
||||
SHARE_OWN_PN = 10001;
|
||||
BUSINESS_BROADCAST_ACTION = 10002;
|
||||
AI_THREAD_DELETE_ACTION = 10003;
|
||||
@@ -4655,6 +4675,8 @@ message SyncActionValue {
|
||||
optional AiThreadRenameAction aiThreadRenameAction = 76;
|
||||
optional InteractiveMessageAction interactiveMessageAction = 77;
|
||||
optional SettingsSyncAction settingsSyncAction = 78;
|
||||
optional OutContactAction outContactAction = 79;
|
||||
optional NctSaltSyncAction nctSaltSyncAction = 80;
|
||||
message AgentAction {
|
||||
optional string name = 1;
|
||||
optional int32 deviceID = 2;
|
||||
@@ -4781,6 +4803,7 @@ message SyncActionValue {
|
||||
|
||||
message InteractiveMessageAction {
|
||||
optional InteractiveMessageActionMode type = 1;
|
||||
optional string agmId = 2;
|
||||
enum InteractiveMessageActionMode {
|
||||
DISABLE_CTA = 1;
|
||||
}
|
||||
@@ -4890,6 +4913,10 @@ message SyncActionValue {
|
||||
optional int64 muteEveryoneMentionEndTimestamp = 4;
|
||||
}
|
||||
|
||||
message NctSaltSyncAction {
|
||||
optional bytes salt = 1;
|
||||
}
|
||||
|
||||
message NewsletterSavedInterestsAction {
|
||||
optional string newsletterSavedInterests = 1;
|
||||
}
|
||||
@@ -4920,6 +4947,11 @@ message SyncActionValue {
|
||||
optional bool acknowledged = 1;
|
||||
}
|
||||
|
||||
message OutContactAction {
|
||||
optional string fullName = 1;
|
||||
optional string firstName = 2;
|
||||
}
|
||||
|
||||
message PaymentInfoAction {
|
||||
optional string cpi = 1;
|
||||
}
|
||||
|
||||
Vendored
+112
-27
@@ -976,30 +976,6 @@ export namespace proto {
|
||||
}
|
||||
}
|
||||
|
||||
interface IBotAvatarMetadata {
|
||||
sentiment?: (number|null);
|
||||
behaviorGraph?: (string|null);
|
||||
action?: (number|null);
|
||||
intensity?: (number|null);
|
||||
wordCount?: (number|null);
|
||||
}
|
||||
|
||||
class BotAvatarMetadata implements IBotAvatarMetadata {
|
||||
constructor(p?: proto.IBotAvatarMetadata);
|
||||
public sentiment?: (number|null);
|
||||
public behaviorGraph?: (string|null);
|
||||
public action?: (number|null);
|
||||
public intensity?: (number|null);
|
||||
public wordCount?: (number|null);
|
||||
public static create(properties?: proto.IBotAvatarMetadata): proto.BotAvatarMetadata;
|
||||
public static encode(m: proto.IBotAvatarMetadata, w?: $protobuf.Writer): $protobuf.Writer;
|
||||
public static decode(r: ($protobuf.Reader|Uint8Array), l?: number): proto.BotAvatarMetadata;
|
||||
public static fromObject(d: { [k: string]: any }): proto.BotAvatarMetadata;
|
||||
public static toObject(m: proto.BotAvatarMetadata, o?: $protobuf.IConversionOptions): { [k: string]: any };
|
||||
public toJSON(): { [k: string]: any };
|
||||
public static getTypeUrl(typeUrlPrefix?: string): string;
|
||||
}
|
||||
|
||||
interface IBotCapabilityMetadata {
|
||||
capabilities?: (proto.BotCapabilityMetadata.BotCapabilityType[]|null);
|
||||
}
|
||||
@@ -1627,7 +1603,6 @@ export namespace proto {
|
||||
}
|
||||
|
||||
interface IBotMetadata {
|
||||
avatarMetadata?: (proto.IBotAvatarMetadata|null);
|
||||
personaId?: (string|null);
|
||||
pluginMetadata?: (proto.IBotPluginMetadata|null);
|
||||
suggestedPromptMetadata?: (proto.IBotSuggestedPromptMetadata|null);
|
||||
@@ -1670,7 +1645,6 @@ export namespace proto {
|
||||
|
||||
class BotMetadata implements IBotMetadata {
|
||||
constructor(p?: proto.IBotMetadata);
|
||||
public avatarMetadata?: (proto.IBotAvatarMetadata|null);
|
||||
public personaId?: (string|null);
|
||||
public pluginMetadata?: (proto.IBotPluginMetadata|null);
|
||||
public suggestedPromptMetadata?: (proto.IBotSuggestedPromptMetadata|null);
|
||||
@@ -6036,6 +6010,7 @@ export namespace proto {
|
||||
nativeFlowCallButtonPayload?: (string|null);
|
||||
deeplinkPayload?: (string|null);
|
||||
messageContextInfo?: (proto.IMessageContextInfo|null);
|
||||
callEntryPoint?: (number|null);
|
||||
}
|
||||
|
||||
class Call implements ICall {
|
||||
@@ -6050,6 +6025,7 @@ export namespace proto {
|
||||
public nativeFlowCallButtonPayload?: (string|null);
|
||||
public deeplinkPayload?: (string|null);
|
||||
public messageContextInfo?: (proto.IMessageContextInfo|null);
|
||||
public callEntryPoint?: (number|null);
|
||||
public static create(properties?: proto.Message.ICall): proto.Message.Call;
|
||||
public static encode(m: proto.Message.ICall, w?: $protobuf.Writer): $protobuf.Writer;
|
||||
public static decode(r: ($protobuf.Reader|Uint8Array), l?: number): proto.Message.Call;
|
||||
@@ -6596,13 +6572,35 @@ export namespace proto {
|
||||
}
|
||||
}
|
||||
|
||||
interface IFullHistorySyncOnDemandConfig {
|
||||
historyFromTimestamp?: (number|Long|null);
|
||||
historyDurationDays?: (number|null);
|
||||
}
|
||||
|
||||
class FullHistorySyncOnDemandConfig implements IFullHistorySyncOnDemandConfig {
|
||||
constructor(p?: proto.Message.IFullHistorySyncOnDemandConfig);
|
||||
public historyFromTimestamp?: (number|Long|null);
|
||||
public historyDurationDays?: (number|null);
|
||||
public static create(properties?: proto.Message.IFullHistorySyncOnDemandConfig): proto.Message.FullHistorySyncOnDemandConfig;
|
||||
public static encode(m: proto.Message.IFullHistorySyncOnDemandConfig, w?: $protobuf.Writer): $protobuf.Writer;
|
||||
public static decode(r: ($protobuf.Reader|Uint8Array), l?: number): proto.Message.FullHistorySyncOnDemandConfig;
|
||||
public static fromObject(d: { [k: string]: any }): proto.Message.FullHistorySyncOnDemandConfig;
|
||||
public static toObject(m: proto.Message.FullHistorySyncOnDemandConfig, o?: $protobuf.IConversionOptions): { [k: string]: any };
|
||||
public toJSON(): { [k: string]: any };
|
||||
public static getTypeUrl(typeUrlPrefix?: string): string;
|
||||
}
|
||||
|
||||
interface IFullHistorySyncOnDemandRequestMetadata {
|
||||
requestId?: (string|null);
|
||||
businessProduct?: (string|null);
|
||||
opaqueClientData?: (Uint8Array|null);
|
||||
}
|
||||
|
||||
class FullHistorySyncOnDemandRequestMetadata implements IFullHistorySyncOnDemandRequestMetadata {
|
||||
constructor(p?: proto.Message.IFullHistorySyncOnDemandRequestMetadata);
|
||||
public requestId?: (string|null);
|
||||
public businessProduct?: (string|null);
|
||||
public opaqueClientData?: (Uint8Array|null);
|
||||
public static create(properties?: proto.Message.IFullHistorySyncOnDemandRequestMetadata): proto.Message.FullHistorySyncOnDemandRequestMetadata;
|
||||
public static encode(m: proto.Message.IFullHistorySyncOnDemandRequestMetadata, w?: $protobuf.Writer): $protobuf.Writer;
|
||||
public static decode(r: ($protobuf.Reader|Uint8Array), l?: number): proto.Message.FullHistorySyncOnDemandRequestMetadata;
|
||||
@@ -8083,12 +8081,14 @@ export namespace proto {
|
||||
interface IFullHistorySyncOnDemandRequest {
|
||||
requestMetadata?: (proto.Message.IFullHistorySyncOnDemandRequestMetadata|null);
|
||||
historySyncConfig?: (proto.DeviceProps.IHistorySyncConfig|null);
|
||||
fullHistorySyncOnDemandConfig?: (proto.Message.IFullHistorySyncOnDemandConfig|null);
|
||||
}
|
||||
|
||||
class FullHistorySyncOnDemandRequest implements IFullHistorySyncOnDemandRequest {
|
||||
constructor(p?: proto.Message.PeerDataOperationRequestMessage.IFullHistorySyncOnDemandRequest);
|
||||
public requestMetadata?: (proto.Message.IFullHistorySyncOnDemandRequestMetadata|null);
|
||||
public historySyncConfig?: (proto.DeviceProps.IHistorySyncConfig|null);
|
||||
public fullHistorySyncOnDemandConfig?: (proto.Message.IFullHistorySyncOnDemandConfig|null);
|
||||
public static create(properties?: proto.Message.PeerDataOperationRequestMessage.IFullHistorySyncOnDemandRequest): proto.Message.PeerDataOperationRequestMessage.FullHistorySyncOnDemandRequest;
|
||||
public static encode(m: proto.Message.PeerDataOperationRequestMessage.IFullHistorySyncOnDemandRequest, w?: $protobuf.Writer): $protobuf.Writer;
|
||||
public static decode(r: ($protobuf.Reader|Uint8Array), l?: number): proto.Message.PeerDataOperationRequestMessage.FullHistorySyncOnDemandRequest;
|
||||
@@ -8102,6 +8102,8 @@ export namespace proto {
|
||||
type?: (proto.Message.PeerDataOperationRequestMessage.GalaxyFlowAction.GalaxyFlowActionType|null);
|
||||
flowId?: (string|null);
|
||||
stanzaId?: (string|null);
|
||||
galaxyFlowDownloadRequestId?: (string|null);
|
||||
agmId?: (string|null);
|
||||
}
|
||||
|
||||
class GalaxyFlowAction implements IGalaxyFlowAction {
|
||||
@@ -8109,6 +8111,8 @@ export namespace proto {
|
||||
public type?: (proto.Message.PeerDataOperationRequestMessage.GalaxyFlowAction.GalaxyFlowActionType|null);
|
||||
public flowId?: (string|null);
|
||||
public stanzaId?: (string|null);
|
||||
public galaxyFlowDownloadRequestId?: (string|null);
|
||||
public agmId?: (string|null);
|
||||
public static create(properties?: proto.Message.PeerDataOperationRequestMessage.IGalaxyFlowAction): proto.Message.PeerDataOperationRequestMessage.GalaxyFlowAction;
|
||||
public static encode(m: proto.Message.PeerDataOperationRequestMessage.IGalaxyFlowAction, w?: $protobuf.Writer): $protobuf.Writer;
|
||||
public static decode(r: ($protobuf.Reader|Uint8Array), l?: number): proto.Message.PeerDataOperationRequestMessage.GalaxyFlowAction;
|
||||
@@ -8121,7 +8125,8 @@ export namespace proto {
|
||||
namespace GalaxyFlowAction {
|
||||
|
||||
enum GalaxyFlowActionType {
|
||||
NOTIFY_LAUNCH = 1
|
||||
NOTIFY_LAUNCH = 1,
|
||||
DOWNLOAD_RESPONSES = 2
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8275,6 +8280,7 @@ export namespace proto {
|
||||
syncdSnapshotFatalRecoveryResponse?: (proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.ISyncDSnapshotFatalRecoveryResponse|null);
|
||||
companionCanonicalUserNonceFetchRequestResponse?: (proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.ICompanionCanonicalUserNonceFetchResponse|null);
|
||||
historySyncChunkRetryResponse?: (proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.IHistorySyncChunkRetryResponse|null);
|
||||
flowResponsesCsvBundle?: (proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.IFlowResponsesCsvBundle|null);
|
||||
}
|
||||
|
||||
class PeerDataOperationResult implements IPeerDataOperationResult {
|
||||
@@ -8289,6 +8295,7 @@ export namespace proto {
|
||||
public syncdSnapshotFatalRecoveryResponse?: (proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.ISyncDSnapshotFatalRecoveryResponse|null);
|
||||
public companionCanonicalUserNonceFetchRequestResponse?: (proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.ICompanionCanonicalUserNonceFetchResponse|null);
|
||||
public historySyncChunkRetryResponse?: (proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.IHistorySyncChunkRetryResponse|null);
|
||||
public flowResponsesCsvBundle?: (proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.IFlowResponsesCsvBundle|null);
|
||||
public static create(properties?: proto.Message.PeerDataOperationRequestResponseMessage.IPeerDataOperationResult): proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult;
|
||||
public static encode(m: proto.Message.PeerDataOperationRequestResponseMessage.IPeerDataOperationResult, w?: $protobuf.Writer): $protobuf.Writer;
|
||||
public static decode(r: ($protobuf.Reader|Uint8Array), l?: number): proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult;
|
||||
@@ -8336,6 +8343,40 @@ export namespace proto {
|
||||
public static getTypeUrl(typeUrlPrefix?: string): string;
|
||||
}
|
||||
|
||||
interface IFlowResponsesCsvBundle {
|
||||
flowId?: (string|null);
|
||||
galaxyFlowDownloadRequestId?: (string|null);
|
||||
fileName?: (string|null);
|
||||
mimetype?: (string|null);
|
||||
fileSha256?: (Uint8Array|null);
|
||||
mediaKey?: (Uint8Array|null);
|
||||
fileEncSha256?: (Uint8Array|null);
|
||||
directPath?: (string|null);
|
||||
mediaKeyTimestamp?: (number|Long|null);
|
||||
fileLength?: (number|Long|null);
|
||||
}
|
||||
|
||||
class FlowResponsesCsvBundle implements IFlowResponsesCsvBundle {
|
||||
constructor(p?: proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.IFlowResponsesCsvBundle);
|
||||
public flowId?: (string|null);
|
||||
public galaxyFlowDownloadRequestId?: (string|null);
|
||||
public fileName?: (string|null);
|
||||
public mimetype?: (string|null);
|
||||
public fileSha256?: (Uint8Array|null);
|
||||
public mediaKey?: (Uint8Array|null);
|
||||
public fileEncSha256?: (Uint8Array|null);
|
||||
public directPath?: (string|null);
|
||||
public mediaKeyTimestamp?: (number|Long|null);
|
||||
public fileLength?: (number|Long|null);
|
||||
public static create(properties?: proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.IFlowResponsesCsvBundle): proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.FlowResponsesCsvBundle;
|
||||
public static encode(m: proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.IFlowResponsesCsvBundle, w?: $protobuf.Writer): $protobuf.Writer;
|
||||
public static decode(r: ($protobuf.Reader|Uint8Array), l?: number): proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.FlowResponsesCsvBundle;
|
||||
public static fromObject(d: { [k: string]: any }): proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.FlowResponsesCsvBundle;
|
||||
public static toObject(m: proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.FlowResponsesCsvBundle, o?: $protobuf.IConversionOptions): { [k: string]: any };
|
||||
public toJSON(): { [k: string]: any };
|
||||
public static getTypeUrl(typeUrlPrefix?: string): string;
|
||||
}
|
||||
|
||||
interface IFullHistorySyncOnDemandRequestResponse {
|
||||
requestMetadata?: (proto.Message.IFullHistorySyncOnDemandRequestMetadata|null);
|
||||
responseCode?: (proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.FullHistorySyncOnDemandResponseCode|null);
|
||||
@@ -8895,6 +8936,7 @@ export namespace proto {
|
||||
aiQueryFanout?: (proto.IAIQueryFanout|null);
|
||||
memberLabel?: (proto.IMemberLabel|null);
|
||||
aiMediaCollectionMessage?: (proto.IAIMediaCollectionMessage|null);
|
||||
afterReadDurationMs?: (number|null);
|
||||
}
|
||||
|
||||
class ProtocolMessage implements IProtocolMessage {
|
||||
@@ -8924,6 +8966,7 @@ export namespace proto {
|
||||
public aiQueryFanout?: (proto.IAIQueryFanout|null);
|
||||
public memberLabel?: (proto.IMemberLabel|null);
|
||||
public aiMediaCollectionMessage?: (proto.IAIMediaCollectionMessage|null);
|
||||
public afterReadDurationMs?: (number|null);
|
||||
public static create(properties?: proto.Message.IProtocolMessage): proto.Message.ProtocolMessage;
|
||||
public static encode(m: proto.Message.IProtocolMessage, w?: $protobuf.Writer): $protobuf.Writer;
|
||||
public static decode(r: ($protobuf.Reader|Uint8Array), l?: number): proto.Message.ProtocolMessage;
|
||||
@@ -10233,6 +10276,8 @@ export namespace proto {
|
||||
AI_THREAD_RENAME_ACTION = 76,
|
||||
INTERACTIVE_MESSAGE_ACTION = 77,
|
||||
SETTINGS_SYNC_ACTION = 78,
|
||||
OUT_CONTACT_ACTION = 79,
|
||||
NCT_SALT_SYNC_ACTION = 80,
|
||||
SHARE_OWN_PN = 10001,
|
||||
BUSINESS_BROADCAST_ACTION = 10002,
|
||||
AI_THREAD_DELETE_ACTION = 10003
|
||||
@@ -11821,6 +11866,8 @@ export namespace proto {
|
||||
aiThreadRenameAction?: (proto.SyncActionValue.IAiThreadRenameAction|null);
|
||||
interactiveMessageAction?: (proto.SyncActionValue.IInteractiveMessageAction|null);
|
||||
settingsSyncAction?: (proto.SyncActionValue.ISettingsSyncAction|null);
|
||||
outContactAction?: (proto.SyncActionValue.IOutContactAction|null);
|
||||
nctSaltSyncAction?: (proto.SyncActionValue.INctSaltSyncAction|null);
|
||||
}
|
||||
|
||||
class SyncActionValue implements ISyncActionValue {
|
||||
@@ -11894,6 +11941,8 @@ export namespace proto {
|
||||
public aiThreadRenameAction?: (proto.SyncActionValue.IAiThreadRenameAction|null);
|
||||
public interactiveMessageAction?: (proto.SyncActionValue.IInteractiveMessageAction|null);
|
||||
public settingsSyncAction?: (proto.SyncActionValue.ISettingsSyncAction|null);
|
||||
public outContactAction?: (proto.SyncActionValue.IOutContactAction|null);
|
||||
public nctSaltSyncAction?: (proto.SyncActionValue.INctSaltSyncAction|null);
|
||||
public static create(properties?: proto.ISyncActionValue): proto.SyncActionValue;
|
||||
public static encode(m: proto.ISyncActionValue, w?: $protobuf.Writer): $protobuf.Writer;
|
||||
public static decode(r: ($protobuf.Reader|Uint8Array), l?: number): proto.SyncActionValue;
|
||||
@@ -12357,11 +12406,13 @@ export namespace proto {
|
||||
|
||||
interface IInteractiveMessageAction {
|
||||
type?: (proto.SyncActionValue.InteractiveMessageAction.InteractiveMessageActionMode|null);
|
||||
agmId?: (string|null);
|
||||
}
|
||||
|
||||
class InteractiveMessageAction implements IInteractiveMessageAction {
|
||||
constructor(p?: proto.SyncActionValue.IInteractiveMessageAction);
|
||||
public type?: (proto.SyncActionValue.InteractiveMessageAction.InteractiveMessageActionMode|null);
|
||||
public agmId?: (string|null);
|
||||
public static create(properties?: proto.SyncActionValue.IInteractiveMessageAction): proto.SyncActionValue.InteractiveMessageAction;
|
||||
public static encode(m: proto.SyncActionValue.IInteractiveMessageAction, w?: $protobuf.Writer): $protobuf.Writer;
|
||||
public static decode(r: ($protobuf.Reader|Uint8Array), l?: number): proto.SyncActionValue.InteractiveMessageAction;
|
||||
@@ -12690,6 +12741,22 @@ export namespace proto {
|
||||
public static getTypeUrl(typeUrlPrefix?: string): string;
|
||||
}
|
||||
|
||||
interface INctSaltSyncAction {
|
||||
salt?: (Uint8Array|null);
|
||||
}
|
||||
|
||||
class NctSaltSyncAction implements INctSaltSyncAction {
|
||||
constructor(p?: proto.SyncActionValue.INctSaltSyncAction);
|
||||
public salt?: (Uint8Array|null);
|
||||
public static create(properties?: proto.SyncActionValue.INctSaltSyncAction): proto.SyncActionValue.NctSaltSyncAction;
|
||||
public static encode(m: proto.SyncActionValue.INctSaltSyncAction, w?: $protobuf.Writer): $protobuf.Writer;
|
||||
public static decode(r: ($protobuf.Reader|Uint8Array), l?: number): proto.SyncActionValue.NctSaltSyncAction;
|
||||
public static fromObject(d: { [k: string]: any }): proto.SyncActionValue.NctSaltSyncAction;
|
||||
public static toObject(m: proto.SyncActionValue.NctSaltSyncAction, o?: $protobuf.IConversionOptions): { [k: string]: any };
|
||||
public toJSON(): { [k: string]: any };
|
||||
public static getTypeUrl(typeUrlPrefix?: string): string;
|
||||
}
|
||||
|
||||
interface INewsletterSavedInterestsAction {
|
||||
newsletterSavedInterests?: (string|null);
|
||||
}
|
||||
@@ -12780,6 +12847,24 @@ export namespace proto {
|
||||
public static getTypeUrl(typeUrlPrefix?: string): string;
|
||||
}
|
||||
|
||||
interface IOutContactAction {
|
||||
fullName?: (string|null);
|
||||
firstName?: (string|null);
|
||||
}
|
||||
|
||||
class OutContactAction implements IOutContactAction {
|
||||
constructor(p?: proto.SyncActionValue.IOutContactAction);
|
||||
public fullName?: (string|null);
|
||||
public firstName?: (string|null);
|
||||
public static create(properties?: proto.SyncActionValue.IOutContactAction): proto.SyncActionValue.OutContactAction;
|
||||
public static encode(m: proto.SyncActionValue.IOutContactAction, w?: $protobuf.Writer): $protobuf.Writer;
|
||||
public static decode(r: ($protobuf.Reader|Uint8Array), l?: number): proto.SyncActionValue.OutContactAction;
|
||||
public static fromObject(d: { [k: string]: any }): proto.SyncActionValue.OutContactAction;
|
||||
public static toObject(m: proto.SyncActionValue.OutContactAction, o?: $protobuf.IConversionOptions): { [k: string]: any };
|
||||
public toJSON(): { [k: string]: any };
|
||||
public static getTypeUrl(typeUrlPrefix?: string): string;
|
||||
}
|
||||
|
||||
interface IPaymentInfoAction {
|
||||
cpi?: (string|null);
|
||||
}
|
||||
|
||||
+874
-195
File diff suppressed because it is too large
Load Diff
Generated
+31
-67
@@ -11,14 +11,14 @@
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@cacheable/node-cache": "^1.4.0",
|
||||
"@hapi/boom": "^9.1.3",
|
||||
"@hapi/boom": "^10.0.1",
|
||||
"async-mutex": "^0.5.0",
|
||||
"fflate": "^0.8.2",
|
||||
"libsignal": "git+https://github.com/whiskeysockets/libsignal-node",
|
||||
"libsignal": "github:whiskeysockets/libsignal-node",
|
||||
"lru-cache": "^11.1.0",
|
||||
"music-metadata": "^11.7.0",
|
||||
"p-queue": "^9.0.0",
|
||||
"pino": "^9.6",
|
||||
"pino": "^10.3.1",
|
||||
"prom-client": "^15.1.3",
|
||||
"protobufjs": "^7.2.4",
|
||||
"whatsapp-rust-bridge": "0.5.2",
|
||||
@@ -43,7 +43,7 @@
|
||||
"jimp": "^1.6.0",
|
||||
"jiti": "^2.4.2",
|
||||
"json": "^11.0.0",
|
||||
"link-preview-js": "^3.0.0",
|
||||
"link-preview-js": "^4.0.0",
|
||||
"lru-cache": "^11.1.0",
|
||||
"open": "^8.4.2",
|
||||
"pino-pretty": "^13.1.1",
|
||||
@@ -61,9 +61,9 @@
|
||||
"node": ">=20.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"audio-decode": "^2.1.3",
|
||||
"audio-decode": "^2.2.3",
|
||||
"jimp": "^1.6.0",
|
||||
"link-preview-js": "^3.0.0",
|
||||
"link-preview-js": "^4.0.0",
|
||||
"sharp": "*"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
@@ -1296,18 +1296,18 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@hapi/boom": {
|
||||
"version": "9.1.4",
|
||||
"resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-9.1.4.tgz",
|
||||
"integrity": "sha512-Ls1oH8jaN1vNsqcaHVYJrKmgMcKsC1wcp8bujvXrHaAqD2iDYq3HoOwsxwo09Cuda5R5nC0o0IxlrlTuvPuzSw==",
|
||||
"version": "10.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-10.0.1.tgz",
|
||||
"integrity": "sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA==",
|
||||
"license": "BSD-3-Clause",
|
||||
"dependencies": {
|
||||
"@hapi/hoek": "9.x.x"
|
||||
"@hapi/hoek": "^11.0.2"
|
||||
}
|
||||
},
|
||||
"node_modules/@hapi/hoek": {
|
||||
"version": "9.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz",
|
||||
"integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==",
|
||||
"version": "11.0.7",
|
||||
"resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.7.tgz",
|
||||
"integrity": "sha512-HV5undWkKzcB4RZUusqOpcgxOaq6VOAH7zhhIr2g3G8NF/MlFO75SjOr2NfuSx0Mh40+1FqCkagKLJRykUWoFQ==",
|
||||
"license": "BSD-3-Clause"
|
||||
},
|
||||
"node_modules/@humanfs/core": {
|
||||
@@ -10222,14 +10222,13 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/link-preview-js": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/link-preview-js/-/link-preview-js-3.2.0.tgz",
|
||||
"integrity": "sha512-FvrLltjOPGbTzt+RugbzM7g8XuUNLPO2U/INSLczrYdAA32E7nZVUrVL1gr61DGOArGJA2QkPGMEvNMLLsXREA==",
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/link-preview-js/-/link-preview-js-4.0.0.tgz",
|
||||
"integrity": "sha512-KYYiMVOAguIFNdoVGVjd+6cgknv5XHbr1IuRdj3T5EkN7JNaqUh4a1NSCi5FX6zyZzILI55OQA6+YxBAcPY2wA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"cheerio": "1.0.0-rc.11",
|
||||
"url": "0.11.0"
|
||||
"cheerio": "1.0.0-rc.11"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
@@ -11546,31 +11545,31 @@
|
||||
}
|
||||
},
|
||||
"node_modules/pino": {
|
||||
"version": "9.14.0",
|
||||
"resolved": "https://registry.npmjs.org/pino/-/pino-9.14.0.tgz",
|
||||
"integrity": "sha512-8OEwKp5juEvb/MjpIc4hjqfgCNysrS94RIOMXYvpYCdm/jglrKEiAYmiumbmGhCvs+IcInsphYDFwqrjr7398w==",
|
||||
"version": "10.3.1",
|
||||
"resolved": "https://registry.npmjs.org/pino/-/pino-10.3.1.tgz",
|
||||
"integrity": "sha512-r34yH/GlQpKZbU1BvFFqOjhISRo1MNx1tWYsYvmj6KIRHSPMT2+yHOEb1SG6NMvRoHRF0a07kCOox/9yakl1vg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@pinojs/redact": "^0.4.0",
|
||||
"atomic-sleep": "^1.0.0",
|
||||
"on-exit-leak-free": "^2.1.0",
|
||||
"pino-abstract-transport": "^2.0.0",
|
||||
"pino-abstract-transport": "^3.0.0",
|
||||
"pino-std-serializers": "^7.0.0",
|
||||
"process-warning": "^5.0.0",
|
||||
"quick-format-unescaped": "^4.0.3",
|
||||
"real-require": "^0.2.0",
|
||||
"safe-stable-stringify": "^2.3.1",
|
||||
"sonic-boom": "^4.0.1",
|
||||
"thread-stream": "^3.0.0"
|
||||
"thread-stream": "^4.0.0"
|
||||
},
|
||||
"bin": {
|
||||
"pino": "bin.js"
|
||||
}
|
||||
},
|
||||
"node_modules/pino-abstract-transport": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-2.0.0.tgz",
|
||||
"integrity": "sha512-F63x5tizV6WCh4R6RHyi2Ml+M70DNRXt/+HANowMflpgGFMAym/VKm6G7ZOQRjqN7XbGxK1Lg9t6ZrtzOaivMw==",
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-3.0.0.tgz",
|
||||
"integrity": "sha512-wlfUczU+n7Hy/Ha5j9a/gZNy7We5+cXp8YL+X+PG8S0KXxw7n/JXA3c46Y0zQznIJ83URJiwy7Lh56WLokNuxg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"split2": "^4.0.0"
|
||||
@@ -11601,16 +11600,6 @@
|
||||
"pino-pretty": "bin.js"
|
||||
}
|
||||
},
|
||||
"node_modules/pino-pretty/node_modules/pino-abstract-transport": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-3.0.0.tgz",
|
||||
"integrity": "sha512-wlfUczU+n7Hy/Ha5j9a/gZNy7We5+cXp8YL+X+PG8S0KXxw7n/JXA3c46Y0zQznIJ83URJiwy7Lh56WLokNuxg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"split2": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/pino-pretty/node_modules/strip-json-comments": {
|
||||
"version": "5.0.3",
|
||||
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-5.0.3.tgz",
|
||||
@@ -12121,16 +12110,6 @@
|
||||
"node": ">=20"
|
||||
}
|
||||
},
|
||||
"node_modules/querystring": {
|
||||
"version": "0.2.0",
|
||||
"resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
|
||||
"integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==",
|
||||
"deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=0.4.x"
|
||||
}
|
||||
},
|
||||
"node_modules/queue-microtask": {
|
||||
"version": "1.2.3",
|
||||
"resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
|
||||
@@ -13735,12 +13714,15 @@
|
||||
}
|
||||
},
|
||||
"node_modules/thread-stream": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-3.1.0.tgz",
|
||||
"integrity": "sha512-OqyPZ9u96VohAyMfJykzmivOrY2wfMSf3C5TtFJVgN+Hm6aj+voFhlK+kZEIv2FBh1X6Xp3DlnCOfEQ3B2J86A==",
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-4.0.0.tgz",
|
||||
"integrity": "sha512-4iMVL6HAINXWf1ZKZjIPcz5wYaOdPhtO8ATvZ+Xqp3BTdaqtAwQkNmKORqcIo5YkQqGXq5cwfswDwMqqQNrpJA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"real-require": "^0.2.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=20"
|
||||
}
|
||||
},
|
||||
"node_modules/through": {
|
||||
@@ -14434,17 +14416,6 @@
|
||||
"punycode": "^2.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/url": {
|
||||
"version": "0.11.0",
|
||||
"resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
|
||||
"integrity": "sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"punycode": "1.3.2",
|
||||
"querystring": "0.2.0"
|
||||
}
|
||||
},
|
||||
"node_modules/url-join": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/url-join/-/url-join-5.0.0.tgz",
|
||||
@@ -14455,13 +14426,6 @@
|
||||
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/url/node_modules/punycode": {
|
||||
"version": "1.3.2",
|
||||
"resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
|
||||
"integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/utif2": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/utif2/-/utif2-4.1.0.tgz",
|
||||
|
||||
+15
-9
@@ -41,15 +41,18 @@
|
||||
"update:version": "tsx ./scripts/update-version.ts"
|
||||
},
|
||||
"dependencies": {
|
||||
"@cacheable/node-cache": "^1.4.0",
|
||||
"@hapi/boom": "^9.1.3",
|
||||
"@cacheable/node-cache": "^2.0.1",
|
||||
"@hapi/boom": "^10.0.1",
|
||||
"async-mutex": "^0.5.0",
|
||||
"fflate": "^0.8.2",
|
||||
"libsignal": "github:whiskeysockets/libsignal-node",
|
||||
"lru-cache": "^11.2.6",
|
||||
"music-metadata": "^11.12.0",
|
||||
"libsignal": "https://github.com/whiskeysockets/libsignal-node.git",
|
||||
"lru-cache": "^11.1.0",
|
||||
"music-metadata": "^11.7.0",
|
||||
"p-queue": "^9.0.0",
|
||||
"pino": "^9.6",
|
||||
"pino": "^10.3.1",
|
||||
"prom-client": "^15.1.3",
|
||||
"protobufjs": "^7.2.4",
|
||||
"whatsapp-rust-bridge": "0.5.2",
|
||||
@@ -59,7 +62,7 @@
|
||||
"@eslint/eslintrc": "^3.3.1",
|
||||
"@eslint/js": "^9.31.0",
|
||||
"@types/jest": "^30.0.0",
|
||||
"@types/node": "^20.9.0",
|
||||
"@types/node": "^20.19.33",
|
||||
"@types/ws": "^8.0.0",
|
||||
"@typescript-eslint/eslint-plugin": "^8.55.0",
|
||||
"@typescript-eslint/parser": "^8.55.0",
|
||||
@@ -77,21 +80,24 @@
|
||||
"link-preview-js": "^3.0.0",
|
||||
"lru-cache": "^11.2.6",
|
||||
"open": "^8.4.2",
|
||||
"link-preview-js": "^4.0.0",
|
||||
"lru-cache": "^11.1.0",
|
||||
"open": "^11.0.0",
|
||||
"pino-pretty": "^13.1.1",
|
||||
"prettier": "^3.8.1",
|
||||
"protobufjs-cli": "^1.1.3",
|
||||
"release-it": "^15.10.3",
|
||||
"release-it": "^19.2.4",
|
||||
"ts-jest": "^29.4.0",
|
||||
"tsc-esm-fix": "^3.1.2",
|
||||
"tsx": "^4.20.3",
|
||||
"typedoc": "^0.27.9",
|
||||
"typedoc-plugin-markdown": "4.4.2",
|
||||
"typedoc": "^0.28.17",
|
||||
"typedoc-plugin-markdown": "^4.10.0",
|
||||
"typescript": "^5.8.2"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"audio-decode": "^2.1.3",
|
||||
"audio-decode": "^2.2.3",
|
||||
"jimp": "^1.6.0",
|
||||
"link-preview-js": "^3.0.0",
|
||||
"link-preview-js": "^4.0.0",
|
||||
"sharp": "*"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
|
||||
@@ -499,7 +499,12 @@ async function findAppModules() {
|
||||
const decodedProto = Object.keys(decodedProtoMap).sort();
|
||||
const sortedStr = decodedProto.map((d) => decodedProtoMap[d]).join('\n');
|
||||
|
||||
const decodedProtoStr = `syntax = "proto3";\npackage proto;\n\n/// WhatsApp Version: ${whatsAppVersion}\n\n${sortedStr}`;
|
||||
let decodedProtoStr = `syntax = "proto3";\npackage proto;\n\n/// WhatsApp Version: ${whatsAppVersion}\n\n${sortedStr}`;
|
||||
|
||||
// Fix: proto3 doesn't support 'required' keyword (only proto2 does)
|
||||
// Convert all 'required' fields to 'optional' for proto3 compatibility
|
||||
decodedProtoStr = decodedProtoStr.replace(/(\n\s+)required /g, '$1optional ');
|
||||
|
||||
const destinationPath = '../WAProto/WAProto.proto';
|
||||
await fs.writeFile(destinationPath, decodedProtoStr);
|
||||
|
||||
|
||||
@@ -1,3 +1 @@
|
||||
{
|
||||
"version": [2, 3000, 1033381705]
|
||||
}
|
||||
{"version":[2,3000,1033479614]}
|
||||
|
||||
@@ -271,24 +271,33 @@ describe('SessionCleanup', () => {
|
||||
}
|
||||
|
||||
it('should handle exactly 24h for LID orphan (boundary)', async () => {
|
||||
const now = Date.now()
|
||||
const lastActivity = now - 24 * HOUR_MS // Exactly 24h
|
||||
const fixedNow = 1700000000000 // Fixed timestamp to avoid race conditions
|
||||
const lastActivity = fixedNow - 24 * HOUR_MS // Exactly 24h
|
||||
|
||||
// @ts-ignore
|
||||
mockKeys.get.mockResolvedValue({
|
||||
'123456789_2.0': Buffer.from('session-data')
|
||||
})
|
||||
// Mock Date.now() to return consistent value
|
||||
const originalDateNow = Date.now
|
||||
Date.now = jest.fn(() => fixedNow)
|
||||
|
||||
mockLidMapping.getPNForLID.mockResolvedValue(null)
|
||||
try {
|
||||
// @ts-ignore
|
||||
mockKeys.get.mockResolvedValue({
|
||||
'123456789_2.0': Buffer.from('session-data')
|
||||
})
|
||||
|
||||
mockActivityTracker.getAllActivities.mockResolvedValue(new Map([['123456789@lid', lastActivity]]))
|
||||
mockLidMapping.getPNForLID.mockResolvedValue(null)
|
||||
|
||||
const cleanup = makeSessionCleanup(mockKeys, mockLidMapping as any, mockActivityTracker as any, logger, config)
|
||||
mockActivityTracker.getAllActivities.mockResolvedValue(new Map([['123456789@lid', lastActivity]]))
|
||||
|
||||
const stats = await cleanup.runCleanup()
|
||||
const cleanup = makeSessionCleanup(mockKeys, mockLidMapping as any, mockActivityTracker as any, logger, config)
|
||||
|
||||
// Exactly 24h should NOT delete (> threshold, not >=)
|
||||
expect(stats.lidOrphansDeleted).toBe(0)
|
||||
const stats = await cleanup.runCleanup()
|
||||
|
||||
// Exactly 24h should NOT delete (> threshold, not >=)
|
||||
expect(stats.lidOrphansDeleted).toBe(0)
|
||||
} finally {
|
||||
// Restore original Date.now
|
||||
Date.now = originalDateNow
|
||||
}
|
||||
})
|
||||
|
||||
it('should handle empty session list', async () => {
|
||||
|
||||
Reference in New Issue
Block a user