@olane/os 0.7.6 → 0.7.7
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/src/o-olane-os/interfaces/o-os.config.d.ts +8 -0
- package/dist/src/o-olane-os/interfaces/o-os.config.d.ts.map +1 -1
- package/dist/src/o-olane-os/o-os.d.ts.map +1 -1
- package/dist/src/o-olane-os/o-os.js +23 -7
- package/dist/src/utils/config.d.ts +3 -0
- package/dist/src/utils/config.d.ts.map +1 -1
- package/dist/src/utils/config.js +2 -0
- package/package.json +11 -11
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
import { oNodeConfig } from '@olane/o-node';
|
|
2
|
+
export type ApprovalMode = 'allow' | 'review' | 'auto';
|
|
3
|
+
export interface ApprovalPreferences {
|
|
4
|
+
whitelist?: string[];
|
|
5
|
+
blacklist?: string[];
|
|
6
|
+
timeout?: number;
|
|
7
|
+
}
|
|
2
8
|
export interface OlaneOSConfig {
|
|
3
9
|
configFilePath?: string;
|
|
4
10
|
network?: {
|
|
@@ -14,5 +20,7 @@ export interface OlaneOSConfig {
|
|
|
14
20
|
lanes?: string[];
|
|
15
21
|
noIndexNetwork?: boolean;
|
|
16
22
|
inProgress?: string[];
|
|
23
|
+
approvalMode?: ApprovalMode;
|
|
24
|
+
approvalPreferences?: ApprovalPreferences;
|
|
17
25
|
}
|
|
18
26
|
//# sourceMappingURL=o-os.config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"o-os.config.d.ts","sourceRoot":"","sources":["../../../../src/o-olane-os/interfaces/o-os.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,WAAW,aAAa;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE;QACR,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"o-os.config.d.ts","sourceRoot":"","sources":["../../../../src/o-olane-os/interfaces/o-os.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEvD,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE;QACR,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;CAC3C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"o-os.d.ts","sourceRoot":"","sources":["../../../src/o-olane-os/o-os.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAG5D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAU,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAIzC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAK1C,KAAK,WAAW,GAAG,SAAS,GAAG,WAAW,CAAC;AAC3C,qBAAa,OAAQ,SAAQ,OAAO;IAClC,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,KAAK,CAAqB;IAC3B,UAAU,EAAE,WAAW,GAAG,IAAI,CAAQ;IACtC,MAAM,EAAG,mBAAmB,CAAC;IACpC,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,eAAe,CAAa;gBAExB,MAAM,EAAE,aAAa;IAKjC,SAAS,IAAI,SAAS,GAAG,WAAW;IAMpC,SAAS,CAAC,MAAM,EAAE,WAAW;IAOvB,OAAO,CAAC,IAAI,EAAE,WAAW;YAiBjB,UAAU;IAwClB,iBAAiB;IASjB,UAAU,CAAC,IAAI,EAAE,QAAQ;
|
|
1
|
+
{"version":3,"file":"o-os.d.ts","sourceRoot":"","sources":["../../../src/o-olane-os/o-os.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAG5D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAU,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAIzC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAK1C,KAAK,WAAW,GAAG,SAAS,GAAG,WAAW,CAAC;AAC3C,qBAAa,OAAQ,SAAQ,OAAO;IAClC,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,KAAK,CAAqB;IAC3B,UAAU,EAAE,WAAW,GAAG,IAAI,CAAQ;IACtC,MAAM,EAAG,mBAAmB,CAAC;IACpC,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,eAAe,CAAa;gBAExB,MAAM,EAAE,aAAa;IAKjC,SAAS,IAAI,SAAS,GAAG,WAAW;IAMpC,SAAS,CAAC,MAAM,EAAE,WAAW;IAOvB,OAAO,CAAC,IAAI,EAAE,WAAW;YAiBjB,UAAU;IAwClB,iBAAiB;IASjB,UAAU,CAAC,IAAI,EAAE,QAAQ;IAmDzB,aAAa;IA6Bb,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG;IAUnC,KAAK,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,UAAU,EAAE,CAAA;KAAE,CAAC;IAiC9D,IAAI;IAwBJ,OAAO;CAKd"}
|
|
@@ -135,13 +135,28 @@ export class OlaneOS extends oObject {
|
|
|
135
135
|
}
|
|
136
136
|
}
|
|
137
137
|
async runSavedPlans() {
|
|
138
|
-
const
|
|
139
|
-
|
|
140
|
-
this.logger.debug('
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
138
|
+
const laneCIDs = Array.from(new Set(this.config?.lanes || []));
|
|
139
|
+
if (laneCIDs.length === 0) {
|
|
140
|
+
this.logger.debug('No saved lanes to replay');
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
this.logger.info(`Replaying ${laneCIDs.length} saved lane(s) to restore network state...`);
|
|
144
|
+
for (const cid of laneCIDs) {
|
|
145
|
+
this.logger.debug('Replaying lane with CID: ' + cid);
|
|
146
|
+
try {
|
|
147
|
+
// Use the entry node's lane tool to replay the lane
|
|
148
|
+
const result = await this.use(this.entryNode().address, {
|
|
149
|
+
method: 'replay',
|
|
150
|
+
params: { cid },
|
|
151
|
+
});
|
|
152
|
+
this.logger.info('Lane replay completed successfully: ' + cid, result);
|
|
153
|
+
}
|
|
154
|
+
catch (error) {
|
|
155
|
+
this.logger.error('Failed to replay lane: ' + cid, error);
|
|
156
|
+
// Continue with other lanes even if one fails
|
|
157
|
+
}
|
|
144
158
|
}
|
|
159
|
+
this.logger.info('All saved lanes replayed');
|
|
145
160
|
}
|
|
146
161
|
async use(oAddress, params) {
|
|
147
162
|
const entryNode = this.entryNode();
|
|
@@ -149,7 +164,8 @@ export class OlaneOS extends oObject {
|
|
|
149
164
|
throw new Error('Entry node not found');
|
|
150
165
|
}
|
|
151
166
|
this.logger.debug('Using address: ' + oAddress.toString());
|
|
152
|
-
|
|
167
|
+
const result = await entryNode.use(oAddress, params);
|
|
168
|
+
return result;
|
|
153
169
|
}
|
|
154
170
|
async start() {
|
|
155
171
|
this.logger.debug('Starting OS instance');
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { OlaneOSSystemStatus } from '../o-olane-os/enum/o-os.status-enum.js';
|
|
2
2
|
import { OlaneOSConfig } from '../o-olane-os/index.js';
|
|
3
|
+
import { oNodeAddress } from '@olane/o-node';
|
|
3
4
|
export interface OlaneOSInstanceConfig {
|
|
4
5
|
name: string;
|
|
5
6
|
version: string;
|
|
@@ -12,9 +13,11 @@ export interface OlaneOSInstanceConfig {
|
|
|
12
13
|
peerId?: string;
|
|
13
14
|
transports?: string[];
|
|
14
15
|
oNetworkConfig?: OlaneOSConfig;
|
|
16
|
+
remoteLeaderAddress?: oNodeAddress;
|
|
15
17
|
}
|
|
16
18
|
export interface CLIConfig {
|
|
17
19
|
instancesPath: string;
|
|
20
|
+
approvalMode?: 'allow' | 'review' | 'auto';
|
|
18
21
|
}
|
|
19
22
|
export declare const CONFIG_FILE_NAME = "config.json";
|
|
20
23
|
export declare class ConfigManager {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/utils/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/utils/config.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,mBAAmB,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,mBAAmB,CAAC,EAAE,YAAY,CAAC;CACpC;AAED,MAAM,WAAW,SAAS;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;CAC5C;AAED,eAAO,MAAM,gBAAgB,gBAAgB,CAAC;AAE9C,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAC,UAAU,CAAuB;IAChD,OAAO,CAAC,MAAM,CAAC,aAAa,CAAyB;IACrD,OAAO,CAAC,MAAM,CAAC,UAAU,CAAuB;WAEnC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IASxC,MAAM,CAAC,gBAAgB,IAAI,SAAS;WAOvB,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC;WAM/B,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;WAOrD,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;WAItD,mBAAmB,CAC9B,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;WAO3B,WAAW,CACtB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;WAY3B,cAAc,CACzB,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;WAQ3B,YAAY,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;WAS1D,eAAe,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC;WAuBnD,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAO3D"}
|
package/dist/src/utils/config.js
CHANGED
|
@@ -13,6 +13,7 @@ export class ConfigManager {
|
|
|
13
13
|
static getDefaultConfig() {
|
|
14
14
|
return {
|
|
15
15
|
instancesPath: ConfigManager.instancesPath,
|
|
16
|
+
approvalMode: 'allow',
|
|
16
17
|
};
|
|
17
18
|
}
|
|
18
19
|
static async getConfig() {
|
|
@@ -50,6 +51,7 @@ export class ConfigManager {
|
|
|
50
51
|
return c;
|
|
51
52
|
}
|
|
52
53
|
static async saveOSConfig(config) {
|
|
54
|
+
// Use direct filesystem operations for OS config persistence
|
|
53
55
|
const osPath = path.join(ConfigManager.instancesPath, config.name);
|
|
54
56
|
await fs.ensureDir(osPath);
|
|
55
57
|
await fs.writeJson(path.join(osPath, CONFIG_FILE_NAME), config, {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@olane/os",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.7",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/src/index.js",
|
|
6
6
|
"types": "dist/src/index.d.ts",
|
|
@@ -58,16 +58,16 @@
|
|
|
58
58
|
"typescript": "5.4.5"
|
|
59
59
|
},
|
|
60
60
|
"peerDependencies": {
|
|
61
|
-
"@olane/o-config": "^0.7.
|
|
62
|
-
"@olane/o-core": "^0.7.
|
|
63
|
-
"@olane/o-intelligence": "^0.7.
|
|
64
|
-
"@olane/o-lane": "^0.7.
|
|
65
|
-
"@olane/o-leader": "^0.7.
|
|
66
|
-
"@olane/o-protocol": "^0.7.
|
|
67
|
-
"@olane/o-storage": "^0.7.
|
|
68
|
-
"@olane/o-tool": "^0.7.
|
|
69
|
-
"@olane/o-tool-registry": "^0.7.
|
|
70
|
-
"@olane/o-tools-common": "^0.7.
|
|
61
|
+
"@olane/o-config": "^0.7.6",
|
|
62
|
+
"@olane/o-core": "^0.7.6",
|
|
63
|
+
"@olane/o-intelligence": "^0.7.6",
|
|
64
|
+
"@olane/o-lane": "^0.7.6",
|
|
65
|
+
"@olane/o-leader": "^0.7.6",
|
|
66
|
+
"@olane/o-protocol": "^0.7.6",
|
|
67
|
+
"@olane/o-storage": "^0.7.6",
|
|
68
|
+
"@olane/o-tool": "^0.7.6",
|
|
69
|
+
"@olane/o-tool-registry": "^0.7.6",
|
|
70
|
+
"@olane/o-tools-common": "^0.7.6"
|
|
71
71
|
},
|
|
72
72
|
"dependencies": {
|
|
73
73
|
"chalk": "^5.4.1",
|