@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.
Files changed (94) hide show
  1. package/dist/agent/agents.tool.d.ts +10 -0
  2. package/dist/agent/agents.tool.d.ts.map +1 -0
  3. package/dist/agent/agents.tool.js +20 -0
  4. package/dist/agent/ai-agent.tool.d.ts +6 -0
  5. package/dist/agent/ai-agent.tool.d.ts.map +1 -0
  6. package/dist/agent/ai-agent.tool.js +10 -0
  7. package/dist/agent/base-agent.tool.d.ts +11 -0
  8. package/dist/agent/base-agent.tool.d.ts.map +1 -0
  9. package/dist/agent/base-agent.tool.js +30 -0
  10. package/dist/agent/human-agent.tool.d.ts +6 -0
  11. package/dist/agent/human-agent.tool.d.ts.map +1 -0
  12. package/dist/agent/human-agent.tool.js +10 -0
  13. package/dist/agent/index.d.ts +5 -0
  14. package/dist/agent/index.d.ts.map +1 -0
  15. package/dist/agent/index.js +4 -0
  16. package/dist/agent/interfaces/agent.config.d.ts +6 -0
  17. package/dist/agent/interfaces/agent.config.d.ts.map +1 -0
  18. package/dist/agent/interfaces/agent.config.js +1 -0
  19. package/dist/agent/methods/agent.methods.d.ts +5 -0
  20. package/dist/agent/methods/agent.methods.d.ts.map +1 -0
  21. package/dist/agent/methods/agent.methods.js +30 -0
  22. package/dist/leader/index.d.ts +2 -0
  23. package/dist/leader/index.d.ts.map +1 -0
  24. package/dist/leader/index.js +1 -0
  25. package/dist/leader/leader.node.d.ts +10 -0
  26. package/dist/leader/leader.node.d.ts.map +1 -0
  27. package/dist/leader/leader.node.js +63 -0
  28. package/dist/leader/methods/start.method.d.ts +3 -0
  29. package/dist/leader/methods/start.method.d.ts.map +1 -0
  30. package/dist/leader/methods/start.method.js +21 -0
  31. package/dist/plan/methods/plan.methods.d.ts +5 -0
  32. package/dist/plan/methods/plan.methods.d.ts.map +1 -0
  33. package/dist/plan/methods/plan.methods.js +8 -0
  34. package/dist/registry/index.d.ts +3 -0
  35. package/dist/registry/index.d.ts.map +1 -0
  36. package/dist/registry/index.js +2 -0
  37. package/dist/registry/interfaces/search.interface.d.ts +6 -0
  38. package/dist/registry/interfaces/search.interface.d.ts.map +1 -0
  39. package/dist/registry/interfaces/search.interface.js +1 -0
  40. package/dist/registry/methods/registry.methods.d.ts +5 -0
  41. package/dist/registry/methods/registry.methods.d.ts.map +1 -0
  42. package/dist/registry/methods/registry.methods.js +74 -0
  43. package/dist/registry/registry-memory.tool.d.ts +9 -0
  44. package/dist/registry/registry-memory.tool.d.ts.map +1 -0
  45. package/dist/registry/registry-memory.tool.js +51 -0
  46. package/dist/registry/registry.tool.d.ts +13 -0
  47. package/dist/registry/registry.tool.d.ts.map +1 -0
  48. package/dist/registry/registry.tool.js +15 -0
  49. package/dist/setup/index.d.ts +3 -0
  50. package/dist/setup/index.d.ts.map +1 -0
  51. package/dist/setup/index.js +2 -0
  52. package/dist/setup/methods/setup.method.d.ts +5 -0
  53. package/dist/setup/methods/setup.method.d.ts.map +1 -0
  54. package/dist/setup/methods/setup.method.js +16 -0
  55. package/dist/setup/setup.tool.d.ts +11 -0
  56. package/dist/setup/setup.tool.d.ts.map +1 -0
  57. package/dist/setup/setup.tool.js +52 -0
  58. package/dist/storage/index.d.ts +8 -0
  59. package/dist/storage/index.d.ts.map +1 -0
  60. package/dist/storage/index.js +7 -0
  61. package/dist/storage/interfaces/get-data.response.d.ts +4 -0
  62. package/dist/storage/interfaces/get-data.response.d.ts.map +1 -0
  63. package/dist/storage/interfaces/get-data.response.js +1 -0
  64. package/dist/storage/interfaces/index.d.ts +2 -0
  65. package/dist/storage/interfaces/index.d.ts.map +1 -0
  66. package/dist/storage/interfaces/index.js +1 -0
  67. package/dist/storage/methods/storage.methods.d.ts +5 -0
  68. package/dist/storage/methods/storage.methods.d.ts.map +1 -0
  69. package/dist/storage/methods/storage.methods.js +65 -0
  70. package/dist/storage/placeholder.tool.d.ts +6 -0
  71. package/dist/storage/placeholder.tool.d.ts.map +1 -0
  72. package/dist/storage/placeholder.tool.js +10 -0
  73. package/dist/storage/providers/dht-storage-provider.tool.d.ts +12 -0
  74. package/dist/storage/providers/dht-storage-provider.tool.d.ts.map +1 -0
  75. package/dist/storage/providers/dht-storage-provider.tool.js +25 -0
  76. package/dist/storage/providers/disk-storage-provider.tool.d.ts +45 -0
  77. package/dist/storage/providers/disk-storage-provider.tool.d.ts.map +1 -0
  78. package/dist/storage/providers/disk-storage-provider.tool.js +134 -0
  79. package/dist/storage/providers/encrypted-storage-provider.tool.d.ts +1 -0
  80. package/dist/storage/providers/encrypted-storage-provider.tool.d.ts.map +1 -0
  81. package/dist/storage/providers/encrypted-storage-provider.tool.js +63 -0
  82. package/dist/storage/providers/memory-storage-provider.tool.d.ts +32 -0
  83. package/dist/storage/providers/memory-storage-provider.tool.d.ts.map +1 -0
  84. package/dist/storage/providers/memory-storage-provider.tool.js +65 -0
  85. package/dist/storage/providers/secure-storage-provider.tool.d.ts +25 -0
  86. package/dist/storage/providers/secure-storage-provider.tool.d.ts.map +1 -0
  87. package/dist/storage/providers/secure-storage-provider.tool.js +72 -0
  88. package/dist/storage/providers/storage-provider.tool.d.ts +11 -0
  89. package/dist/storage/providers/storage-provider.tool.d.ts.map +1 -0
  90. package/dist/storage/providers/storage-provider.tool.js +24 -0
  91. package/dist/storage/storage.tool.d.ts +12 -0
  92. package/dist/storage/storage.tool.d.ts.map +1 -0
  93. package/dist/storage/storage.tool.js +46 -0
  94. 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.12",
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.11",
58
- "@olane/o-core": "^0.6.11",
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.11",
60
+ "@olane/o-protocol": "^0.6.12",
61
61
  "@olane/o-storage": "^0.6.7",
62
- "@olane/o-tool": "^0.6.11"
62
+ "@olane/o-tool": "^0.6.12"
63
63
  },
64
64
  "dependencies": {
65
65
  "debug": "^4.4.1",