0g-orbit 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.
- package/dist/cli/cli.d.ts +3 -0
- package/dist/cli/cli.d.ts.map +1 -0
- package/dist/cli/cli.js +59 -0
- package/dist/cli/cli.js.map +1 -0
- package/dist/cli/commands/account.d.ts +6 -0
- package/dist/cli/commands/account.d.ts.map +1 -0
- package/dist/cli/commands/account.js +23 -0
- package/dist/cli/commands/account.js.map +1 -0
- package/dist/cli/commands/inference.d.ts +15 -0
- package/dist/cli/commands/inference.d.ts.map +1 -0
- package/dist/cli/commands/inference.js +70 -0
- package/dist/cli/commands/inference.js.map +1 -0
- package/dist/cli/commands/init.d.ts +7 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +60 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/storage.d.ts +19 -0
- package/dist/cli/commands/storage.d.ts.map +1 -0
- package/dist/cli/commands/storage.js +62 -0
- package/dist/cli/commands/storage.js.map +1 -0
- package/dist/cli/utils.d.ts +4 -0
- package/dist/cli/utils.d.ts.map +1 -0
- package/dist/cli/utils.js +20 -0
- package/dist/cli/utils.js.map +1 -0
- package/dist/errors.d.ts +26 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +51 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -0
- package/dist/inference.d.ts +17 -0
- package/dist/inference.d.ts.map +1 -0
- package/dist/inference.js +179 -0
- package/dist/inference.js.map +1 -0
- package/dist/networks.d.ts +16 -0
- package/dist/networks.d.ts.map +1 -0
- package/dist/networks.js +48 -0
- package/dist/networks.js.map +1 -0
- package/dist/orbit.d.ts +27 -0
- package/dist/orbit.d.ts.map +1 -0
- package/dist/orbit.js +108 -0
- package/dist/orbit.js.map +1 -0
- package/dist/retry.d.ts +23 -0
- package/dist/retry.d.ts.map +1 -0
- package/dist/retry.js +90 -0
- package/dist/retry.js.map +1 -0
- package/dist/storage.d.ts +26 -0
- package/dist/storage.d.ts.map +1 -0
- package/dist/storage.js +121 -0
- package/dist/storage.js.map +1 -0
- package/dist/types.d.ts +81 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/examples/ai-chatbot/index.ts +74 -0
- package/examples/model-registry/index.ts +137 -0
- package/examples/quick-start/index.ts +65 -0
- package/package.json +42 -0
- package/packages/cli/package.json +30 -0
- package/packages/cli/src/cli.ts +69 -0
- package/packages/cli/src/commands/account.ts +29 -0
- package/packages/cli/src/commands/inference.ts +103 -0
- package/packages/cli/src/commands/init.ts +71 -0
- package/packages/cli/src/commands/storage.ts +91 -0
- package/packages/cli/src/utils.ts +21 -0
- package/packages/cli/tsconfig.json +8 -0
- package/packages/core/package.json +35 -0
- package/packages/core/src/errors.test.ts +99 -0
- package/packages/core/src/errors.ts +79 -0
- package/packages/core/src/index.ts +37 -0
- package/packages/core/src/inference.ts +256 -0
- package/packages/core/src/networks.test.ts +62 -0
- package/packages/core/src/networks.ts +62 -0
- package/packages/core/src/orbit.test.ts +153 -0
- package/packages/core/src/orbit.ts +159 -0
- package/packages/core/src/retry.test.ts +99 -0
- package/packages/core/src/retry.ts +99 -0
- package/packages/core/src/storage.test.ts +199 -0
- package/packages/core/src/storage.ts +158 -0
- package/packages/core/src/types.ts +85 -0
- package/packages/core/tsconfig.json +8 -0
- package/packages/core/vitest.config.ts +7 -0
- package/src/cli/cli.ts +69 -0
- package/src/cli/commands/account.ts +29 -0
- package/src/cli/commands/inference.ts +103 -0
- package/src/cli/commands/init.ts +71 -0
- package/src/cli/commands/storage.ts +91 -0
- package/src/cli/utils.ts +21 -0
- package/src/errors.test.ts +99 -0
- package/src/errors.ts +79 -0
- package/src/index.ts +37 -0
- package/src/inference.ts +256 -0
- package/src/networks.test.ts +62 -0
- package/src/networks.ts +62 -0
- package/src/orbit.test.ts +153 -0
- package/src/orbit.ts +159 -0
- package/src/retry.test.ts +99 -0
- package/src/retry.ts +99 -0
- package/src/storage.test.ts +199 -0
- package/src/storage.ts +158 -0
- package/src/types.ts +85 -0
- package/tsconfig.json +20 -0
- package/vitest.config.ts +7 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli/cli.ts"],"names":[],"mappings":""}
|
package/dist/cli/cli.js
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { Command } from 'commander';
|
|
3
|
+
import { storeCommand, storeDataCommand, retrieveCommand } from './commands/storage.js';
|
|
4
|
+
import { inferCommand, listServicesCommand } from './commands/inference.js';
|
|
5
|
+
import { statusCommand } from './commands/account.js';
|
|
6
|
+
import { initCommand } from './commands/init.js';
|
|
7
|
+
const program = new Command();
|
|
8
|
+
program
|
|
9
|
+
.name('orbit')
|
|
10
|
+
.description('The developer toolkit for 0G')
|
|
11
|
+
.version('0.1.0');
|
|
12
|
+
program
|
|
13
|
+
.command('init')
|
|
14
|
+
.description('Initialize a new 0G project')
|
|
15
|
+
.option('-t, --template <name>', 'template to use', 'default')
|
|
16
|
+
.option('-d, --dir <path>', 'directory to create', '.')
|
|
17
|
+
.action(initCommand);
|
|
18
|
+
program
|
|
19
|
+
.command('store <file>')
|
|
20
|
+
.description('Upload a file to 0G Storage')
|
|
21
|
+
.option('-n, --network <name>', 'network (testnet|mainnet)', 'testnet')
|
|
22
|
+
.option('--tags <hex>', 'custom tags (hex string)')
|
|
23
|
+
.option('--replicas <n>', 'number of replicas', '1')
|
|
24
|
+
.action(storeCommand);
|
|
25
|
+
program
|
|
26
|
+
.command('store-data <text>')
|
|
27
|
+
.description('Upload a text string to 0G Storage')
|
|
28
|
+
.option('-n, --network <name>', 'network (testnet|mainnet)', 'testnet')
|
|
29
|
+
.option('--tags <hex>', 'custom tags (hex string)')
|
|
30
|
+
.option('--replicas <n>', 'number of replicas', '1')
|
|
31
|
+
.action(storeDataCommand);
|
|
32
|
+
program
|
|
33
|
+
.command('retrieve <rootHash> <output>')
|
|
34
|
+
.description('Download a file from 0G Storage')
|
|
35
|
+
.option('-n, --network <name>', 'network (testnet|mainnet)', 'testnet')
|
|
36
|
+
.option('--proof', 'verify merkle proofs during download')
|
|
37
|
+
.action(retrieveCommand);
|
|
38
|
+
program
|
|
39
|
+
.command('infer <model>')
|
|
40
|
+
.description('Run AI inference on the 0G Compute Network')
|
|
41
|
+
.option('-n, --network <name>', 'network (testnet|mainnet)', 'testnet')
|
|
42
|
+
.option('-m, --message <text>', 'message to send')
|
|
43
|
+
.option('-s, --system <text>', 'system prompt')
|
|
44
|
+
.option('-t, --temperature <n>', 'sampling temperature', '0.7')
|
|
45
|
+
.option('--max-tokens <n>', 'maximum tokens to generate')
|
|
46
|
+
.option('--provider <address>', 'specific provider address')
|
|
47
|
+
.action(inferCommand);
|
|
48
|
+
program
|
|
49
|
+
.command('services')
|
|
50
|
+
.description('List available AI services on the network')
|
|
51
|
+
.option('-n, --network <name>', 'network (testnet|mainnet)', 'testnet')
|
|
52
|
+
.action(listServicesCommand);
|
|
53
|
+
program
|
|
54
|
+
.command('status')
|
|
55
|
+
.description('Show account status and balance')
|
|
56
|
+
.option('-n, --network <name>', 'network (testnet|mainnet)', 'testnet')
|
|
57
|
+
.action(statusCommand);
|
|
58
|
+
program.parse();
|
|
59
|
+
//# sourceMappingURL=cli.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvF,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAEhD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;AAE7B,OAAO;KACF,IAAI,CAAC,OAAO,CAAC;KACb,WAAW,CAAC,8BAA8B,CAAC;KAC3C,OAAO,CAAC,OAAO,CAAC,CAAA;AAErB,OAAO;KACF,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,6BAA6B,CAAC;KAC1C,MAAM,CAAC,uBAAuB,EAAE,iBAAiB,EAAE,SAAS,CAAC;KAC7D,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,EAAE,GAAG,CAAC;KACtD,MAAM,CAAC,WAAW,CAAC,CAAA;AAExB,OAAO;KACF,OAAO,CAAC,cAAc,CAAC;KACvB,WAAW,CAAC,6BAA6B,CAAC;KAC1C,MAAM,CAAC,sBAAsB,EAAE,2BAA2B,EAAE,SAAS,CAAC;KACtE,MAAM,CAAC,cAAc,EAAE,0BAA0B,CAAC;KAClD,MAAM,CAAC,gBAAgB,EAAE,oBAAoB,EAAE,GAAG,CAAC;KACnD,MAAM,CAAC,YAAY,CAAC,CAAA;AAEzB,OAAO;KACF,OAAO,CAAC,mBAAmB,CAAC;KAC5B,WAAW,CAAC,oCAAoC,CAAC;KACjD,MAAM,CAAC,sBAAsB,EAAE,2BAA2B,EAAE,SAAS,CAAC;KACtE,MAAM,CAAC,cAAc,EAAE,0BAA0B,CAAC;KAClD,MAAM,CAAC,gBAAgB,EAAE,oBAAoB,EAAE,GAAG,CAAC;KACnD,MAAM,CAAC,gBAAgB,CAAC,CAAA;AAE7B,OAAO;KACF,OAAO,CAAC,8BAA8B,CAAC;KACvC,WAAW,CAAC,iCAAiC,CAAC;KAC9C,MAAM,CAAC,sBAAsB,EAAE,2BAA2B,EAAE,SAAS,CAAC;KACtE,MAAM,CAAC,SAAS,EAAE,sCAAsC,CAAC;KACzD,MAAM,CAAC,eAAe,CAAC,CAAA;AAE5B,OAAO;KACF,OAAO,CAAC,eAAe,CAAC;KACxB,WAAW,CAAC,4CAA4C,CAAC;KACzD,MAAM,CAAC,sBAAsB,EAAE,2BAA2B,EAAE,SAAS,CAAC;KACtE,MAAM,CAAC,sBAAsB,EAAE,iBAAiB,CAAC;KACjD,MAAM,CAAC,qBAAqB,EAAE,eAAe,CAAC;KAC9C,MAAM,CAAC,uBAAuB,EAAE,sBAAsB,EAAE,KAAK,CAAC;KAC9D,MAAM,CAAC,kBAAkB,EAAE,4BAA4B,CAAC;KACxD,MAAM,CAAC,sBAAsB,EAAE,2BAA2B,CAAC;KAC3D,MAAM,CAAC,YAAY,CAAC,CAAA;AAEzB,OAAO;KACF,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,2CAA2C,CAAC;KACxD,MAAM,CAAC,sBAAsB,EAAE,2BAA2B,EAAE,SAAS,CAAC;KACtE,MAAM,CAAC,mBAAmB,CAAC,CAAA;AAEhC,OAAO;KACF,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,iCAAiC,CAAC;KAC9C,MAAM,CAAC,sBAAsB,EAAE,2BAA2B,EAAE,SAAS,CAAC;KACtE,MAAM,CAAC,aAAa,CAAC,CAAA;AAE1B,OAAO,CAAC,KAAK,EAAE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/account.ts"],"names":[],"mappings":"AAIA,UAAU,UAAU;IAChB,OAAO,EAAE,MAAM,CAAA;CAClB;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,UAAU,iBAoBnD"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import ora from 'ora';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import { connectOrbit, formatError } from '../utils.js';
|
|
4
|
+
export async function statusCommand(opts) {
|
|
5
|
+
const spinner = ora('Checking status...').start();
|
|
6
|
+
try {
|
|
7
|
+
const orbit = await connectOrbit(opts.network);
|
|
8
|
+
const status = await orbit.status();
|
|
9
|
+
spinner.stop();
|
|
10
|
+
console.log();
|
|
11
|
+
console.log(chalk.bold(' 0G Orbit'));
|
|
12
|
+
console.log(` ${chalk.dim('Network:')} ${status.network}`);
|
|
13
|
+
console.log(` ${chalk.dim('Address:')} ${status.address}`);
|
|
14
|
+
console.log(` ${chalk.dim('Balance:')} ${chalk.cyan(status.balance)} OG`);
|
|
15
|
+
console.log();
|
|
16
|
+
}
|
|
17
|
+
catch (err) {
|
|
18
|
+
spinner.fail(chalk.red('Failed to get status'));
|
|
19
|
+
console.error(chalk.dim(` ${formatError(err)}`));
|
|
20
|
+
process.exit(1);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=account.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"account.js","sourceRoot":"","sources":["../../../src/cli/commands/account.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAA;AACrB,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAMvD,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAgB;IAChD,MAAM,OAAO,GAAG,GAAG,CAAC,oBAAoB,CAAC,CAAC,KAAK,EAAE,CAAA;IAEjD,IAAI,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC9C,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,CAAA;QAEnC,OAAO,CAAC,IAAI,EAAE,CAAA;QAEd,OAAO,CAAC,GAAG,EAAE,CAAA;QACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAA;QACrC,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC,CAAA;QAC5D,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC,CAAA;QAC5D,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAC3E,OAAO,CAAC,GAAG,EAAE,CAAA;IACjB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAA;QAC/C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;QACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACnB,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
interface InferOpts {
|
|
2
|
+
network: string;
|
|
3
|
+
message?: string;
|
|
4
|
+
system?: string;
|
|
5
|
+
temperature: string;
|
|
6
|
+
maxTokens?: string;
|
|
7
|
+
provider?: string;
|
|
8
|
+
}
|
|
9
|
+
export declare function inferCommand(model: string, opts: InferOpts): Promise<void>;
|
|
10
|
+
interface ServicesOpts {
|
|
11
|
+
network: string;
|
|
12
|
+
}
|
|
13
|
+
export declare function listServicesCommand(opts: ServicesOpts): Promise<void>;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=inference.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inference.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/inference.ts"],"names":[],"mappings":"AAIA,UAAU,SAAS;IACf,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,wBAAsB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,iBA+ChE;AAED,UAAU,YAAY;IAClB,OAAO,EAAE,MAAM,CAAA;CAClB;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,YAAY,iBAoC3D"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import ora from 'ora';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import { connectOrbit, formatError } from '../utils.js';
|
|
4
|
+
export async function inferCommand(model, opts) {
|
|
5
|
+
if (!opts.message) {
|
|
6
|
+
console.error(chalk.red('Error: --message is required'));
|
|
7
|
+
console.error(chalk.dim(' orbit infer meta-llama/Llama-3.3-70B -m "Hello!"'));
|
|
8
|
+
process.exit(1);
|
|
9
|
+
}
|
|
10
|
+
const spinner = ora('Connecting to 0G...').start();
|
|
11
|
+
try {
|
|
12
|
+
const orbit = await connectOrbit(opts.network);
|
|
13
|
+
spinner.text = `Sending to ${model}...`;
|
|
14
|
+
const messages = [];
|
|
15
|
+
if (opts.system) {
|
|
16
|
+
messages.push({ role: 'system', content: opts.system });
|
|
17
|
+
}
|
|
18
|
+
messages.push({ role: 'user', content: opts.message });
|
|
19
|
+
const result = await orbit.infer(model, {
|
|
20
|
+
messages,
|
|
21
|
+
temperature: parseFloat(opts.temperature),
|
|
22
|
+
maxTokens: opts.maxTokens ? parseInt(opts.maxTokens, 10) : undefined,
|
|
23
|
+
provider: opts.provider,
|
|
24
|
+
});
|
|
25
|
+
spinner.succeed('Response received');
|
|
26
|
+
console.log();
|
|
27
|
+
console.log(result.content);
|
|
28
|
+
console.log();
|
|
29
|
+
if (result.usage) {
|
|
30
|
+
console.log(chalk.dim(` tokens: ${result.usage.promptTokens} in / ${result.usage.completionTokens} out` +
|
|
31
|
+
` | model: ${result.model}` +
|
|
32
|
+
(result.verified !== null
|
|
33
|
+
? ` | verified: ${result.verified ? chalk.green('yes') : chalk.red('no')}`
|
|
34
|
+
: '')));
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
catch (err) {
|
|
38
|
+
spinner.fail(chalk.red('Inference failed'));
|
|
39
|
+
console.error(chalk.dim(` ${formatError(err)}`));
|
|
40
|
+
process.exit(1);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
export async function listServicesCommand(opts) {
|
|
44
|
+
const spinner = ora('Fetching services...').start();
|
|
45
|
+
try {
|
|
46
|
+
const orbit = await connectOrbit(opts.network);
|
|
47
|
+
const services = await orbit.listServices();
|
|
48
|
+
spinner.stop();
|
|
49
|
+
if (services.length === 0) {
|
|
50
|
+
console.log(chalk.dim('No services found on this network.'));
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
console.log(chalk.bold(`\n ${services.length} services on ${opts.network}\n`));
|
|
54
|
+
for (const svc of services) {
|
|
55
|
+
const verTag = svc.verifiable
|
|
56
|
+
? chalk.green(' [TEE]')
|
|
57
|
+
: '';
|
|
58
|
+
console.log(` ${chalk.cyan(svc.model)}${verTag}`);
|
|
59
|
+
console.log(chalk.dim(` provider: ${svc.provider.slice(0, 10)}...${svc.provider.slice(-6)}` +
|
|
60
|
+
` | in: ${svc.inputPrice} neuron | out: ${svc.outputPrice} neuron`));
|
|
61
|
+
}
|
|
62
|
+
console.log();
|
|
63
|
+
}
|
|
64
|
+
catch (err) {
|
|
65
|
+
spinner.fail(chalk.red('Failed to list services'));
|
|
66
|
+
console.error(chalk.dim(` ${formatError(err)}`));
|
|
67
|
+
process.exit(1);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=inference.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inference.js","sourceRoot":"","sources":["../../../src/cli/commands/inference.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAIA,UAAU,QAAQ;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;CACd;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,QAAQ,iBA6D/C"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import { writeFileSync, mkdirSync, existsSync } from 'node:fs';
|
|
3
|
+
import { join, resolve } from 'node:path';
|
|
4
|
+
export async function initCommand(opts) {
|
|
5
|
+
const dir = resolve(opts.dir);
|
|
6
|
+
if (!existsSync(dir)) {
|
|
7
|
+
mkdirSync(dir, { recursive: true });
|
|
8
|
+
}
|
|
9
|
+
// Create package.json
|
|
10
|
+
const pkg = {
|
|
11
|
+
name: 'my-0g-app',
|
|
12
|
+
version: '0.1.0',
|
|
13
|
+
type: 'module',
|
|
14
|
+
scripts: {
|
|
15
|
+
start: 'node index.js',
|
|
16
|
+
},
|
|
17
|
+
dependencies: {
|
|
18
|
+
'0g-orbit': '^0.1.0',
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
writeFileSync(join(dir, 'package.json'), JSON.stringify(pkg, null, 2) + '\n');
|
|
22
|
+
// Create index.js with example
|
|
23
|
+
const example = `import { Orbit } from '0g-orbit'
|
|
24
|
+
|
|
25
|
+
const orbit = await Orbit.connect({
|
|
26
|
+
network: 'testnet',
|
|
27
|
+
privateKey: process.env.PRIVATE_KEY,
|
|
28
|
+
})
|
|
29
|
+
|
|
30
|
+
// Check account status
|
|
31
|
+
const status = await orbit.status()
|
|
32
|
+
console.log(\`Connected: \${status.address} on \${status.network}\`)
|
|
33
|
+
console.log(\`Balance: \${status.balance} OG\`)
|
|
34
|
+
|
|
35
|
+
// Upload a file
|
|
36
|
+
// const { root } = await orbit.store('./my-file.txt')
|
|
37
|
+
// console.log('Stored at:', root)
|
|
38
|
+
|
|
39
|
+
// Run inference
|
|
40
|
+
// const result = await orbit.infer('meta-llama/Llama-3.3-70B', {
|
|
41
|
+
// messages: [{ role: 'user', content: 'What is 0G?' }],
|
|
42
|
+
// })
|
|
43
|
+
// console.log(result.content)
|
|
44
|
+
`;
|
|
45
|
+
writeFileSync(join(dir, 'index.js'), example);
|
|
46
|
+
// Create .env.example
|
|
47
|
+
writeFileSync(join(dir, '.env.example'), 'PRIVATE_KEY=0x...\n');
|
|
48
|
+
// Create .gitignore
|
|
49
|
+
writeFileSync(join(dir, '.gitignore'), 'node_modules/\n.env\n');
|
|
50
|
+
console.log();
|
|
51
|
+
console.log(chalk.bold(' 0G Orbit project initialized'));
|
|
52
|
+
console.log();
|
|
53
|
+
console.log(chalk.dim(' Next steps:'));
|
|
54
|
+
console.log(` 1. ${chalk.cyan('cd ' + (opts.dir === '.' ? '.' : opts.dir))}`);
|
|
55
|
+
console.log(` 2. ${chalk.cyan('cp .env.example .env')} and add your private key`);
|
|
56
|
+
console.log(` 3. ${chalk.cyan('npm install')}`);
|
|
57
|
+
console.log(` 4. ${chalk.cyan('node index.js')}`);
|
|
58
|
+
console.log();
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=init.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAC9D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAOzC,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAc;IAC5C,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAE7B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACnB,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACvC,CAAC;IAED,sBAAsB;IACtB,MAAM,GAAG,GAAG;QACR,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE;YACL,KAAK,EAAE,eAAe;SACzB;QACD,YAAY,EAAE;YACV,UAAU,EAAE,QAAQ;SACvB;KACJ,CAAA;IACD,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;IAE7E,+BAA+B;IAC/B,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;CAqBnB,CAAA;IACG,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,CAAA;IAE7C,sBAAsB;IACtB,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,qBAAqB,CAAC,CAAA;IAE/D,oBAAoB;IACpB,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,EAAE,uBAAuB,CAAC,CAAA;IAE/D,OAAO,CAAC,GAAG,EAAE,CAAA;IACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC,CAAA;IACzD,OAAO,CAAC,GAAG,EAAE,CAAA;IACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAA;IACvC,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAA;IAC9E,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,2BAA2B,CAAC,CAAA;IAClF,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;IAChD,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAA;IAClD,OAAO,CAAC,GAAG,EAAE,CAAA;AACjB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
interface StoreOpts {
|
|
2
|
+
network: string;
|
|
3
|
+
tags?: string;
|
|
4
|
+
replicas: string;
|
|
5
|
+
}
|
|
6
|
+
export declare function storeCommand(file: string, opts: StoreOpts): Promise<void>;
|
|
7
|
+
interface StoreDataOpts {
|
|
8
|
+
network: string;
|
|
9
|
+
tags?: string;
|
|
10
|
+
replicas: string;
|
|
11
|
+
}
|
|
12
|
+
export declare function storeDataCommand(text: string, opts: StoreDataOpts): Promise<void>;
|
|
13
|
+
interface RetrieveOpts {
|
|
14
|
+
network: string;
|
|
15
|
+
proof?: boolean;
|
|
16
|
+
}
|
|
17
|
+
export declare function retrieveCommand(rootHash: string, output: string, opts: RetrieveOpts): Promise<void>;
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=storage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/storage.ts"],"names":[],"mappings":"AAIA,UAAU,SAAS;IACf,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;CACnB;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,iBAuB/D;AAED,UAAU,aAAa;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;CACnB;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,iBAuBvE;AAED,UAAU,YAAY;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,wBAAsB,eAAe,CACjC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,YAAY,iBAgBrB"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import ora from 'ora';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import { connectOrbit, formatError } from '../utils.js';
|
|
4
|
+
export async function storeCommand(file, opts) {
|
|
5
|
+
const spinner = ora('Connecting to 0G...').start();
|
|
6
|
+
try {
|
|
7
|
+
const orbit = await connectOrbit(opts.network);
|
|
8
|
+
spinner.text = `Uploading ${file}...`;
|
|
9
|
+
const result = await orbit.store(file, {
|
|
10
|
+
tags: opts.tags,
|
|
11
|
+
replicas: parseInt(opts.replicas, 10),
|
|
12
|
+
});
|
|
13
|
+
spinner.succeed('Upload complete');
|
|
14
|
+
console.log();
|
|
15
|
+
console.log(chalk.bold(' Root hash: ') + chalk.cyan(result.root));
|
|
16
|
+
console.log(chalk.bold(' Tx hash: ') + chalk.dim(result.txHash));
|
|
17
|
+
console.log();
|
|
18
|
+
console.log(chalk.dim(` Retrieve with: orbit retrieve ${result.root} ./output`));
|
|
19
|
+
}
|
|
20
|
+
catch (err) {
|
|
21
|
+
spinner.fail(chalk.red('Upload failed'));
|
|
22
|
+
console.error(chalk.dim(` ${formatError(err)}`));
|
|
23
|
+
process.exit(1);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
export async function storeDataCommand(text, opts) {
|
|
27
|
+
const spinner = ora('Connecting to 0G...').start();
|
|
28
|
+
try {
|
|
29
|
+
const orbit = await connectOrbit(opts.network);
|
|
30
|
+
spinner.text = 'Uploading data...';
|
|
31
|
+
const result = await orbit.storeData(text, {
|
|
32
|
+
tags: opts.tags,
|
|
33
|
+
replicas: parseInt(opts.replicas, 10),
|
|
34
|
+
});
|
|
35
|
+
spinner.succeed('Upload complete');
|
|
36
|
+
console.log();
|
|
37
|
+
console.log(chalk.bold(' Root hash: ') + chalk.cyan(result.root));
|
|
38
|
+
console.log(chalk.bold(' Tx hash: ') + chalk.dim(result.txHash));
|
|
39
|
+
console.log();
|
|
40
|
+
console.log(chalk.dim(` Retrieve with: orbit retrieve ${result.root} ./output`));
|
|
41
|
+
}
|
|
42
|
+
catch (err) {
|
|
43
|
+
spinner.fail(chalk.red('Upload failed'));
|
|
44
|
+
console.error(chalk.dim(` ${formatError(err)}`));
|
|
45
|
+
process.exit(1);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
export async function retrieveCommand(rootHash, output, opts) {
|
|
49
|
+
const spinner = ora('Connecting to 0G...').start();
|
|
50
|
+
try {
|
|
51
|
+
const orbit = await connectOrbit(opts.network);
|
|
52
|
+
spinner.text = `Downloading to ${output}...`;
|
|
53
|
+
await orbit.retrieve(rootHash, output, { proof: opts.proof });
|
|
54
|
+
spinner.succeed(`Downloaded to ${output}`);
|
|
55
|
+
}
|
|
56
|
+
catch (err) {
|
|
57
|
+
spinner.fail(chalk.red('Download failed'));
|
|
58
|
+
console.error(chalk.dim(` ${formatError(err)}`));
|
|
59
|
+
process.exit(1);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=storage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/cli/commands/storage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/cli/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAc,MAAM,aAAa,CAAA;AAI/C,wBAAsB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAIlE;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAUhD"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Orbit, OrbitError } from '../index.js';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
export async function connectOrbit(network) {
|
|
4
|
+
return Orbit.connect({
|
|
5
|
+
network: network,
|
|
6
|
+
});
|
|
7
|
+
}
|
|
8
|
+
export function formatError(err) {
|
|
9
|
+
if (err instanceof OrbitError) {
|
|
10
|
+
let msg = err.message;
|
|
11
|
+
if (err.suggestion) {
|
|
12
|
+
msg += '\n ' + chalk.yellow('Hint: ') + err.suggestion;
|
|
13
|
+
}
|
|
14
|
+
return msg;
|
|
15
|
+
}
|
|
16
|
+
if (err instanceof Error)
|
|
17
|
+
return err.message;
|
|
18
|
+
return String(err);
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/cli/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAE/C,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAe;IAC9C,OAAO,KAAK,CAAC,OAAO,CAAC;QACjB,OAAO,EAAE,OAAsB;KAClC,CAAC,CAAA;AACN,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAY;IACpC,IAAI,GAAG,YAAY,UAAU,EAAE,CAAC;QAC5B,IAAI,GAAG,GAAG,GAAG,CAAC,OAAO,CAAA;QACrB,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;YACjB,GAAG,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,UAAU,CAAA;QAC3D,CAAC;QACD,OAAO,GAAG,CAAA;IACd,CAAC;IACD,IAAI,GAAG,YAAY,KAAK;QAAE,OAAO,GAAG,CAAC,OAAO,CAAA;IAC5C,OAAO,MAAM,CAAC,GAAG,CAAC,CAAA;AACtB,CAAC"}
|
package/dist/errors.d.ts
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export declare class OrbitError extends Error {
|
|
2
|
+
readonly code: string;
|
|
3
|
+
readonly suggestion?: string | undefined;
|
|
4
|
+
constructor(message: string, code: string, suggestion?: string | undefined);
|
|
5
|
+
}
|
|
6
|
+
export declare class ConnectionError extends OrbitError {
|
|
7
|
+
constructor(message: string, suggestion?: string);
|
|
8
|
+
}
|
|
9
|
+
export declare class StorageError extends OrbitError {
|
|
10
|
+
constructor(message: string, suggestion?: string);
|
|
11
|
+
}
|
|
12
|
+
export declare class InferenceError extends OrbitError {
|
|
13
|
+
constructor(message: string, suggestion?: string);
|
|
14
|
+
}
|
|
15
|
+
export declare class InsufficientBalanceError extends OrbitError {
|
|
16
|
+
readonly required: number;
|
|
17
|
+
readonly available: number;
|
|
18
|
+
constructor(required: number, available: number);
|
|
19
|
+
}
|
|
20
|
+
export declare class ProviderNotFoundError extends OrbitError {
|
|
21
|
+
constructor(message: string);
|
|
22
|
+
}
|
|
23
|
+
export declare class TimeoutError extends OrbitError {
|
|
24
|
+
constructor(message: string);
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,UAAW,SAAQ,KAAK;aAGb,IAAI,EAAE,MAAM;aACZ,UAAU,CAAC,EAAE,MAAM;gBAFnC,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,MAAM,YAAA;CAK1C;AAED,qBAAa,eAAgB,SAAQ,UAAU;gBAC/B,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;CAQnD;AAED,qBAAa,YAAa,SAAQ,UAAU;gBAC5B,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;CAQnD;AAED,qBAAa,cAAe,SAAQ,UAAU;gBAC9B,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;CAQnD;AAED,qBAAa,wBAAyB,SAAQ,UAAU;aAEhC,QAAQ,EAAE,MAAM;aAChB,SAAS,EAAE,MAAM;gBADjB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM;CASxC;AAED,qBAAa,qBAAsB,SAAQ,UAAU;gBACrC,OAAO,EAAE,MAAM;CAQ9B;AAED,qBAAa,YAAa,SAAQ,UAAU;gBAC5B,OAAO,EAAE,MAAM;CAQ9B"}
|
package/dist/errors.js
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
export class OrbitError extends Error {
|
|
2
|
+
code;
|
|
3
|
+
suggestion;
|
|
4
|
+
constructor(message, code, suggestion) {
|
|
5
|
+
super(message);
|
|
6
|
+
this.code = code;
|
|
7
|
+
this.suggestion = suggestion;
|
|
8
|
+
this.name = 'OrbitError';
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
export class ConnectionError extends OrbitError {
|
|
12
|
+
constructor(message, suggestion) {
|
|
13
|
+
super(message, 'CONNECTION_ERROR', suggestion ?? 'Check your RPC URL and network connection. Try a different RPC endpoint with the rpcUrl option.');
|
|
14
|
+
this.name = 'ConnectionError';
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
export class StorageError extends OrbitError {
|
|
18
|
+
constructor(message, suggestion) {
|
|
19
|
+
super(message, 'STORAGE_ERROR', suggestion ?? 'Check that your file exists and you have sufficient OG balance for gas fees.');
|
|
20
|
+
this.name = 'StorageError';
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
export class InferenceError extends OrbitError {
|
|
24
|
+
constructor(message, suggestion) {
|
|
25
|
+
super(message, 'INFERENCE_ERROR', suggestion ?? 'Run orbit.listServices() to check available models and provider status.');
|
|
26
|
+
this.name = 'InferenceError';
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
export class InsufficientBalanceError extends OrbitError {
|
|
30
|
+
required;
|
|
31
|
+
available;
|
|
32
|
+
constructor(required, available) {
|
|
33
|
+
super(`Insufficient balance: need ${required} OG but have ${available} OG`, 'INSUFFICIENT_BALANCE', 'Get testnet OG from the faucet: https://faucet.0g.ai');
|
|
34
|
+
this.required = required;
|
|
35
|
+
this.available = available;
|
|
36
|
+
this.name = 'InsufficientBalanceError';
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
export class ProviderNotFoundError extends OrbitError {
|
|
40
|
+
constructor(message) {
|
|
41
|
+
super(message, 'PROVIDER_NOT_FOUND', 'Run orbit.listServices() to see available models and their providers.');
|
|
42
|
+
this.name = 'ProviderNotFoundError';
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
export class TimeoutError extends OrbitError {
|
|
46
|
+
constructor(message) {
|
|
47
|
+
super(message, 'TIMEOUT', 'The request timed out. Try increasing the timeout option or check if the provider is responsive.');
|
|
48
|
+
this.name = 'TimeoutError';
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,UAAW,SAAQ,KAAK;IAGb;IACA;IAHpB,YACI,OAAe,EACC,IAAY,EACZ,UAAmB;QAEnC,KAAK,CAAC,OAAO,CAAC,CAAA;QAHE,SAAI,GAAJ,IAAI,CAAQ;QACZ,eAAU,GAAV,UAAU,CAAS;QAGnC,IAAI,CAAC,IAAI,GAAG,YAAY,CAAA;IAC5B,CAAC;CACJ;AAED,MAAM,OAAO,eAAgB,SAAQ,UAAU;IAC3C,YAAY,OAAe,EAAE,UAAmB;QAC5C,KAAK,CACD,OAAO,EACP,kBAAkB,EAClB,UAAU,IAAI,iGAAiG,CAClH,CAAA;QACD,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAA;IACjC,CAAC;CACJ;AAED,MAAM,OAAO,YAAa,SAAQ,UAAU;IACxC,YAAY,OAAe,EAAE,UAAmB;QAC5C,KAAK,CACD,OAAO,EACP,eAAe,EACf,UAAU,IAAI,8EAA8E,CAC/F,CAAA;QACD,IAAI,CAAC,IAAI,GAAG,cAAc,CAAA;IAC9B,CAAC;CACJ;AAED,MAAM,OAAO,cAAe,SAAQ,UAAU;IAC1C,YAAY,OAAe,EAAE,UAAmB;QAC5C,KAAK,CACD,OAAO,EACP,iBAAiB,EACjB,UAAU,IAAI,yEAAyE,CAC1F,CAAA;QACD,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAA;IAChC,CAAC;CACJ;AAED,MAAM,OAAO,wBAAyB,SAAQ,UAAU;IAEhC;IACA;IAFpB,YACoB,QAAgB,EAChB,SAAiB;QAEjC,KAAK,CACD,8BAA8B,QAAQ,gBAAgB,SAAS,KAAK,EACpE,sBAAsB,EACtB,sDAAsD,CACzD,CAAA;QAPe,aAAQ,GAAR,QAAQ,CAAQ;QAChB,cAAS,GAAT,SAAS,CAAQ;QAOjC,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAA;IAC1C,CAAC;CACJ;AAED,MAAM,OAAO,qBAAsB,SAAQ,UAAU;IACjD,YAAY,OAAe;QACvB,KAAK,CACD,OAAO,EACP,oBAAoB,EACpB,uEAAuE,CAC1E,CAAA;QACD,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAA;IACvC,CAAC;CACJ;AAED,MAAM,OAAO,YAAa,SAAQ,UAAU;IACxC,YAAY,OAAe;QACvB,KAAK,CACD,OAAO,EACP,SAAS,EACT,kGAAkG,CACrG,CAAA;QACD,IAAI,CAAC,IAAI,GAAG,cAAc,CAAA;IAC9B,CAAC;CACJ"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { Orbit } from './orbit.js';
|
|
2
|
+
export { StorageClient } from './storage.js';
|
|
3
|
+
export { InferenceClient } from './inference.js';
|
|
4
|
+
export type { OrbitConfig, StoreResult, StoreOptions, RetrieveOptions, InferResult, InferOptions, ServiceInfo, AccountStatus, } from './types.js';
|
|
5
|
+
export type { NetworkName, NetworkConfig } from './networks.js';
|
|
6
|
+
export { NETWORKS, getNetwork } from './networks.js';
|
|
7
|
+
export { withRetry, isTransientError } from './retry.js';
|
|
8
|
+
export type { RetryOptions } from './retry.js';
|
|
9
|
+
export { OrbitError, ConnectionError, StorageError, InferenceError, InsufficientBalanceError, ProviderNotFoundError, TimeoutError, } from './errors.js';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAGlC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAGhD,YAAY,EACR,WAAW,EACX,WAAW,EACX,YAAY,EACZ,eAAe,EACf,WAAW,EACX,YAAY,EACZ,WAAW,EACX,aAAa,GAChB,MAAM,YAAY,CAAA;AAGnB,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC/D,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAGpD,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACxD,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAG9C,OAAO,EACH,UAAU,EACV,eAAe,EACf,YAAY,EACZ,cAAc,EACd,wBAAwB,EACxB,qBAAqB,EACrB,YAAY,GACf,MAAM,aAAa,CAAA"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// Main entry point
|
|
2
|
+
export { Orbit } from './orbit.js';
|
|
3
|
+
// Clients (for direct access)
|
|
4
|
+
export { StorageClient } from './storage.js';
|
|
5
|
+
export { InferenceClient } from './inference.js';
|
|
6
|
+
export { NETWORKS, getNetwork } from './networks.js';
|
|
7
|
+
// Retry utilities
|
|
8
|
+
export { withRetry, isTransientError } from './retry.js';
|
|
9
|
+
// Errors
|
|
10
|
+
export { OrbitError, ConnectionError, StorageError, InferenceError, InsufficientBalanceError, ProviderNotFoundError, TimeoutError, } from './errors.js';
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,mBAAmB;AACnB,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAElC,8BAA8B;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAgBhD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAEpD,kBAAkB;AAClB,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAGxD,SAAS;AACT,OAAO,EACH,UAAU,EACV,eAAe,EACf,YAAY,EACZ,cAAc,EACd,wBAAwB,EACxB,qBAAqB,EACrB,YAAY,GACf,MAAM,aAAa,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Wallet } from 'ethers';
|
|
2
|
+
import type { NetworkConfig } from './networks.js';
|
|
3
|
+
import type { InferResult, InferOptions, ServiceInfo } from './types.js';
|
|
4
|
+
export declare class InferenceClient {
|
|
5
|
+
private broker;
|
|
6
|
+
private wallet;
|
|
7
|
+
private network;
|
|
8
|
+
private initialized;
|
|
9
|
+
constructor(network: NetworkConfig, wallet: Wallet);
|
|
10
|
+
private ensureBroker;
|
|
11
|
+
listServices(): Promise<ServiceInfo[]>;
|
|
12
|
+
infer(model: string, options: InferOptions): Promise<InferResult>;
|
|
13
|
+
private fetchCompletion;
|
|
14
|
+
private findProvider;
|
|
15
|
+
private ensureLedgerFunded;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=inference.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inference.d.ts","sourceRoot":"","sources":["../src/inference.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAK/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAmBxE,qBAAa,eAAe;IACxB,OAAO,CAAC,MAAM,CAAsC;IACpD,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,WAAW,CAAQ;gBAEf,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM;YAKpC,YAAY;IAsBpB,YAAY,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IA0BtC,KAAK,CACP,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,YAAY,GACtB,OAAO,CAAC,WAAW,CAAC;YAyFT,eAAe;YAuDf,YAAY;YAcZ,kBAAkB;CAUnC"}
|