@qbraid-core/ibm-cloud 0.9.0 → 0.10.1
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 +1 -1
- package/dist/src/client.d.ts +1 -11
- package/dist/src/client.js +19 -71
- package/dist/src/client.js.map +1 -1
- package/dist/src/config.d.ts +17 -0
- package/dist/src/config.js +89 -0
- package/dist/src/config.js.map +1 -0
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.js +3 -1
- package/dist/src/index.js.map +1 -1
- package/package.json +9 -12
package/README.md
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
[![Stable][preview-stability]](https://qbraid.github.io/qbraid-core-js/#launch-stages)
|
|
6
6
|
[](https://npm.im/@qbraid-core/ibm/cloud)
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
Client for interacting with IBM's Qiskit Runtime Service via the IBM Cloud API.
|
|
9
9
|
|
|
10
10
|
## Installation
|
|
11
11
|
|
package/dist/src/client.d.ts
CHANGED
|
@@ -1,23 +1,13 @@
|
|
|
1
1
|
import { AllDevicesResponse, DeviceProperties, DeviceConfiguration, DeviceErrors, DeviceStatus, JobList, Job, JobMetrics, GetJobParams, APIErrorResponse, JobTranspiledCircuitResponse } from './types';
|
|
2
2
|
export declare class IBMCloudClient {
|
|
3
|
-
private apiKey?;
|
|
4
|
-
private token?;
|
|
5
|
-
private crn;
|
|
6
3
|
private baseUrl;
|
|
7
4
|
private client;
|
|
5
|
+
private configManager;
|
|
8
6
|
constructor({ apiKey, token, crn }: {
|
|
9
7
|
apiKey?: string;
|
|
10
8
|
token?: string;
|
|
11
9
|
crn?: string;
|
|
12
10
|
});
|
|
13
|
-
loadCredsFromFile(): {
|
|
14
|
-
apiKey?: string;
|
|
15
|
-
crn?: string;
|
|
16
|
-
};
|
|
17
|
-
loadCredsFromEnv(): {
|
|
18
|
-
apiKey?: string;
|
|
19
|
-
crn?: string;
|
|
20
|
-
};
|
|
21
11
|
private handleJobRequest;
|
|
22
12
|
getBackends(): Promise<AllDevicesResponse>;
|
|
23
13
|
getBackendProperties(backendName: string, updatedBefore?: string): Promise<DeviceProperties>;
|
package/dist/src/client.js
CHANGED
|
@@ -6,43 +6,33 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
6
6
|
};
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
8
|
exports.IBMCloudClient = void 0;
|
|
9
|
-
const fs_1 = __importDefault(require("fs"));
|
|
10
9
|
const https_1 = require("https");
|
|
11
|
-
const os_1 = __importDefault(require("os"));
|
|
12
|
-
const path_1 = __importDefault(require("path"));
|
|
13
10
|
const axios_1 = __importDefault(require("axios"));
|
|
14
|
-
const
|
|
11
|
+
const config_1 = require("./config");
|
|
15
12
|
class IBMCloudClient {
|
|
16
|
-
apiKey;
|
|
17
|
-
token;
|
|
18
|
-
crn;
|
|
19
13
|
baseUrl;
|
|
20
14
|
client;
|
|
15
|
+
configManager;
|
|
21
16
|
constructor({ apiKey, token, crn }) {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
token = undefined;
|
|
31
|
-
crn = creds.crn;
|
|
32
|
-
}
|
|
33
|
-
if (!apiKey && !token) {
|
|
17
|
+
this.configManager = new config_1.IBMConfigManager();
|
|
18
|
+
if (apiKey)
|
|
19
|
+
this.configManager.setApiKey(apiKey);
|
|
20
|
+
if (token)
|
|
21
|
+
this.configManager.setBearerToken(token);
|
|
22
|
+
if (crn)
|
|
23
|
+
this.configManager.setServiceCRN(crn);
|
|
24
|
+
if (!this.configManager.getApiKey() && !this.configManager.getBearerToken()) {
|
|
34
25
|
throw new Error('Either apiKey or token must be provided');
|
|
35
26
|
}
|
|
36
|
-
if (!
|
|
27
|
+
if (!this.configManager.getServiceCRN()) {
|
|
37
28
|
throw new Error('Service CRN must be provided');
|
|
38
29
|
}
|
|
39
|
-
this.apiKey = apiKey;
|
|
40
|
-
this.token = token;
|
|
41
|
-
this.crn = crn;
|
|
42
30
|
this.baseUrl = 'https://quantum.cloud.ibm.com/api/v1';
|
|
43
31
|
const headers = {
|
|
44
|
-
'Service-CRN': this.
|
|
45
|
-
Authorization: this.
|
|
32
|
+
'Service-CRN': this.configManager.getServiceCRN(),
|
|
33
|
+
Authorization: this.configManager.getApiKey()
|
|
34
|
+
? `apikey ${this.configManager.getApiKey()}`
|
|
35
|
+
: `Bearer ${this.configManager.getBearerToken()}`,
|
|
46
36
|
};
|
|
47
37
|
const axiosInstance = axios_1.default.create({
|
|
48
38
|
baseURL: this.baseUrl,
|
|
@@ -51,51 +41,6 @@ class IBMCloudClient {
|
|
|
51
41
|
});
|
|
52
42
|
this.client = axiosInstance;
|
|
53
43
|
}
|
|
54
|
-
loadCredsFromFile() {
|
|
55
|
-
const filePath = path_1.default.join(homedir, '.qiskit', 'qiskit-ibm.json');
|
|
56
|
-
try {
|
|
57
|
-
if (fs_1.default.existsSync(filePath)) {
|
|
58
|
-
const rawData = fs_1.default.readFileSync(filePath, 'utf-8');
|
|
59
|
-
const parsedData = JSON.parse(rawData);
|
|
60
|
-
// Get the default-ibm-cloud credentials
|
|
61
|
-
if (parsedData['default-ibm-cloud']) {
|
|
62
|
-
const cloudCreds = parsedData['default-ibm-cloud'];
|
|
63
|
-
console.log('Loaded credentials from file');
|
|
64
|
-
return {
|
|
65
|
-
// In the IBM Cloud format, the token is equivalent to apiKey
|
|
66
|
-
apiKey: cloudCreds.token,
|
|
67
|
-
crn: cloudCreds.instance, // The instance field contains the CRN
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
|
-
else {
|
|
71
|
-
console.log('IBM Cloud credentials not found in the file');
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
else {
|
|
75
|
-
console.log('Credentials file not found');
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
catch (error) {
|
|
79
|
-
console.error('Error loading credentials from file: ', error);
|
|
80
|
-
}
|
|
81
|
-
return {};
|
|
82
|
-
}
|
|
83
|
-
loadCredsFromEnv() {
|
|
84
|
-
// Loading account from environment variables
|
|
85
|
-
// Ref : https://github.com/Qiskit/qiskit-ibm-runtime/tree/main?tab=readme-ov-file#loading-account-from-environment-variables
|
|
86
|
-
const apiKey = process.env.QISKIT_IBM_TOKEN;
|
|
87
|
-
const crn = process.env.QISKIT_IBM_INSTANCE;
|
|
88
|
-
if (!apiKey || !crn) {
|
|
89
|
-
console.log('Environment variables not found');
|
|
90
|
-
return {};
|
|
91
|
-
}
|
|
92
|
-
// in this case, token is null
|
|
93
|
-
console.log('Loaded credentials from env');
|
|
94
|
-
return {
|
|
95
|
-
apiKey: apiKey,
|
|
96
|
-
crn: crn,
|
|
97
|
-
};
|
|
98
|
-
}
|
|
99
44
|
async handleJobRequest(request) {
|
|
100
45
|
try {
|
|
101
46
|
const response = await request;
|
|
@@ -133,6 +78,9 @@ class IBMCloudClient {
|
|
|
133
78
|
// 5. GET /backends/:backend_name/errors - get the gate errors of a specific backend
|
|
134
79
|
async getBackendErrors(backendName) {
|
|
135
80
|
const backendProps = await this.getBackendProperties(backendName);
|
|
81
|
+
if (!backendProps.gates || backendProps.gates.length === 0) {
|
|
82
|
+
return { gate_errors: [] };
|
|
83
|
+
}
|
|
136
84
|
const gates = backendProps.gates;
|
|
137
85
|
const gateErrors = {};
|
|
138
86
|
for (let gate of gates) {
|
|
@@ -140,7 +88,7 @@ class IBMCloudClient {
|
|
|
140
88
|
// check if gate is not present
|
|
141
89
|
if (gateErrors[gateName] === undefined) {
|
|
142
90
|
gateErrors[gateName] = {
|
|
143
|
-
name: gate.
|
|
91
|
+
name: gate.gate,
|
|
144
92
|
num_qubits: gate.qubits.length,
|
|
145
93
|
lowest: 1e6,
|
|
146
94
|
highest: 0,
|
package/dist/src/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":";AAAA,8CAA8C;AAC9C,uBAAuB;;;;;;AAEvB,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ConfigManager } from '@qbraid-core/base';
|
|
2
|
+
type IBMConfigData = Record<string, Record<string, string | boolean>>;
|
|
3
|
+
export declare const DEFAULT_IBM_CONFIG_PATH: string;
|
|
4
|
+
declare class IBMConfigManager extends ConfigManager<IBMConfigData> {
|
|
5
|
+
private bearerToken;
|
|
6
|
+
constructor(filePath?: string);
|
|
7
|
+
protected parseConfig(content: string): IBMConfigData;
|
|
8
|
+
protected stringifyConfig(config: IBMConfigData): string;
|
|
9
|
+
protected getDefaultConfig(): IBMConfigData;
|
|
10
|
+
getApiKey(): string;
|
|
11
|
+
setApiKey(apiKey: string): void;
|
|
12
|
+
getServiceCRN(): string;
|
|
13
|
+
setServiceCRN(crn: string): void;
|
|
14
|
+
getBearerToken(): string;
|
|
15
|
+
setBearerToken(token: string): void;
|
|
16
|
+
}
|
|
17
|
+
export { IBMConfigManager };
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) 2025, qBraid Development Team
|
|
3
|
+
// All rights reserved.
|
|
4
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
5
|
+
if (k2 === undefined) k2 = k;
|
|
6
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
7
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
8
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
9
|
+
}
|
|
10
|
+
Object.defineProperty(o, k2, desc);
|
|
11
|
+
}) : (function(o, m, k, k2) {
|
|
12
|
+
if (k2 === undefined) k2 = k;
|
|
13
|
+
o[k2] = m[k];
|
|
14
|
+
}));
|
|
15
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
16
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
17
|
+
}) : function(o, v) {
|
|
18
|
+
o["default"] = v;
|
|
19
|
+
});
|
|
20
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
21
|
+
var ownKeys = function(o) {
|
|
22
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
23
|
+
var ar = [];
|
|
24
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
25
|
+
return ar;
|
|
26
|
+
};
|
|
27
|
+
return ownKeys(o);
|
|
28
|
+
};
|
|
29
|
+
return function (mod) {
|
|
30
|
+
if (mod && mod.__esModule) return mod;
|
|
31
|
+
var result = {};
|
|
32
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
33
|
+
__setModuleDefault(result, mod);
|
|
34
|
+
return result;
|
|
35
|
+
};
|
|
36
|
+
})();
|
|
37
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
|
+
exports.IBMConfigManager = exports.DEFAULT_IBM_CONFIG_PATH = void 0;
|
|
39
|
+
const os = __importStar(require("os"));
|
|
40
|
+
const path = __importStar(require("path"));
|
|
41
|
+
const base_1 = require("@qbraid-core/base");
|
|
42
|
+
exports.DEFAULT_IBM_CONFIG_PATH = path.join(os.homedir(), '.qiskit', 'qiskit-ibm.json');
|
|
43
|
+
class IBMConfigManager extends base_1.ConfigManager {
|
|
44
|
+
// this field is not used in the config file, but is an option which can be used
|
|
45
|
+
// to authenticate with the IBM Quantum API. Needed if user provides it separately
|
|
46
|
+
bearerToken = '';
|
|
47
|
+
constructor(filePath) {
|
|
48
|
+
super(filePath ? filePath : exports.DEFAULT_IBM_CONFIG_PATH);
|
|
49
|
+
}
|
|
50
|
+
parseConfig(content) {
|
|
51
|
+
return JSON.parse(content);
|
|
52
|
+
}
|
|
53
|
+
stringifyConfig(config) {
|
|
54
|
+
return JSON.stringify(config);
|
|
55
|
+
}
|
|
56
|
+
getDefaultConfig() {
|
|
57
|
+
return {
|
|
58
|
+
'default-ibm-cloud': {
|
|
59
|
+
channel: 'ibm_cloud',
|
|
60
|
+
// Loading account from environment variables
|
|
61
|
+
// Ref : https://github.com/Qiskit/qiskit-ibm-runtime/tree/main?tab=readme-ov-file#loading-account-from-environment-variables
|
|
62
|
+
instance: process.env.QISKIT_IBM_INSTANCE ?? '',
|
|
63
|
+
token: process.env.QISKIT_IBM_TOKEN ?? '',
|
|
64
|
+
private_endpoint: false,
|
|
65
|
+
url: 'https://cloud.ibm.com',
|
|
66
|
+
},
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
getApiKey() {
|
|
70
|
+
return this.config['default-ibm-cloud'].token;
|
|
71
|
+
}
|
|
72
|
+
setApiKey(apiKey) {
|
|
73
|
+
this.config['default-ibm-cloud'].token = apiKey;
|
|
74
|
+
}
|
|
75
|
+
getServiceCRN() {
|
|
76
|
+
return this.config['default-ibm-cloud'].instance;
|
|
77
|
+
}
|
|
78
|
+
setServiceCRN(crn) {
|
|
79
|
+
this.config['default-ibm-cloud'].instance = crn;
|
|
80
|
+
}
|
|
81
|
+
getBearerToken() {
|
|
82
|
+
return this.bearerToken;
|
|
83
|
+
}
|
|
84
|
+
setBearerToken(token) {
|
|
85
|
+
this.bearerToken = token;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
exports.IBMConfigManager = IBMConfigManager;
|
|
89
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":";AAAA,8CAA8C;AAC9C,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEvB,uCAAyB;AACzB,2CAA6B;AAE7B,4CAAkD;AAIrC,QAAA,uBAAuB,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC;AAE7F,MAAM,gBAAiB,SAAQ,oBAA4B;IACzD,gFAAgF;IAChF,kFAAkF;IAC1E,WAAW,GAAW,EAAE,CAAC;IAEjC,YAAY,QAAiB;QAC3B,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,+BAAuB,CAAC,CAAC;IACvD,CAAC;IAES,WAAW,CAAC,OAAe;QACnC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAES,eAAe,CAAC,MAAqB;QAC7C,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAES,gBAAgB;QACxB,OAAO;YACL,mBAAmB,EAAE;gBACnB,OAAO,EAAE,WAAW;gBACpB,6CAA6C;gBAC7C,6HAA6H;gBAC7H,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,EAAE;gBAC/C,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE;gBACzC,gBAAgB,EAAE,KAAK;gBACvB,GAAG,EAAE,uBAAuB;aAC7B;SACF,CAAC;IACJ,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,KAAe,CAAC;IAC1D,CAAC;IAEM,SAAS,CAAC,MAAc;QAC7B,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC;IAClD,CAAC;IAEM,aAAa;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,QAAkB,CAAC;IAC7D,CAAC;IAEM,aAAa,CAAC,GAAW;QAC9B,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC;IAClD,CAAC;IAEM,cAAc;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAEM,cAAc,CAAC,KAAa;QACjC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3B,CAAC;CACF;AAEQ,4CAAgB"}
|
package/dist/src/index.d.ts
CHANGED
package/dist/src/index.js
CHANGED
|
@@ -2,10 +2,12 @@
|
|
|
2
2
|
// Copyright (c) 2025, qBraid Development Team
|
|
3
3
|
// All rights reserved.
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.IBMCloudClient = void 0;
|
|
5
|
+
exports.IBMConfigManager = exports.IBMCloudClient = void 0;
|
|
6
6
|
/**
|
|
7
7
|
* @module ibm-cloud
|
|
8
8
|
*/
|
|
9
9
|
var client_1 = require("./client");
|
|
10
10
|
Object.defineProperty(exports, "IBMCloudClient", { enumerable: true, get: function () { return client_1.IBMCloudClient; } });
|
|
11
|
+
var config_1 = require("./config");
|
|
12
|
+
Object.defineProperty(exports, "IBMConfigManager", { enumerable: true, get: function () { return config_1.IBMConfigManager; } });
|
|
11
13
|
//# sourceMappingURL=index.js.map
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,8CAA8C;AAC9C,uBAAuB;;;AAEvB;;GAEG;AACH,mCAA0C;AAAjC,wGAAA,cAAc,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,8CAA8C;AAC9C,uBAAuB;;;AAEvB;;GAEG;AACH,mCAA0C;AAAjC,wGAAA,cAAc,OAAA;AACvB,mCAA4C;AAAnC,0GAAA,gBAAgB,OAAA"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@qbraid-core/ibm-cloud",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.10.1",
|
|
4
4
|
"main": "dist/src/index.js",
|
|
5
5
|
"types": "dist/src/index.d.ts",
|
|
6
|
-
"description": "
|
|
6
|
+
"description": "Client for interacting with IBM's Qiskit Runtime Service via the IBM Cloud API.",
|
|
7
7
|
"author": "qBraid Development Team",
|
|
8
8
|
"license": "Proprietary",
|
|
9
9
|
"files": [
|
|
@@ -13,14 +13,15 @@
|
|
|
13
13
|
"qbraid",
|
|
14
14
|
"qbraid-core",
|
|
15
15
|
"qbraid-core-js",
|
|
16
|
-
"qbraid ibm",
|
|
17
16
|
"qbraid cloud",
|
|
18
|
-
"
|
|
19
|
-
"
|
|
17
|
+
"ibm",
|
|
18
|
+
"ibm cloud",
|
|
19
|
+
"ibm quantum",
|
|
20
|
+
"qiskit",
|
|
21
|
+
"qiskit runtime",
|
|
20
22
|
"cloud",
|
|
21
23
|
"quantum",
|
|
22
|
-
"quantum computing"
|
|
23
|
-
"ibm"
|
|
24
|
+
"quantum computing"
|
|
24
25
|
],
|
|
25
26
|
"repository": {
|
|
26
27
|
"type": "git",
|
|
@@ -30,11 +31,7 @@
|
|
|
30
31
|
"homepage": "https://qbraid.github.io/qbraid-core-js/modules/ibm-cloud.html",
|
|
31
32
|
"dependencies": {
|
|
32
33
|
"axios": "^1.8.2",
|
|
33
|
-
"
|
|
34
|
-
"ini": "^5.0.0"
|
|
35
|
-
},
|
|
36
|
-
"devDependencies": {
|
|
37
|
-
"@types/ini": "^4.1.1"
|
|
34
|
+
"@qbraid-core/base": "0.10.1"
|
|
38
35
|
},
|
|
39
36
|
"scripts": {
|
|
40
37
|
"clean": "rimraf dist tsconfig.tsbuildinfo src/*.js",
|