@savoirfairelinux/jami-core 0.1.0

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.
@@ -0,0 +1,165 @@
1
+ /**
2
+ * Signals emitted by the Jami daemon.
3
+ *
4
+ * The definition of signals can be found in `daemon/bin/nodejs/callback.h`.
5
+ */
6
+ export declare enum DataTransferError {
7
+ success = 0,
8
+ unknown = 1,
9
+ io = 2,
10
+ invalid_argument = 3
11
+ }
12
+ /**
13
+ * Signals emitted by the Jami daemon.
14
+ *
15
+ * The definition of signals can be found in `daemon/bin/nodejs/callback.h`.
16
+ */
17
+ export declare enum JamiSignal {
18
+ AccountsChanged = "AccountsChanged",
19
+ AccountDetailsChanged = "AccountDetailsChanged",
20
+ AccountProfileReceived = "AccountProfileReceived",
21
+ RegistrationStateChanged = "RegistrationStateChanged",
22
+ ComposingStatusChanged = "ComposingStatusChanged",
23
+ IncomingTrustRequest = "IncomingTrustRequest",
24
+ ContactAdded = "ContactAdded",
25
+ ContactRemoved = "ContactRemoved",
26
+ ExportOnRingEnded = "ExportOnRingEnded",
27
+ NameRegistrationEnded = "NameRegistrationEnded",
28
+ RegisteredNameFound = "RegisteredNameFound",
29
+ VolatileDetailsChanged = "VolatileDetailsChanged",
30
+ KnownDevicesChanged = "KnownDevicesChanged",
31
+ IncomingAccountMessage = "IncomingAccountMessage",
32
+ AccountMessageStatusChanged = "AccountMessageStatusChanged",
33
+ ProfileReceived = "ProfileReceived",
34
+ DeviceAuthStateChanged = "DeviceAuthStateChanged",
35
+ AddDeviceStateChanged = "AddDeviceStateChanged",
36
+ UserSearchEnded = "UserSearchEnded",
37
+ DeviceRevocationEnded = "DeviceRevocationEnded",
38
+ ClearCache = "ClearCache",
39
+ StateChange = "StateChange",
40
+ IncomingMessage = "IncomingMessage",
41
+ IncomingCall = "IncomingCall",
42
+ IncomingCallWithMedia = "IncomingCallWithMedia",
43
+ MediaChangeRequested = "MediaChangeRequested",
44
+ ConversationLoaded = "ConversationLoaded",
45
+ SwarmLoaded = "SwarmLoaded",
46
+ MessagesFound = "MessagesFound",
47
+ SwarmMessageReceived = "SwarmMessageReceived",
48
+ SwarmMessageUpdated = "SwarmMessageUpdated",
49
+ ReactionAdded = "ReactionAdded",
50
+ ReactionRemoved = "ReactionRemoved",
51
+ ConversationProfileUpdated = "ConversationProfileUpdated",
52
+ ConversationRequestReceived = "ConversationRequestReceived",
53
+ ConversationRequestDeclined = "ConversationRequestDeclined",
54
+ ConversationReady = "ConversationReady",
55
+ ConversationRemoved = "ConversationRemoved",
56
+ ConversationMemberEvent = "ConversationMemberEvent",
57
+ OnConversationError = "OnConversationError",
58
+ OnConferenceInfosUpdated = "OnConferenceInfosUpdated",
59
+ DataTransferEvent = "DataTransferEvent",
60
+ SubscriptionStateChanged = "SubscriptionStateChanged",
61
+ NearbyPeerNotification = "NearbyPeerNotification",
62
+ NewBuddyNotification = "NewBuddyNotification",
63
+ NewServerSubscriptionRequest = "NewServerSubscriptionRequest",
64
+ ServerError = "ServerError"
65
+ }
66
+ export interface Constructable<T> {
67
+ new (): T;
68
+ }
69
+ interface SwigVect<T> {
70
+ size(): number;
71
+ get(index: number): T | undefined;
72
+ }
73
+ interface SwigMap<T, U> {
74
+ keys(): SwigVect<T>;
75
+ get(key: T): U | undefined;
76
+ set(key: T, value: U): void;
77
+ }
78
+ export type StringVect = SwigVect<string>;
79
+ export type StringMap = SwigMap<string, string>;
80
+ export type VectMap = SwigVect<StringMap>;
81
+ export type Blob = SwigVect<number>;
82
+ export declare function stringVectToArray(stringVect: StringVect): string[];
83
+ export declare function stringMapToRecord(stringMap: StringMap): Record<string, string>;
84
+ export declare function vectMapToRecordArray(vectMap: VectMap): Record<string, string>[];
85
+ /**
86
+ * Non-exhaustive list of properties for the SWIG-generated native addon.
87
+ *
88
+ * The full list of methods can be found in SWIG interface files (`.i`) in `daemon/bin/nodejs`.
89
+ */
90
+ export interface JamiSwig {
91
+ init(args: Record<string, unknown>): void;
92
+ fini(): void;
93
+ monitor(continuous: boolean): void;
94
+ clearCache(accountId: string, conversationId: string): void;
95
+ getAccountDetails(accountId: string): StringMap;
96
+ getVolatileAccountDetails(accountId: string): StringMap;
97
+ setAccountDetails(accountId: string, details: StringMap): void;
98
+ addAccount(details: StringMap): string;
99
+ removeAccount(accountId: string): void;
100
+ updateProfile(accountId: string, displayName: string, avatarPath: string, fileType: string, flag: number): void;
101
+ getAccountList(): StringVect;
102
+ sendAccountTextMessage(accountId: string, contactId: string, message: StringMap, flag: number): void;
103
+ lookupName(accountId: string, nameserver: string, username: string): boolean;
104
+ lookupAddress(accountId: string, nameserver: string, address: string): boolean;
105
+ registerName(accountId: string, username: string, scheme: string, password: string): boolean;
106
+ searchUser(accountId: string, query: string): boolean;
107
+ getKnownRingDevices(accountId: string): StringMap;
108
+ revokeDevice(accountId: string, deviceId: string, scheme: string, password: string): boolean;
109
+ addDevice(accountId: string, uri: string): boolean;
110
+ confirmAddDevice(accountId: string, opId: number): boolean;
111
+ cancelAddDevice(accountId: string, opId: number): boolean;
112
+ provideAccountAuthentication(accountId: string, credentials: string, scheme: string): boolean;
113
+ addContact(accountId: string, contactId: string): void;
114
+ removeContact(accountId: string, contactId: string, ban: boolean): void;
115
+ getContacts(accountId: string): VectMap;
116
+ getContactDetails(accountId: string, contactId: string): StringMap;
117
+ sendTrustRequest(accountId: string, to: string, payload: Blob): void;
118
+ acceptTrustRequest(accountId: string, from: string): boolean;
119
+ discardTrustRequest(accountId: string, from: string): boolean;
120
+ getDefaultModerators(accountId: string): StringVect;
121
+ setDefaultModerator(accountId: string, uri: string, state: boolean): void;
122
+ startConversation(accountId: string): string;
123
+ getConversations(accountId: string): StringVect;
124
+ conversationInfos(accountId: string, conversationId: string): StringMap;
125
+ getConversationMembers(accountId: string, conversationId: string): VectMap;
126
+ removeConversation(accountId: string, conversationId: string): void;
127
+ updateConversationInfos(accountId: string, conversationId: string, infos: StringMap): void;
128
+ searchConversation(accountId: string, conversationId: string, author: string, lastId: string, regexSearch: string, type: string, after: number, before: number, maxResult: number, flag: number): boolean;
129
+ getConversationRequests(accountId: string): VectMap;
130
+ acceptConversationRequest(accountId: string, conversationId: string): void;
131
+ declineConversationRequest(accountId: string, conversationId: string): void;
132
+ addConversationMember(accountId: string, conversationId: string, uri: string): void;
133
+ removeConversationMember(accountId: string, conversationId: string, uri: string): void;
134
+ getConversationPreferences(accountId: string, conversationId: string): StringMap;
135
+ setConversationPreferences(accountId: string, conversationId: string, preferences: StringMap): void;
136
+ sendMessage(accountId: string, conversationId: string, message: string, replyTo: string, flag: number): void;
137
+ loadConversationMessages(accountId: string, conversationId: string, fromMessage: string, n: number): number;
138
+ loadConversation(accountId: string, conversationId: string, fromMessage: string, n: number): number;
139
+ loadSwarmUntil(accountId: string, conversationId: string, fromMessage: string, toMessage: string): number;
140
+ setIsComposing(accountId: string, conversationId: string, isWriting: boolean): void;
141
+ setMessageDisplayed(accountId: string, conversationId: string, messageId: string, status: number): boolean;
142
+ getCallList(accountId: string): StringVect;
143
+ getCallDetails(accountId: string, callId: string): StringMap;
144
+ sendFile(accountId: string, conversationId: string, path: string, displayName: string, replyTo: string): void;
145
+ downloadFile(accountId: string, conversationId: string, interactionId: string, fileId: string, path: string): number;
146
+ cancelDataTransfer(accountId: string, conversationId: string, fileId: string): DataTransferError;
147
+ fileTransferInfo(accountId: string, conversationId: string, fileId: string, path_out: string, total_out: number, progress_out: number): DataTransferError;
148
+ publish(accountId: string, status: boolean, note: string): void;
149
+ answerServerRequest(uri: string, flag: boolean): void;
150
+ subscribeBuddy(accountId: string, uri: string, flag: boolean): void;
151
+ getSubscriptions(accountId: string): VectMap;
152
+ setSubscriptions(accountId: string, uris: string[]): void;
153
+ StringMap: Constructable<StringMap>;
154
+ Blob: Constructable<Blob>;
155
+ }
156
+ /**
157
+ * Load the Jami native addon (`jamid.node`) for the current platform.
158
+ *
159
+ * Attempts to load a platform-specific package
160
+ * (e.g. `@savoirfairelinux/jami-core-linux-x64`), which is installed via
161
+ * `optionalDependencies` on matching platforms.
162
+ */
163
+ export declare function loadNativeModule(): JamiSwig;
164
+ export {};
165
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js ADDED
@@ -0,0 +1,150 @@
1
+ /*
2
+ * Copyright (C) 2022-2026 Savoir-faire Linux Inc.
3
+ *
4
+ * This program is free software; you can redistribute it and/or modify
5
+ * it under the terms of the GNU Affero General Public License as
6
+ * published by the Free Software Foundation; either version 3 of the
7
+ * License, or (at your option) any later version.
8
+ *
9
+ * This program is distributed in the hope that it will be useful,
10
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
+ * GNU Affero General Public License for more details.
13
+ *
14
+ * You should have received a copy of the GNU Affero General Public
15
+ * License along with this program. If not, see
16
+ * <https://www.gnu.org/licenses/>.
17
+ */
18
+ /**
19
+ * TypeScript definitions for the Jami daemon SWIG Node.js addon (jamid.node).
20
+ *
21
+ * This module is the single source of truth for SWIG type definitions,
22
+ * conversion helpers, and the JamiSwig interface. Used by both the server
23
+ * and the SDK.
24
+ */
25
+ import { createRequire } from 'node:module';
26
+ /**
27
+ * Signals emitted by the Jami daemon.
28
+ *
29
+ * The definition of signals can be found in `daemon/bin/nodejs/callback.h`.
30
+ */
31
+ export var DataTransferError;
32
+ (function (DataTransferError) {
33
+ DataTransferError[DataTransferError["success"] = 0] = "success";
34
+ DataTransferError[DataTransferError["unknown"] = 1] = "unknown";
35
+ DataTransferError[DataTransferError["io"] = 2] = "io";
36
+ DataTransferError[DataTransferError["invalid_argument"] = 3] = "invalid_argument";
37
+ })(DataTransferError || (DataTransferError = {}));
38
+ /**
39
+ * Signals emitted by the Jami daemon.
40
+ *
41
+ * The definition of signals can be found in `daemon/bin/nodejs/callback.h`.
42
+ */
43
+ export var JamiSignal;
44
+ (function (JamiSignal) {
45
+ // libjami::ConfigurationSignal
46
+ JamiSignal["AccountsChanged"] = "AccountsChanged";
47
+ JamiSignal["AccountDetailsChanged"] = "AccountDetailsChanged";
48
+ JamiSignal["AccountProfileReceived"] = "AccountProfileReceived";
49
+ JamiSignal["RegistrationStateChanged"] = "RegistrationStateChanged";
50
+ JamiSignal["ComposingStatusChanged"] = "ComposingStatusChanged";
51
+ JamiSignal["IncomingTrustRequest"] = "IncomingTrustRequest";
52
+ JamiSignal["ContactAdded"] = "ContactAdded";
53
+ JamiSignal["ContactRemoved"] = "ContactRemoved";
54
+ JamiSignal["ExportOnRingEnded"] = "ExportOnRingEnded";
55
+ JamiSignal["NameRegistrationEnded"] = "NameRegistrationEnded";
56
+ JamiSignal["RegisteredNameFound"] = "RegisteredNameFound";
57
+ JamiSignal["VolatileDetailsChanged"] = "VolatileDetailsChanged";
58
+ JamiSignal["KnownDevicesChanged"] = "KnownDevicesChanged";
59
+ JamiSignal["IncomingAccountMessage"] = "IncomingAccountMessage";
60
+ JamiSignal["AccountMessageStatusChanged"] = "AccountMessageStatusChanged";
61
+ JamiSignal["ProfileReceived"] = "ProfileReceived";
62
+ JamiSignal["DeviceAuthStateChanged"] = "DeviceAuthStateChanged";
63
+ JamiSignal["AddDeviceStateChanged"] = "AddDeviceStateChanged";
64
+ JamiSignal["UserSearchEnded"] = "UserSearchEnded";
65
+ JamiSignal["DeviceRevocationEnded"] = "DeviceRevocationEnded";
66
+ JamiSignal["ClearCache"] = "ClearCache";
67
+ // libjami::CallSignal
68
+ JamiSignal["StateChange"] = "StateChange";
69
+ JamiSignal["IncomingMessage"] = "IncomingMessage";
70
+ JamiSignal["IncomingCall"] = "IncomingCall";
71
+ JamiSignal["IncomingCallWithMedia"] = "IncomingCallWithMedia";
72
+ JamiSignal["MediaChangeRequested"] = "MediaChangeRequested";
73
+ // libjami::ConversationSignal
74
+ JamiSignal["ConversationLoaded"] = "ConversationLoaded";
75
+ JamiSignal["SwarmLoaded"] = "SwarmLoaded";
76
+ JamiSignal["MessagesFound"] = "MessagesFound";
77
+ JamiSignal["SwarmMessageReceived"] = "SwarmMessageReceived";
78
+ JamiSignal["SwarmMessageUpdated"] = "SwarmMessageUpdated";
79
+ JamiSignal["ReactionAdded"] = "ReactionAdded";
80
+ JamiSignal["ReactionRemoved"] = "ReactionRemoved";
81
+ JamiSignal["ConversationProfileUpdated"] = "ConversationProfileUpdated";
82
+ JamiSignal["ConversationRequestReceived"] = "ConversationRequestReceived";
83
+ JamiSignal["ConversationRequestDeclined"] = "ConversationRequestDeclined";
84
+ JamiSignal["ConversationReady"] = "ConversationReady";
85
+ JamiSignal["ConversationRemoved"] = "ConversationRemoved";
86
+ JamiSignal["ConversationMemberEvent"] = "ConversationMemberEvent";
87
+ JamiSignal["OnConversationError"] = "OnConversationError";
88
+ JamiSignal["OnConferenceInfosUpdated"] = "OnConferenceInfosUpdated";
89
+ // libjami::DataTransferSignal
90
+ JamiSignal["DataTransferEvent"] = "DataTransferEvent";
91
+ // libjami::PresenceSignal
92
+ JamiSignal["SubscriptionStateChanged"] = "SubscriptionStateChanged";
93
+ JamiSignal["NearbyPeerNotification"] = "NearbyPeerNotification";
94
+ JamiSignal["NewBuddyNotification"] = "NewBuddyNotification";
95
+ JamiSignal["NewServerSubscriptionRequest"] = "NewServerSubscriptionRequest";
96
+ JamiSignal["ServerError"] = "ServerError";
97
+ })(JamiSignal || (JamiSignal = {}));
98
+ // ── Conversion helpers ──────────────────────────────────────
99
+ function* swigVectToIt(swigVect) {
100
+ const size = swigVect.size();
101
+ for (let i = 0; i < size; i++) {
102
+ yield swigVect.get(i);
103
+ }
104
+ }
105
+ function* swigMapToIt(swigMap) {
106
+ const keys = swigVectToIt(swigMap.keys());
107
+ for (const key of keys) {
108
+ const value = swigMap.get(key);
109
+ yield [key, value];
110
+ }
111
+ }
112
+ export function stringVectToArray(stringVect) {
113
+ return Array.from(swigVectToIt(stringVect));
114
+ }
115
+ export function stringMapToRecord(stringMap) {
116
+ const record = {};
117
+ for (const [key, value] of swigMapToIt(stringMap)) {
118
+ record[key] = value;
119
+ }
120
+ return record;
121
+ }
122
+ export function vectMapToRecordArray(vectMap) {
123
+ const records = [];
124
+ for (const stringMap of swigVectToIt(vectMap)) {
125
+ records.push(stringMapToRecord(stringMap));
126
+ }
127
+ return records;
128
+ }
129
+ // ── Native module loader ────────────────────────────────────
130
+ /**
131
+ * Load the Jami native addon (`jamid.node`) for the current platform.
132
+ *
133
+ * Attempts to load a platform-specific package
134
+ * (e.g. `@savoirfairelinux/jami-core-linux-x64`), which is installed via
135
+ * `optionalDependencies` on matching platforms.
136
+ */
137
+ export function loadNativeModule() {
138
+ const require = createRequire(import.meta.url);
139
+ const platform = process.platform;
140
+ const arch = process.arch;
141
+ const packageName = `@savoirfairelinux/jami-core-${platform}-${arch}`;
142
+ try {
143
+ return require(packageName);
144
+ }
145
+ catch {
146
+ throw new Error(`Jami native module not available for ${platform}-${arch}. ` +
147
+ `Install the platform package: npm install ${packageName}`);
148
+ }
149
+ }
150
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,55 @@
1
+ {
2
+ "name": "@savoirfairelinux/jami-core",
3
+ "version": "0.1.0",
4
+ "description": "Jami daemon Node.js bindings — native SWIG addon with TypeScript types.",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "module": "dist/index.js",
8
+ "types": "dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "import": "./dist/index.js",
12
+ "types": "./dist/index.d.ts"
13
+ }
14
+ },
15
+ "files": [
16
+ "dist",
17
+ "README.md",
18
+ "LICENSE"
19
+ ],
20
+ "scripts": {
21
+ "build": "tsc --build",
22
+ "clean": "rm -rf dist *.tsbuildinfo",
23
+ "prepublishOnly": "npm run clean && npm run build",
24
+ "pack-native": "node scripts/pack-native.mjs",
25
+ "publish-platform": "node scripts/pack-native.mjs && npm publish --workspace npm/$(node -e \"process.stdout.write(process.platform+'-'+process.arch)\")"
26
+ },
27
+ "optionalDependencies": {
28
+ "@savoirfairelinux/jami-core-darwin-arm64": "0.1.0",
29
+ "@savoirfairelinux/jami-core-linux-x64": "0.1.0",
30
+ "@savoirfairelinux/jami-core-linux-arm64": "0.1.0"
31
+ },
32
+ "devDependencies": {
33
+ "typescript": "~5.5.4"
34
+ },
35
+ "license": "GPL-3.0-or-later",
36
+ "repository": {
37
+ "type": "git",
38
+ "url": "https://git.jami.net/savoirfairelinux/jami-web.git",
39
+ "directory": "core"
40
+ },
41
+ "keywords": [
42
+ "jami",
43
+ "daemon",
44
+ "native",
45
+ "swig",
46
+ "peer-to-peer",
47
+ "voip"
48
+ ],
49
+ "engines": {
50
+ "node": ">=18"
51
+ },
52
+ "publishConfig": {
53
+ "access": "public"
54
+ }
55
+ }