@olane/o-tools-common 0.6.12 → 0.6.13
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/agent/agents.tool.d.ts +10 -0
- package/dist/agent/agents.tool.d.ts.map +1 -0
- package/dist/agent/agents.tool.js +20 -0
- package/dist/agent/ai-agent.tool.d.ts +6 -0
- package/dist/agent/ai-agent.tool.d.ts.map +1 -0
- package/dist/agent/ai-agent.tool.js +10 -0
- package/dist/agent/base-agent.tool.d.ts +11 -0
- package/dist/agent/base-agent.tool.d.ts.map +1 -0
- package/dist/agent/base-agent.tool.js +30 -0
- package/dist/agent/human-agent.tool.d.ts +6 -0
- package/dist/agent/human-agent.tool.d.ts.map +1 -0
- package/dist/agent/human-agent.tool.js +10 -0
- package/dist/agent/index.d.ts +5 -0
- package/dist/agent/index.d.ts.map +1 -0
- package/dist/agent/index.js +4 -0
- package/dist/agent/interfaces/agent.config.d.ts +6 -0
- package/dist/agent/interfaces/agent.config.d.ts.map +1 -0
- package/dist/agent/interfaces/agent.config.js +1 -0
- package/dist/agent/methods/agent.methods.d.ts +5 -0
- package/dist/agent/methods/agent.methods.d.ts.map +1 -0
- package/dist/agent/methods/agent.methods.js +30 -0
- package/dist/leader/index.d.ts +2 -0
- package/dist/leader/index.d.ts.map +1 -0
- package/dist/leader/index.js +1 -0
- package/dist/leader/leader.node.d.ts +10 -0
- package/dist/leader/leader.node.d.ts.map +1 -0
- package/dist/leader/leader.node.js +63 -0
- package/dist/leader/methods/start.method.d.ts +3 -0
- package/dist/leader/methods/start.method.d.ts.map +1 -0
- package/dist/leader/methods/start.method.js +21 -0
- package/dist/plan/methods/plan.methods.d.ts +5 -0
- package/dist/plan/methods/plan.methods.d.ts.map +1 -0
- package/dist/plan/methods/plan.methods.js +8 -0
- package/dist/registry/index.d.ts +3 -0
- package/dist/registry/index.d.ts.map +1 -0
- package/dist/registry/index.js +2 -0
- package/dist/registry/interfaces/search.interface.d.ts +6 -0
- package/dist/registry/interfaces/search.interface.d.ts.map +1 -0
- package/dist/registry/interfaces/search.interface.js +1 -0
- package/dist/registry/methods/registry.methods.d.ts +5 -0
- package/dist/registry/methods/registry.methods.d.ts.map +1 -0
- package/dist/registry/methods/registry.methods.js +74 -0
- package/dist/registry/registry-memory.tool.d.ts +9 -0
- package/dist/registry/registry-memory.tool.d.ts.map +1 -0
- package/dist/registry/registry-memory.tool.js +51 -0
- package/dist/registry/registry.tool.d.ts +13 -0
- package/dist/registry/registry.tool.d.ts.map +1 -0
- package/dist/registry/registry.tool.js +15 -0
- package/dist/setup/index.d.ts +3 -0
- package/dist/setup/index.d.ts.map +1 -0
- package/dist/setup/index.js +2 -0
- package/dist/setup/methods/setup.method.d.ts +5 -0
- package/dist/setup/methods/setup.method.d.ts.map +1 -0
- package/dist/setup/methods/setup.method.js +16 -0
- package/dist/setup/setup.tool.d.ts +11 -0
- package/dist/setup/setup.tool.d.ts.map +1 -0
- package/dist/setup/setup.tool.js +52 -0
- package/dist/storage/index.d.ts +8 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/index.js +7 -0
- package/dist/storage/interfaces/get-data.response.d.ts +4 -0
- package/dist/storage/interfaces/get-data.response.d.ts.map +1 -0
- package/dist/storage/interfaces/get-data.response.js +1 -0
- package/dist/storage/interfaces/index.d.ts +2 -0
- package/dist/storage/interfaces/index.d.ts.map +1 -0
- package/dist/storage/interfaces/index.js +1 -0
- package/dist/storage/methods/storage.methods.d.ts +5 -0
- package/dist/storage/methods/storage.methods.d.ts.map +1 -0
- package/dist/storage/methods/storage.methods.js +65 -0
- package/dist/storage/placeholder.tool.d.ts +6 -0
- package/dist/storage/placeholder.tool.d.ts.map +1 -0
- package/dist/storage/placeholder.tool.js +10 -0
- package/dist/storage/providers/dht-storage-provider.tool.d.ts +12 -0
- package/dist/storage/providers/dht-storage-provider.tool.d.ts.map +1 -0
- package/dist/storage/providers/dht-storage-provider.tool.js +25 -0
- package/dist/storage/providers/disk-storage-provider.tool.d.ts +45 -0
- package/dist/storage/providers/disk-storage-provider.tool.d.ts.map +1 -0
- package/dist/storage/providers/disk-storage-provider.tool.js +134 -0
- package/dist/storage/providers/encrypted-storage-provider.tool.d.ts +1 -0
- package/dist/storage/providers/encrypted-storage-provider.tool.d.ts.map +1 -0
- package/dist/storage/providers/encrypted-storage-provider.tool.js +63 -0
- package/dist/storage/providers/memory-storage-provider.tool.d.ts +32 -0
- package/dist/storage/providers/memory-storage-provider.tool.d.ts.map +1 -0
- package/dist/storage/providers/memory-storage-provider.tool.js +65 -0
- package/dist/storage/providers/secure-storage-provider.tool.d.ts +25 -0
- package/dist/storage/providers/secure-storage-provider.tool.d.ts.map +1 -0
- package/dist/storage/providers/secure-storage-provider.tool.js +72 -0
- package/dist/storage/providers/storage-provider.tool.d.ts +11 -0
- package/dist/storage/providers/storage-provider.tool.d.ts.map +1 -0
- package/dist/storage/providers/storage-provider.tool.js +24 -0
- package/dist/storage/storage.tool.d.ts +12 -0
- package/dist/storage/storage.tool.d.ts.map +1 -0
- package/dist/storage/storage.tool.js +46 -0
- package/package.json +5 -5
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { oAddress } from '@olane/o-core';
|
|
2
|
+
import fs from 'fs/promises';
|
|
3
|
+
import { STORAGE_PARAMS } from '../methods/storage.methods.js';
|
|
4
|
+
import { DiskStorageProvider } from './disk-storage-provider.tool.js';
|
|
5
|
+
export class SecureStorageProvider extends DiskStorageProvider {
|
|
6
|
+
constructor(config) {
|
|
7
|
+
super({
|
|
8
|
+
...config,
|
|
9
|
+
address: config.address || new oAddress('o://secure-storage'),
|
|
10
|
+
methods: STORAGE_PARAMS,
|
|
11
|
+
description: 'Secure storage provider',
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Store data on disk
|
|
16
|
+
* @param key The key to store the data under
|
|
17
|
+
* @param value The data to store
|
|
18
|
+
*/
|
|
19
|
+
async _tool_put(request) {
|
|
20
|
+
try {
|
|
21
|
+
await this.ensureStorageDir();
|
|
22
|
+
const { key, value } = request.params;
|
|
23
|
+
const filePath = this.getFilePath(key);
|
|
24
|
+
// encrypt the value
|
|
25
|
+
const response = await this.use(new oAddress('o://encryption'), {
|
|
26
|
+
method: 'encrypt',
|
|
27
|
+
params: {
|
|
28
|
+
value: value,
|
|
29
|
+
},
|
|
30
|
+
});
|
|
31
|
+
const { value: encryptedValue } = response.result.data;
|
|
32
|
+
// Store the data as JSON with metadata
|
|
33
|
+
const data = {
|
|
34
|
+
value: encryptedValue,
|
|
35
|
+
timestamp: new Date().toISOString(),
|
|
36
|
+
key: key,
|
|
37
|
+
};
|
|
38
|
+
await fs.writeFile(filePath, JSON.stringify(data, null, 2), 'utf8');
|
|
39
|
+
return {
|
|
40
|
+
success: true,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
catch (error) {
|
|
44
|
+
return {
|
|
45
|
+
success: false,
|
|
46
|
+
error: `Failed to store data: ${error instanceof Error ? error.message : 'Unknown error'}`,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Retrieve data from disk
|
|
52
|
+
* @param key The key to retrieve
|
|
53
|
+
* @returns The stored data or null if not found
|
|
54
|
+
*/
|
|
55
|
+
async _tool_get(request) {
|
|
56
|
+
const { key } = request.params;
|
|
57
|
+
const filePath = this.getFilePath(key);
|
|
58
|
+
const fileContent = await fs.readFile(filePath, 'utf8');
|
|
59
|
+
const { value } = JSON.parse(fileContent);
|
|
60
|
+
// decrypt the value
|
|
61
|
+
const response = await this.use(new oAddress('o://encryption'), {
|
|
62
|
+
method: 'decrypt',
|
|
63
|
+
params: {
|
|
64
|
+
value: value,
|
|
65
|
+
},
|
|
66
|
+
});
|
|
67
|
+
const { value: decryptedValue } = response.result.data;
|
|
68
|
+
return {
|
|
69
|
+
value: decryptedValue,
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { oVirtualTool, ToolResult } from '@olane/o-tool';
|
|
2
|
+
import { oAddress, oRequest, oResponse } from '@olane/o-core';
|
|
3
|
+
import { GetDataResponse } from '../interfaces/get-data.response.js';
|
|
4
|
+
export declare abstract class StorageProviderTool extends oVirtualTool {
|
|
5
|
+
abstract _tool_put(request: oRequest): Promise<ToolResult>;
|
|
6
|
+
abstract _tool_get(request: oRequest): Promise<GetDataResponse>;
|
|
7
|
+
abstract _tool_delete(request: oRequest): Promise<ToolResult>;
|
|
8
|
+
abstract _tool_has(request: oRequest): Promise<ToolResult>;
|
|
9
|
+
applyBridgeTransports(address: oAddress, request: oRequest): Promise<oResponse>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=storage-provider.tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage-provider.tool.d.ts","sourceRoot":"","sources":["../../../src/storage/providers/storage-provider.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAa,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAErE,8BAAsB,mBAAoB,SAAQ,YAAY;IAC5D,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;IAE1D,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,eAAe,CAAC;IAE/D,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;IAE7D,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;IAEpD,qBAAqB,CACzB,OAAO,EAAE,QAAQ,EACjB,OAAO,EAAE,QAAQ,GAChB,OAAO,CAAC,SAAS,CAAC;CA+BtB"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { oVirtualTool, ToolUtils } from '@olane/o-tool';
|
|
2
|
+
export class StorageProviderTool extends oVirtualTool {
|
|
3
|
+
async applyBridgeTransports(address, request) {
|
|
4
|
+
this.logger.debug('Applying bridge transports to address: ', address);
|
|
5
|
+
// extract the key from the address
|
|
6
|
+
const key = address.toString().split('/').pop();
|
|
7
|
+
if (!key) {
|
|
8
|
+
throw new Error('Invalid address');
|
|
9
|
+
}
|
|
10
|
+
// restructure the request to include the key
|
|
11
|
+
request.params = {
|
|
12
|
+
...request.params,
|
|
13
|
+
key,
|
|
14
|
+
};
|
|
15
|
+
// call the appropriate method
|
|
16
|
+
const result = await this.execute(request).catch((error) => {
|
|
17
|
+
this.logger.error('Error executing tool: ', error);
|
|
18
|
+
return {
|
|
19
|
+
error: error.message,
|
|
20
|
+
};
|
|
21
|
+
});
|
|
22
|
+
return ToolUtils.buildResponse(request, result, result?.error);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { oRequest } from '@olane/o-core';
|
|
2
|
+
import { oToolConfig, ToolResult } from '@olane/o-tool';
|
|
3
|
+
import { StorageProviderTool } from './providers/storage-provider.tool.js';
|
|
4
|
+
import { GetDataResponse } from './interfaces/get-data.response.js';
|
|
5
|
+
export declare class StorageTool extends StorageProviderTool {
|
|
6
|
+
constructor(config: oToolConfig);
|
|
7
|
+
_tool_put(request: oRequest): Promise<ToolResult>;
|
|
8
|
+
_tool_get(request: oRequest): Promise<GetDataResponse>;
|
|
9
|
+
_tool_delete(request: oRequest): Promise<ToolResult>;
|
|
10
|
+
_tool_has(request: oRequest): Promise<ToolResult>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=storage.tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage.tool.d.ts","sourceRoot":"","sources":["../../src/storage/storage.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,QAAQ,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAIpE,qBAAa,WAAY,SAAQ,mBAAmB;gBACtC,MAAM,EAAE,WAAW;IAkCzB,SAAS,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;IAKjD,SAAS,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,eAAe,CAAC;IAItD,YAAY,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;IAIpD,SAAS,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;CAGxD"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { oAddress } from '@olane/o-core';
|
|
2
|
+
import { DiskStorageProvider } from './providers/disk-storage-provider.tool.js';
|
|
3
|
+
import { MemoryStorageProvider } from './providers/memory-storage-provider.tool.js';
|
|
4
|
+
import { StorageProviderTool } from './providers/storage-provider.tool.js';
|
|
5
|
+
import { SecureStorageProvider } from './providers/secure-storage-provider.tool.js';
|
|
6
|
+
import { PlaceholderTool } from './placeholder.tool.js';
|
|
7
|
+
export class StorageTool extends StorageProviderTool {
|
|
8
|
+
constructor(config) {
|
|
9
|
+
super({
|
|
10
|
+
...config,
|
|
11
|
+
address: new oAddress('o://storage'),
|
|
12
|
+
description: 'Tool to store and retrieve data from the network',
|
|
13
|
+
});
|
|
14
|
+
this.addChildNode(new DiskStorageProvider({
|
|
15
|
+
name: 'disk',
|
|
16
|
+
...config,
|
|
17
|
+
}));
|
|
18
|
+
this.addChildNode(new MemoryStorageProvider({
|
|
19
|
+
name: 'memory',
|
|
20
|
+
address: new oAddress('o://memory'),
|
|
21
|
+
...config,
|
|
22
|
+
}));
|
|
23
|
+
this.addChildNode(new SecureStorageProvider({
|
|
24
|
+
name: 'secure',
|
|
25
|
+
address: new oAddress('o://secure'),
|
|
26
|
+
...config,
|
|
27
|
+
}));
|
|
28
|
+
this.addChildNode(new PlaceholderTool({
|
|
29
|
+
name: 'placeholder storage',
|
|
30
|
+
...config,
|
|
31
|
+
}));
|
|
32
|
+
}
|
|
33
|
+
async _tool_put(request) {
|
|
34
|
+
// return this.use()
|
|
35
|
+
throw new Error('Not implemented');
|
|
36
|
+
}
|
|
37
|
+
async _tool_get(request) {
|
|
38
|
+
throw new Error('Not implemented');
|
|
39
|
+
}
|
|
40
|
+
async _tool_delete(request) {
|
|
41
|
+
throw new Error('Not implemented');
|
|
42
|
+
}
|
|
43
|
+
async _tool_has(request) {
|
|
44
|
+
throw new Error('Not implemented');
|
|
45
|
+
}
|
|
46
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@olane/o-tools-common",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.13",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -54,12 +54,12 @@
|
|
|
54
54
|
"typescript": "5.4.5"
|
|
55
55
|
},
|
|
56
56
|
"peerDependencies": {
|
|
57
|
-
"@olane/o-config": "^0.6.
|
|
58
|
-
"@olane/o-core": "^0.6.
|
|
57
|
+
"@olane/o-config": "^0.6.12",
|
|
58
|
+
"@olane/o-core": "^0.6.12",
|
|
59
59
|
"@olane/o-leader": "^0.6.7",
|
|
60
|
-
"@olane/o-protocol": "^0.6.
|
|
60
|
+
"@olane/o-protocol": "^0.6.12",
|
|
61
61
|
"@olane/o-storage": "^0.6.7",
|
|
62
|
-
"@olane/o-tool": "^0.6.
|
|
62
|
+
"@olane/o-tool": "^0.6.12"
|
|
63
63
|
},
|
|
64
64
|
"dependencies": {
|
|
65
65
|
"debug": "^4.4.1",
|