@echoclaw/echo-0g 1.2.1 → 1.2.3
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 +11 -5
- package/dist/0g-compute/constants.d.ts +1 -0
- package/dist/0g-compute/constants.d.ts.map +1 -1
- package/dist/0g-compute/constants.js +1 -0
- package/dist/0g-compute/constants.js.map +1 -1
- package/dist/0g-compute/monitor.d.ts.map +1 -1
- package/dist/0g-compute/monitor.js +1 -0
- package/dist/0g-compute/monitor.js.map +1 -1
- package/dist/0g-compute/operations.d.ts +51 -0
- package/dist/0g-compute/operations.d.ts.map +1 -0
- package/dist/0g-compute/operations.js +118 -0
- package/dist/0g-compute/operations.js.map +1 -0
- package/dist/0g-compute/readiness.d.ts +50 -0
- package/dist/0g-compute/readiness.d.ts.map +1 -0
- package/dist/0g-compute/readiness.js +251 -0
- package/dist/0g-compute/readiness.js.map +1 -0
- package/dist/commands/0g-compute-wizard.d.ts +12 -0
- package/dist/commands/0g-compute-wizard.d.ts.map +1 -0
- package/dist/commands/0g-compute-wizard.js +420 -0
- package/dist/commands/0g-compute-wizard.js.map +1 -0
- package/dist/commands/0g-compute.d.ts.map +1 -1
- package/dist/commands/0g-compute.js +17 -55
- package/dist/commands/0g-compute.js.map +1 -1
- package/dist/commands/onboard/index.d.ts.map +1 -1
- package/dist/commands/onboard/index.js +8 -1
- package/dist/commands/onboard/index.js.map +1 -1
- package/dist/commands/onboard/steps/compute.d.ts.map +1 -1
- package/dist/commands/onboard/steps/compute.js +144 -40
- package/dist/commands/onboard/steps/compute.js.map +1 -1
- package/dist/commands/onboard/steps/monitor.d.ts.map +1 -1
- package/dist/commands/onboard/steps/monitor.js +27 -4
- package/dist/commands/onboard/steps/monitor.js.map +1 -1
- package/dist/commands/onboard/types.d.ts +3 -2
- package/dist/commands/onboard/types.d.ts.map +1 -1
- package/dist/errors.d.ts +3 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +3 -0
- package/dist/errors.js.map +1 -1
- package/dist/utils/ui.d.ts +1 -0
- package/dist/utils/ui.d.ts.map +1 -1
- package/dist/utils/ui.js +1 -0
- package/dist/utils/ui.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -20,6 +20,12 @@ echo0g onboard
|
|
|
20
20
|
|
|
21
21
|
The interactive wizard walks you through: config, OpenClaw linking, password, webhook notifications, wallet creation, 0G Compute setup, and balance monitoring — all in one command.
|
|
22
22
|
|
|
23
|
+
Something broke or need to reconfigure? The compute wizard diagnoses and fixes your 0G Compute setup interactively:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
echo0g 0g-compute wizard
|
|
27
|
+
```
|
|
28
|
+
|
|
23
29
|
## What's Inside
|
|
24
30
|
|
|
25
31
|
| Module | What it does |
|
|
@@ -33,6 +39,8 @@ The interactive wizard walks you through: config, OpenClaw linking, password, we
|
|
|
33
39
|
| **ChainScan** | On-chain queries — balances, transactions, contract ABIs |
|
|
34
40
|
| **Slop App** | Profile, chat, AI image generation on slop.money |
|
|
35
41
|
|
|
42
|
+
> **Two interfaces:** Interactive wizards (`onboard`, `0g-compute wizard`) are for humans via SSH/terminal. Individual `--json` commands are for AI agents via OpenClaw.
|
|
43
|
+
|
|
36
44
|
## Documentation
|
|
37
45
|
|
|
38
46
|
Full command reference and guides: **https://echoclaw.ai/docs/getting-started/quick-start**
|
|
@@ -51,13 +59,11 @@ echo0g setup password --from-env # Set keystore password
|
|
|
51
59
|
## Development
|
|
52
60
|
|
|
53
61
|
```bash
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
62
|
+
npm install
|
|
63
|
+
npm build
|
|
64
|
+
npm test
|
|
57
65
|
```
|
|
58
66
|
|
|
59
|
-
Versioning note: always bump the package version by `0.0.1` (patch) for the next release.
|
|
60
|
-
|
|
61
67
|
## License
|
|
62
68
|
|
|
63
69
|
MIT
|
|
@@ -7,4 +7,5 @@ export declare const ZG_MONITOR_PID_FILE: string;
|
|
|
7
7
|
export declare const ZG_MONITOR_SHUTDOWN_FILE: string;
|
|
8
8
|
export declare const ZG_MONITOR_STATE_FILE: string;
|
|
9
9
|
export declare const ZG_MONITOR_LOG_FILE: string;
|
|
10
|
+
export declare const ZG_COMPUTE_STATE_FILE: string;
|
|
10
11
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/0g-compute/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,eAAO,MAAM,cAAc,QAAiC,CAAC;AAC7D,eAAO,MAAM,mBAAmB,QAAsC,CAAC;AACvE,eAAO,MAAM,wBAAwB,QAA2C,CAAC;AACjF,eAAO,MAAM,qBAAqB,QAA6C,CAAC;AAChF,eAAO,MAAM,mBAAmB,QAAsC,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/0g-compute/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,eAAO,MAAM,cAAc,QAAiC,CAAC;AAC7D,eAAO,MAAM,mBAAmB,QAAsC,CAAC;AACvE,eAAO,MAAM,wBAAwB,QAA2C,CAAC;AACjF,eAAO,MAAM,qBAAqB,QAA6C,CAAC;AAChF,eAAO,MAAM,mBAAmB,QAAsC,CAAC;AACvE,eAAO,MAAM,qBAAqB,QAA6C,CAAC"}
|
|
@@ -9,4 +9,5 @@ export const ZG_MONITOR_PID_FILE = join(ZG_COMPUTE_DIR, "monitor.pid");
|
|
|
9
9
|
export const ZG_MONITOR_SHUTDOWN_FILE = join(ZG_COMPUTE_DIR, "monitor.shutdown");
|
|
10
10
|
export const ZG_MONITOR_STATE_FILE = join(ZG_COMPUTE_DIR, "monitor-state.json");
|
|
11
11
|
export const ZG_MONITOR_LOG_FILE = join(ZG_COMPUTE_DIR, "monitor.log");
|
|
12
|
+
export const ZG_COMPUTE_STATE_FILE = join(ZG_COMPUTE_DIR, "compute-state.json");
|
|
12
13
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/0g-compute/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;AAC7D,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;AACvE,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;AACjF,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC,cAAc,EAAE,oBAAoB,CAAC,CAAC;AAChF,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/0g-compute/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;AAC7D,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;AACvE,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;AACjF,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC,cAAc,EAAE,oBAAoB,CAAC,CAAC;AAChF,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;AACvE,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC,cAAc,EAAE,oBAAoB,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monitor.d.ts","sourceRoot":"","sources":["../../src/0g-compute/monitor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AASH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AA4CpC,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,aAAa,CAAC;AAElD,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,OAAO,EAAE,CAAC;IACrB,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAc;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,eAAe,CAA+C;IACtE,OAAO,CAAC,SAAS,CAA8C;IAC/D,OAAO,CAAC,KAAK,CAAe;gBAEhB,IAAI,EAAE,qBAAqB;IAoBjC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"monitor.d.ts","sourceRoot":"","sources":["../../src/0g-compute/monitor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AASH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AA4CpC,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,aAAa,CAAC;AAElD,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,OAAO,EAAE,CAAC;IACrB,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAc;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,eAAe,CAA+C;IACtE,OAAO,CAAC,SAAS,CAA8C;IAC/D,OAAO,CAAC,KAAK,CAAe;gBAEhB,IAAI,EAAE,qBAAqB;IAoBjC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAoC5B,OAAO,CAAC,YAAY;YASN,IAAI;YAuFJ,gBAAgB;YAuChB,WAAW;IA6DzB,OAAO,CAAC,gBAAgB;IAyBxB,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,SAAS;IAWjB,IAAI,IAAI,IAAI;CA0Bb"}
|
|
@@ -51,6 +51,7 @@ export class BalanceMonitor {
|
|
|
51
51
|
async start() {
|
|
52
52
|
this.checkAndWritePid();
|
|
53
53
|
this.cleanupShutdownFile();
|
|
54
|
+
this.saveState(); // Write initial state so onboard detect can verify config
|
|
54
55
|
logger.info(`[Monitor] Starting balance monitor`);
|
|
55
56
|
logger.info(`[Monitor] Mode: ${this.mode}`);
|
|
56
57
|
logger.info(`[Monitor] Providers: ${this.providers.join(", ")}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monitor.js","sourceRoot":"","sources":["../../src/0g-compute/monitor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"monitor.js","sourceRoot":"","sources":["../../src/0g-compute/monitor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared 0G Compute operations.
|
|
3
|
+
*
|
|
4
|
+
* Thin wrappers around SDK calls used by both CLI commands (`0g-compute.ts`)
|
|
5
|
+
* and the interactive wizard (`0g-compute-wizard.ts`).
|
|
6
|
+
* No CLI output — callers handle UI.
|
|
7
|
+
*/
|
|
8
|
+
import type { ZGComputeNetworkBroker } from "@0glabs/0g-serving-broker";
|
|
9
|
+
import { type NormalizedSubAccount } from "./account.js";
|
|
10
|
+
import { type PatchResult } from "../openclaw/config.js";
|
|
11
|
+
export interface ServiceDetail {
|
|
12
|
+
provider: string;
|
|
13
|
+
model: string;
|
|
14
|
+
serviceType: string;
|
|
15
|
+
url: string;
|
|
16
|
+
inputPrice: bigint;
|
|
17
|
+
outputPrice: bigint;
|
|
18
|
+
[key: string]: unknown;
|
|
19
|
+
}
|
|
20
|
+
export interface ServiceMetadata {
|
|
21
|
+
model: string;
|
|
22
|
+
endpoint: string;
|
|
23
|
+
[key: string]: unknown;
|
|
24
|
+
}
|
|
25
|
+
export interface ApiKeyInfo {
|
|
26
|
+
tokenId: number;
|
|
27
|
+
createdAt: number;
|
|
28
|
+
expiresAt: number;
|
|
29
|
+
rawToken: string;
|
|
30
|
+
}
|
|
31
|
+
export declare function listChatServices(broker: ZGComputeNetworkBroker): Promise<ServiceDetail[]>;
|
|
32
|
+
export declare function depositToLedger(broker: ZGComputeNetworkBroker, amount: string): Promise<void>;
|
|
33
|
+
export declare function fundProvider(broker: ZGComputeNetworkBroker, provider: string, amount: string): Promise<void>;
|
|
34
|
+
export declare function getSubAccountBalance(broker: ZGComputeNetworkBroker, provider: string): Promise<NormalizedSubAccount | null>;
|
|
35
|
+
export declare function hasLedger(broker: ZGComputeNetworkBroker): Promise<boolean>;
|
|
36
|
+
export declare function ackProviderSigner(broker: ZGComputeNetworkBroker, provider: string): Promise<void>;
|
|
37
|
+
export declare function isProviderAcked(broker: ZGComputeNetworkBroker, provider: string): Promise<boolean>;
|
|
38
|
+
export declare function getServiceMetadata(broker: ZGComputeNetworkBroker, provider: string): Promise<ServiceMetadata>;
|
|
39
|
+
export declare function createApiKey(broker: ZGComputeNetworkBroker, provider: string, tokenId?: number): Promise<ApiKeyInfo>;
|
|
40
|
+
export interface ConfigureOpenclawResult {
|
|
41
|
+
providerPatch: PatchResult;
|
|
42
|
+
modePatch: PatchResult;
|
|
43
|
+
defaultPatch?: PatchResult;
|
|
44
|
+
}
|
|
45
|
+
export declare function configureOpenclawProvider(broker: ZGComputeNetworkBroker, provider: string, apiKey: string, opts?: {
|
|
46
|
+
force?: boolean;
|
|
47
|
+
setDefault?: boolean;
|
|
48
|
+
fallback?: string;
|
|
49
|
+
}): Promise<ConfigureOpenclawResult>;
|
|
50
|
+
export declare function ackWithReadback(broker: ZGComputeNetworkBroker, provider: string, timeoutMs?: number, pollMs?: number): Promise<boolean>;
|
|
51
|
+
//# sourceMappingURL=operations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../src/0g-compute/operations.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAGxE,OAAO,EAAuB,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAE9E,OAAO,EAAuB,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAM9E,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAID,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAK/F;AAID,wBAAsB,eAAe,CAAC,MAAM,EAAE,sBAAsB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGnG;AAED,wBAAsB,YAAY,CAChC,MAAM,EAAE,sBAAsB,EAC9B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAMf;AAED,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,sBAAsB,EAC9B,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAStC;AAED,wBAAsB,SAAS,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,OAAO,CAAC,CAOhF;AAID,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,sBAAsB,EAC9B,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAKf;AAED,wBAAsB,eAAe,CACnC,MAAM,EAAE,sBAAsB,EAC9B,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,OAAO,CAAC,CAElB;AAED,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,sBAAsB,EAC9B,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,eAAe,CAAC,CAI1B;AAID,wBAAsB,YAAY,CAChC,MAAM,EAAE,sBAAsB,EAC9B,QAAQ,EAAE,MAAM,EAChB,OAAO,SAAI,GACV,OAAO,CAAC,UAAU,CAAC,CAOrB;AAID,MAAM,WAAW,uBAAuB;IACtC,aAAa,EAAE,WAAW,CAAC;IAC3B,SAAS,EAAE,WAAW,CAAC;IACvB,YAAY,CAAC,EAAE,WAAW,CAAC;CAC5B;AAED,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,sBAAsB,EAC9B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAClE,OAAO,CAAC,uBAAuB,CAAC,CAmClC;AAID,wBAAsB,eAAe,CACnC,MAAM,EAAE,sBAAsB,EAC9B,QAAQ,EAAE,MAAM,EAChB,SAAS,SAAU,EACnB,MAAM,SAAQ,GACb,OAAO,CAAC,OAAO,CAAC,CAmBlB"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared 0G Compute operations.
|
|
3
|
+
*
|
|
4
|
+
* Thin wrappers around SDK calls used by both CLI commands (`0g-compute.ts`)
|
|
5
|
+
* and the interactive wizard (`0g-compute-wizard.ts`).
|
|
6
|
+
* No CLI output — callers handle UI.
|
|
7
|
+
*/
|
|
8
|
+
import { parseUnits } from "viem";
|
|
9
|
+
import { withSuppressedConsole } from "./bridge.js";
|
|
10
|
+
import { normalizeSubAccount } from "./account.js";
|
|
11
|
+
import { patchOpenclawConfig } from "../openclaw/config.js";
|
|
12
|
+
import { saveComputeState } from "./readiness.js";
|
|
13
|
+
import logger from "../utils/logger.js";
|
|
14
|
+
// ── Service discovery ────────────────────────────────────────────────
|
|
15
|
+
export async function listChatServices(broker) {
|
|
16
|
+
const all = await withSuppressedConsole(() => broker.inference.listServiceWithDetail());
|
|
17
|
+
return all.filter(s => s.serviceType === "chatbot");
|
|
18
|
+
}
|
|
19
|
+
// ── Ledger operations ────────────────────────────────────────────────
|
|
20
|
+
export async function depositToLedger(broker, amount) {
|
|
21
|
+
await withSuppressedConsole(() => broker.ledger.addLedger(Number(amount)));
|
|
22
|
+
logger.debug(`[0G Compute] Deposited ${amount} 0G to ledger`);
|
|
23
|
+
}
|
|
24
|
+
export async function fundProvider(broker, provider, amount) {
|
|
25
|
+
const amountWei = parseUnits(amount, 18);
|
|
26
|
+
await withSuppressedConsole(() => broker.ledger.transferFund(provider, "inference", amountWei));
|
|
27
|
+
logger.debug(`[0G Compute] Funded ${amount} 0G to provider ${provider.slice(0, 10)}...`);
|
|
28
|
+
}
|
|
29
|
+
export async function getSubAccountBalance(broker, provider) {
|
|
30
|
+
try {
|
|
31
|
+
const account = await withSuppressedConsole(() => broker.inference.getAccount(provider));
|
|
32
|
+
return normalizeSubAccount(account);
|
|
33
|
+
}
|
|
34
|
+
catch {
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
export async function hasLedger(broker) {
|
|
39
|
+
try {
|
|
40
|
+
await withSuppressedConsole(() => broker.ledger.getLedger());
|
|
41
|
+
return true;
|
|
42
|
+
}
|
|
43
|
+
catch {
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
// ── Provider operations ──────────────────────────────────────────────
|
|
48
|
+
export async function ackProviderSigner(broker, provider) {
|
|
49
|
+
await withSuppressedConsole(() => broker.inference.acknowledgeProviderSigner(provider));
|
|
50
|
+
logger.debug(`[0G Compute] Acknowledged provider signer: ${provider.slice(0, 10)}...`);
|
|
51
|
+
}
|
|
52
|
+
export async function isProviderAcked(broker, provider) {
|
|
53
|
+
return withSuppressedConsole(() => broker.inference.acknowledged(provider));
|
|
54
|
+
}
|
|
55
|
+
export async function getServiceMetadata(broker, provider) {
|
|
56
|
+
return await withSuppressedConsole(() => broker.inference.getServiceMetadata(provider));
|
|
57
|
+
}
|
|
58
|
+
// ── API key operations ───────────────────────────────────────────────
|
|
59
|
+
export async function createApiKey(broker, provider, tokenId = 0) {
|
|
60
|
+
return await withSuppressedConsole(() => broker.inference.requestProcessor.createApiKey(provider, {
|
|
61
|
+
tokenId,
|
|
62
|
+
expiresIn: 0,
|
|
63
|
+
}));
|
|
64
|
+
}
|
|
65
|
+
export async function configureOpenclawProvider(broker, provider, apiKey, opts) {
|
|
66
|
+
const metadata = await getServiceMetadata(broker, provider);
|
|
67
|
+
const providerConfig = {
|
|
68
|
+
baseUrl: metadata.endpoint,
|
|
69
|
+
apiKey,
|
|
70
|
+
api: "openai-completions",
|
|
71
|
+
models: [{
|
|
72
|
+
id: metadata.model,
|
|
73
|
+
name: `${metadata.model} (0G Compute)`,
|
|
74
|
+
contextWindow: 128000,
|
|
75
|
+
maxTokens: 8192,
|
|
76
|
+
}],
|
|
77
|
+
};
|
|
78
|
+
const providerPatch = patchOpenclawConfig("models.providers.zg", providerConfig, { force: opts?.force ?? true });
|
|
79
|
+
const modePatch = patchOpenclawConfig("models.mode", "merge", { force: false });
|
|
80
|
+
let defaultPatch;
|
|
81
|
+
if (opts?.setDefault !== false) {
|
|
82
|
+
const defaultModel = { primary: `zg/${metadata.model}` };
|
|
83
|
+
if (opts?.fallback)
|
|
84
|
+
defaultModel.fallbacks = [opts.fallback];
|
|
85
|
+
defaultPatch = patchOpenclawConfig("agents.defaults.model", defaultModel, { force: opts?.force ?? true });
|
|
86
|
+
}
|
|
87
|
+
// Persist compute state
|
|
88
|
+
saveComputeState({
|
|
89
|
+
activeProvider: provider,
|
|
90
|
+
model: metadata.model,
|
|
91
|
+
configuredAt: Date.now(),
|
|
92
|
+
});
|
|
93
|
+
logger.info(`[0G Compute] OpenClaw configured: provider=${provider.slice(0, 10)}..., model=${metadata.model}`);
|
|
94
|
+
return { providerPatch, modePatch, defaultPatch };
|
|
95
|
+
}
|
|
96
|
+
// ── ACK with readback ────────────────────────────────────────────────
|
|
97
|
+
export async function ackWithReadback(broker, provider, timeoutMs = 120_000, pollMs = 5_000) {
|
|
98
|
+
try {
|
|
99
|
+
await ackProviderSigner(broker, provider);
|
|
100
|
+
}
|
|
101
|
+
catch {
|
|
102
|
+
// May already be acknowledged
|
|
103
|
+
}
|
|
104
|
+
const deadline = Date.now() + timeoutMs;
|
|
105
|
+
while (Date.now() < deadline) {
|
|
106
|
+
try {
|
|
107
|
+
const confirmed = await isProviderAcked(broker, provider);
|
|
108
|
+
if (confirmed)
|
|
109
|
+
return true;
|
|
110
|
+
}
|
|
111
|
+
catch {
|
|
112
|
+
// Retry
|
|
113
|
+
}
|
|
114
|
+
await new Promise(r => setTimeout(r, pollMs));
|
|
115
|
+
}
|
|
116
|
+
return false;
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=operations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/0g-compute/operations.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Strict readiness check for 0G Compute.
|
|
3
|
+
*
|
|
4
|
+
* Single source of truth used by both `onboard/steps/compute.detect()`
|
|
5
|
+
* and `0g-compute setup`. Performs on-chain + config checks to verify
|
|
6
|
+
* that the compute stack is fully operational.
|
|
7
|
+
*/
|
|
8
|
+
export interface ComputeState {
|
|
9
|
+
activeProvider: string;
|
|
10
|
+
model: string;
|
|
11
|
+
configuredAt: number;
|
|
12
|
+
}
|
|
13
|
+
export declare function loadComputeState(): ComputeState | null;
|
|
14
|
+
export declare function saveComputeState(state: ComputeState): void;
|
|
15
|
+
export interface ReadinessCheck {
|
|
16
|
+
ok: boolean;
|
|
17
|
+
detail?: string;
|
|
18
|
+
hint?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface ReadinessResult {
|
|
21
|
+
ready: boolean;
|
|
22
|
+
provider: string | null;
|
|
23
|
+
checks: {
|
|
24
|
+
wallet: ReadinessCheck;
|
|
25
|
+
broker: ReadinessCheck;
|
|
26
|
+
ledger: ReadinessCheck;
|
|
27
|
+
subAccount: ReadinessCheck;
|
|
28
|
+
ack: ReadinessCheck;
|
|
29
|
+
openclawConfig: ReadinessCheck;
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Run a full readiness check for 0G Compute.
|
|
34
|
+
*
|
|
35
|
+
* Checks in order:
|
|
36
|
+
* 1. Wallet configured (keystore + password)
|
|
37
|
+
* 2. Broker initialises (SDK + RPC)
|
|
38
|
+
* 3. Ledger exists on-chain
|
|
39
|
+
* 4. Provider sub-account has sufficient locked balance
|
|
40
|
+
* 5. Provider signer is acknowledged
|
|
41
|
+
* 6. OpenClaw config has `models.providers.zg` with baseUrl + apiKey
|
|
42
|
+
* (+ cross-check that baseUrl matches detected provider endpoint)
|
|
43
|
+
*
|
|
44
|
+
* Provider recovery chain:
|
|
45
|
+
* a. `compute-state.json` → activeProvider
|
|
46
|
+
* b. Ledger detail → first sub-account with lockedOg > 0
|
|
47
|
+
* c. OpenClaw config baseUrl → match against service endpoints
|
|
48
|
+
*/
|
|
49
|
+
export declare function checkComputeReadiness(): Promise<ReadinessResult>;
|
|
50
|
+
//# sourceMappingURL=readiness.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readiness.d.ts","sourceRoot":"","sources":["../../src/0g-compute/readiness.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAeH,MAAM,WAAW,YAAY;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,gBAAgB,IAAI,YAAY,GAAG,IAAI,CAUtD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAQ1D;AAID,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE;QACN,MAAM,EAAE,cAAc,CAAC;QACvB,MAAM,EAAE,cAAc,CAAC;QACvB,MAAM,EAAE,cAAc,CAAC;QACvB,UAAU,EAAE,cAAc,CAAC;QAC3B,GAAG,EAAE,cAAc,CAAC;QACpB,cAAc,EAAE,cAAc,CAAC;KAChC,CAAC;CACH;AAoBD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,eAAe,CAAC,CAsOtE"}
|
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Strict readiness check for 0G Compute.
|
|
3
|
+
*
|
|
4
|
+
* Single source of truth used by both `onboard/steps/compute.detect()`
|
|
5
|
+
* and `0g-compute setup`. Performs on-chain + config checks to verify
|
|
6
|
+
* that the compute stack is fully operational.
|
|
7
|
+
*/
|
|
8
|
+
import { existsSync, readFileSync, writeFileSync, renameSync, mkdirSync } from "node:fs";
|
|
9
|
+
import { dirname, join } from "node:path";
|
|
10
|
+
import { withSuppressedConsole } from "./bridge.js";
|
|
11
|
+
import { getAuthenticatedBroker } from "./broker-factory.js";
|
|
12
|
+
import { normalizeSubAccount, normalizeInferTuple } from "./account.js";
|
|
13
|
+
import { calculateProviderPricing } from "./pricing.js";
|
|
14
|
+
import { ZG_COMPUTE_DIR, ZG_COMPUTE_STATE_FILE } from "./constants.js";
|
|
15
|
+
import { requireWalletAndKeystore } from "../bot/executor.js";
|
|
16
|
+
import { loadOpenclawConfig } from "../openclaw/config.js";
|
|
17
|
+
import logger from "../utils/logger.js";
|
|
18
|
+
export function loadComputeState() {
|
|
19
|
+
if (!existsSync(ZG_COMPUTE_STATE_FILE))
|
|
20
|
+
return null;
|
|
21
|
+
try {
|
|
22
|
+
const raw = readFileSync(ZG_COMPUTE_STATE_FILE, "utf-8");
|
|
23
|
+
const parsed = JSON.parse(raw);
|
|
24
|
+
if (typeof parsed.activeProvider !== "string" || !parsed.activeProvider)
|
|
25
|
+
return null;
|
|
26
|
+
return parsed;
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
export function saveComputeState(state) {
|
|
33
|
+
if (!existsSync(ZG_COMPUTE_DIR)) {
|
|
34
|
+
mkdirSync(ZG_COMPUTE_DIR, { recursive: true });
|
|
35
|
+
}
|
|
36
|
+
const tmpFile = join(dirname(ZG_COMPUTE_STATE_FILE), `.compute-state.${Date.now()}.tmp`);
|
|
37
|
+
writeFileSync(tmpFile, JSON.stringify(state, null, 2), "utf-8");
|
|
38
|
+
renameSync(tmpFile, ZG_COMPUTE_STATE_FILE);
|
|
39
|
+
logger.debug(`[0G Compute] State saved to ${ZG_COMPUTE_STATE_FILE}`);
|
|
40
|
+
}
|
|
41
|
+
function fail(detail, hint) {
|
|
42
|
+
return { ok: false, detail, hint };
|
|
43
|
+
}
|
|
44
|
+
function pass(detail) {
|
|
45
|
+
return { ok: true, detail };
|
|
46
|
+
}
|
|
47
|
+
/** Strip trailing slashes and normalise scheme+host for URL comparison. */
|
|
48
|
+
function normalizeUrl(url) {
|
|
49
|
+
try {
|
|
50
|
+
const u = new URL(url);
|
|
51
|
+
return `${u.protocol}//${u.host}${u.pathname.replace(/\/+$/, "")}`;
|
|
52
|
+
}
|
|
53
|
+
catch {
|
|
54
|
+
return url.toLowerCase().replace(/\/+$/, "");
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Run a full readiness check for 0G Compute.
|
|
59
|
+
*
|
|
60
|
+
* Checks in order:
|
|
61
|
+
* 1. Wallet configured (keystore + password)
|
|
62
|
+
* 2. Broker initialises (SDK + RPC)
|
|
63
|
+
* 3. Ledger exists on-chain
|
|
64
|
+
* 4. Provider sub-account has sufficient locked balance
|
|
65
|
+
* 5. Provider signer is acknowledged
|
|
66
|
+
* 6. OpenClaw config has `models.providers.zg` with baseUrl + apiKey
|
|
67
|
+
* (+ cross-check that baseUrl matches detected provider endpoint)
|
|
68
|
+
*
|
|
69
|
+
* Provider recovery chain:
|
|
70
|
+
* a. `compute-state.json` → activeProvider
|
|
71
|
+
* b. Ledger detail → first sub-account with lockedOg > 0
|
|
72
|
+
* c. OpenClaw config baseUrl → match against service endpoints
|
|
73
|
+
*/
|
|
74
|
+
export async function checkComputeReadiness() {
|
|
75
|
+
const result = {
|
|
76
|
+
ready: false,
|
|
77
|
+
provider: null,
|
|
78
|
+
checks: {
|
|
79
|
+
wallet: fail("Not checked"),
|
|
80
|
+
broker: fail("Not checked"),
|
|
81
|
+
ledger: fail("Not checked"),
|
|
82
|
+
subAccount: fail("Not checked"),
|
|
83
|
+
ack: fail("Not checked"),
|
|
84
|
+
openclawConfig: fail("Not checked"),
|
|
85
|
+
},
|
|
86
|
+
};
|
|
87
|
+
// 1. Wallet
|
|
88
|
+
let walletAddress;
|
|
89
|
+
try {
|
|
90
|
+
const { address } = requireWalletAndKeystore();
|
|
91
|
+
walletAddress = address;
|
|
92
|
+
result.checks.wallet = pass(address);
|
|
93
|
+
}
|
|
94
|
+
catch (err) {
|
|
95
|
+
result.checks.wallet = fail(err instanceof Error ? err.message : "Wallet not configured", "Run: echo0g wallet create");
|
|
96
|
+
return result;
|
|
97
|
+
}
|
|
98
|
+
// 2. Broker
|
|
99
|
+
let broker;
|
|
100
|
+
try {
|
|
101
|
+
broker = await getAuthenticatedBroker();
|
|
102
|
+
result.checks.broker = pass();
|
|
103
|
+
}
|
|
104
|
+
catch (err) {
|
|
105
|
+
result.checks.broker = fail(err instanceof Error ? err.message : "Broker init failed", "Check network connection and wallet configuration.");
|
|
106
|
+
return result;
|
|
107
|
+
}
|
|
108
|
+
// 3. Ledger
|
|
109
|
+
try {
|
|
110
|
+
await withSuppressedConsole(() => broker.ledger.getLedger());
|
|
111
|
+
result.checks.ledger = pass();
|
|
112
|
+
}
|
|
113
|
+
catch {
|
|
114
|
+
result.checks.ledger = fail("No ledger found on-chain", "Run: echo0g 0g-compute ledger deposit <amount>");
|
|
115
|
+
return result;
|
|
116
|
+
}
|
|
117
|
+
// 4. Provider recovery + sub-account check
|
|
118
|
+
let provider = null;
|
|
119
|
+
// Try compute-state.json first
|
|
120
|
+
const computeState = loadComputeState();
|
|
121
|
+
if (computeState) {
|
|
122
|
+
provider = computeState.activeProvider;
|
|
123
|
+
}
|
|
124
|
+
// Fallback: scan sub-accounts from ledger detail
|
|
125
|
+
if (!provider) {
|
|
126
|
+
try {
|
|
127
|
+
const detail = await withSuppressedConsole(() => broker.ledger
|
|
128
|
+
.getLedgerWithDetail());
|
|
129
|
+
const infers = detail?.infers;
|
|
130
|
+
if (Array.isArray(infers)) {
|
|
131
|
+
for (const tuple of infers) {
|
|
132
|
+
if (Array.isArray(tuple) && tuple.length >= 3) {
|
|
133
|
+
const { lockedOg, provider: addr } = normalizeInferTuple(tuple);
|
|
134
|
+
if (lockedOg > 0) {
|
|
135
|
+
provider = addr;
|
|
136
|
+
break;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
catch {
|
|
143
|
+
// No detail available — provider stays null
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
// Fallback 3: recover provider from OpenClaw config baseUrl → match service endpoint
|
|
147
|
+
if (!provider) {
|
|
148
|
+
try {
|
|
149
|
+
const config = loadOpenclawConfig();
|
|
150
|
+
const zgBaseUrl = config?.models?.providers?.zg?.baseUrl;
|
|
151
|
+
if (zgBaseUrl) {
|
|
152
|
+
const services = await withSuppressedConsole(() => broker.inference.listServiceWithDetail());
|
|
153
|
+
for (const svc of services) {
|
|
154
|
+
try {
|
|
155
|
+
const meta = await withSuppressedConsole(() => broker.inference.getServiceMetadata(svc.provider));
|
|
156
|
+
if (meta.endpoint && normalizeUrl(meta.endpoint) === normalizeUrl(zgBaseUrl)) {
|
|
157
|
+
provider = svc.provider;
|
|
158
|
+
break;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
catch {
|
|
162
|
+
// Skip — try next service
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
catch {
|
|
168
|
+
// Fallback failed — provider stays null
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
if (!provider) {
|
|
172
|
+
result.checks.subAccount = fail("No active provider found", "Run: echo0g 0g-compute wizard");
|
|
173
|
+
return result;
|
|
174
|
+
}
|
|
175
|
+
result.provider = provider;
|
|
176
|
+
// Check sub-account balance
|
|
177
|
+
try {
|
|
178
|
+
const account = await withSuppressedConsole(() => broker.inference.getAccount(provider));
|
|
179
|
+
const normalized = normalizeSubAccount(account);
|
|
180
|
+
// Get pricing to determine minimum threshold
|
|
181
|
+
let recommendedMin = 1.0;
|
|
182
|
+
try {
|
|
183
|
+
const services = await withSuppressedConsole(() => broker.inference.listServiceWithDetail());
|
|
184
|
+
const svc = services.find((s) => s.provider?.toLowerCase() === provider.toLowerCase());
|
|
185
|
+
if (svc) {
|
|
186
|
+
const pricing = calculateProviderPricing(svc.inputPrice, svc.outputPrice);
|
|
187
|
+
recommendedMin = pricing.recommendedMinLockedOg;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
catch {
|
|
191
|
+
// Use default min if pricing unavailable
|
|
192
|
+
}
|
|
193
|
+
if (normalized.lockedOg < recommendedMin) {
|
|
194
|
+
result.checks.subAccount = fail(`Locked: ${normalized.lockedOg.toFixed(4)} 0G (need ≥ ${recommendedMin.toFixed(1)} 0G)`, "Run: echo0g 0g-compute wizard");
|
|
195
|
+
return result;
|
|
196
|
+
}
|
|
197
|
+
result.checks.subAccount = pass(`Locked: ${normalized.lockedOg.toFixed(4)} 0G`);
|
|
198
|
+
}
|
|
199
|
+
catch {
|
|
200
|
+
result.checks.subAccount = fail("Could not read sub-account balance", "Run: echo0g 0g-compute wizard");
|
|
201
|
+
return result;
|
|
202
|
+
}
|
|
203
|
+
// 5. ACK
|
|
204
|
+
try {
|
|
205
|
+
const acked = await withSuppressedConsole(() => broker.inference.acknowledged(provider));
|
|
206
|
+
if (acked) {
|
|
207
|
+
result.checks.ack = pass();
|
|
208
|
+
}
|
|
209
|
+
else {
|
|
210
|
+
result.checks.ack = fail("Provider signer not acknowledged", "Run: echo0g 0g-compute provider <addr> ack");
|
|
211
|
+
return result;
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
catch {
|
|
215
|
+
result.checks.ack = fail("Could not verify ACK status", "Run: echo0g 0g-compute provider <addr> ack");
|
|
216
|
+
return result;
|
|
217
|
+
}
|
|
218
|
+
// 6. OpenClaw config
|
|
219
|
+
try {
|
|
220
|
+
const config = loadOpenclawConfig();
|
|
221
|
+
const zgProvider = config?.models?.providers?.zg;
|
|
222
|
+
if (zgProvider && zgProvider.baseUrl && zgProvider.apiKey) {
|
|
223
|
+
// Cross-check: verify OpenClaw baseUrl matches detected provider's endpoint
|
|
224
|
+
if (result.provider) {
|
|
225
|
+
try {
|
|
226
|
+
const meta = await withSuppressedConsole(() => broker.inference.getServiceMetadata(result.provider));
|
|
227
|
+
if (meta.endpoint && normalizeUrl(meta.endpoint) !== normalizeUrl(zgProvider.baseUrl)) {
|
|
228
|
+
result.checks.openclawConfig = fail(`OpenClaw baseUrl does not match provider endpoint (expected ${meta.endpoint})`, "Run: echo0g 0g-compute wizard");
|
|
229
|
+
return result;
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
catch {
|
|
233
|
+
// Can't verify — pass anyway (best-effort cross-check)
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
result.checks.openclawConfig = pass();
|
|
237
|
+
}
|
|
238
|
+
else {
|
|
239
|
+
result.checks.openclawConfig = fail("OpenClaw config missing models.providers.zg (or missing baseUrl/apiKey)", "Run: echo0g 0g-compute wizard");
|
|
240
|
+
return result;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
catch {
|
|
244
|
+
result.checks.openclawConfig = fail("Could not read OpenClaw config", "Check ~/.openclaw/openclaw.json");
|
|
245
|
+
return result;
|
|
246
|
+
}
|
|
247
|
+
// All checks passed
|
|
248
|
+
result.ready = true;
|
|
249
|
+
return result;
|
|
250
|
+
}
|
|
251
|
+
//# sourceMappingURL=readiness.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readiness.js","sourceRoot":"","sources":["../../src/0g-compute/readiness.ts"],"names":[],"mappings":"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"}
|