@olane/os 0.7.6 → 0.7.8

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.
@@ -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;CACvB"}
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;IAkDzB,aAAa;IAUb,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG;IASnC,KAAK,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,UAAU,EAAE,CAAA;KAAE,CAAC;IAgC9D,IAAI;IAwBJ,OAAO;CAKd"}
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 plans = Array.from(new Set(this.config?.lanes || []));
139
- for (const plan of plans) {
140
- this.logger.debug('Running saved plan: ' + plan);
141
- await this.use(new oAddress(plan), {
142
- method: 'use',
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
- return entryNode.use(oAddress, params);
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":"AAOA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,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;CAChC;AAED,MAAM,WAAW,SAAS;IACxB,aAAa,EAAE,MAAM,CAAC;CACvB;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;WAMvB,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;WAQ1D,eAAe,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC;WAuBnD,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAM3D"}
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"}
@@ -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.6",
3
+ "version": "0.7.8",
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.5",
62
- "@olane/o-core": "^0.7.5",
63
- "@olane/o-intelligence": "^0.7.5",
64
- "@olane/o-lane": "^0.7.5",
65
- "@olane/o-leader": "^0.7.5",
66
- "@olane/o-protocol": "^0.7.5",
67
- "@olane/o-storage": "^0.7.5",
68
- "@olane/o-tool": "^0.7.5",
69
- "@olane/o-tool-registry": "^0.7.5",
70
- "@olane/o-tools-common": "^0.7.5"
61
+ "@olane/o-config": "^0.7.7",
62
+ "@olane/o-core": "^0.7.7",
63
+ "@olane/o-intelligence": "^0.7.7",
64
+ "@olane/o-lane": "^0.7.7",
65
+ "@olane/o-leader": "^0.7.7",
66
+ "@olane/o-protocol": "^0.7.7",
67
+ "@olane/o-storage": "^0.7.7",
68
+ "@olane/o-tool": "^0.7.7",
69
+ "@olane/o-tool-registry": "^0.7.7",
70
+ "@olane/o-tools-common": "^0.7.7"
71
71
  },
72
72
  "dependencies": {
73
73
  "chalk": "^5.4.1",