@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,52 @@
1
+ import { oVirtualTool } from '@olane/o-tool';
2
+ import { oAddress } from '@olane/o-core';
3
+ import { SETUP_METHODS } from './methods/setup.method.js';
4
+ export class SetupTool extends oVirtualTool {
5
+ constructor(config) {
6
+ super({
7
+ ...config,
8
+ address: new oAddress('o://setup'),
9
+ methods: SETUP_METHODS,
10
+ description: 'Tool to help configure default tools on the network',
11
+ });
12
+ }
13
+ async validateTool(address, method) {
14
+ // we want to validate a specific tool
15
+ const tool = await this.use(address, {
16
+ method: method,
17
+ params: {},
18
+ });
19
+ return {
20
+ result: tool.result.error,
21
+ };
22
+ }
23
+ async validateAllTools() {
24
+ // we want to validate all common tools on the network
25
+ return {
26
+ result: null,
27
+ };
28
+ }
29
+ async _tool_validate(request) {
30
+ const params = request.params;
31
+ const { address } = params;
32
+ if (!address) {
33
+ // we want to validate all common tools on the network
34
+ }
35
+ else {
36
+ // let's validate a specific tool
37
+ const tool = await this.validateTool(new oAddress('o://intelligence'), 'completion');
38
+ console.log('Validation result: ', tool?.result?.details?.parameters);
39
+ return tool?.result?.details?.parameters;
40
+ }
41
+ return {
42
+ result: null,
43
+ };
44
+ }
45
+ async _tool_store_parameters(request) {
46
+ const params = request.params;
47
+ const { parameters, address } = params;
48
+ return {
49
+ result: null,
50
+ };
51
+ }
52
+ }
@@ -0,0 +1,8 @@
1
+ export * from './storage.tool.js';
2
+ export * from './providers/memory-storage-provider.tool.js';
3
+ export * from './providers/disk-storage-provider.tool.js';
4
+ export * from './providers/secure-storage-provider.tool.js';
5
+ export * from './providers/storage-provider.tool.js';
6
+ export * from './interfaces/index.js';
7
+ export * from './placeholder.tool.js';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,6CAA6C,CAAC;AAC5D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,sCAAsC,CAAC;AACrD,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,7 @@
1
+ export * from './storage.tool.js';
2
+ export * from './providers/memory-storage-provider.tool.js';
3
+ export * from './providers/disk-storage-provider.tool.js';
4
+ export * from './providers/secure-storage-provider.tool.js';
5
+ export * from './providers/storage-provider.tool.js';
6
+ export * from './interfaces/index.js';
7
+ export * from './placeholder.tool.js';
@@ -0,0 +1,4 @@
1
+ export interface GetDataResponse {
2
+ value: string | null;
3
+ }
4
+ //# sourceMappingURL=get-data.response.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-data.response.d.ts","sourceRoot":"","sources":["../../../src/storage/interfaces/get-data.response.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ export * from './get-data.response.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC"}
@@ -0,0 +1 @@
1
+ export * from './get-data.response.js';
@@ -0,0 +1,5 @@
1
+ import { oMethod } from '@olane/o-protocol';
2
+ export declare const STORAGE_PARAMS: {
3
+ [key: string]: oMethod;
4
+ };
5
+ //# sourceMappingURL=storage.methods.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.methods.d.ts","sourceRoot":"","sources":["../../../src/storage/methods/storage.methods.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,eAAO,MAAM,cAAc,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAgEpD,CAAC"}
@@ -0,0 +1,65 @@
1
+ export const STORAGE_PARAMS = {
2
+ put: {
3
+ name: 'put',
4
+ description: 'Store data on disk',
5
+ dependencies: [],
6
+ parameters: [
7
+ {
8
+ name: 'key',
9
+ type: 'string',
10
+ value: 'string',
11
+ description: 'Store data on disk',
12
+ required: true,
13
+ },
14
+ {
15
+ name: 'value',
16
+ type: 'string',
17
+ value: 'string',
18
+ description: 'The data to store',
19
+ required: true,
20
+ },
21
+ ],
22
+ },
23
+ get: {
24
+ name: 'get',
25
+ description: 'Retrieve data from disk',
26
+ dependencies: [],
27
+ parameters: [
28
+ {
29
+ name: 'key',
30
+ type: 'string',
31
+ value: 'string',
32
+ description: 'The key to retrieve',
33
+ required: true,
34
+ },
35
+ ],
36
+ },
37
+ delete: {
38
+ name: 'delete',
39
+ description: 'Delete data from disk',
40
+ dependencies: [],
41
+ parameters: [
42
+ {
43
+ name: 'key',
44
+ type: 'string',
45
+ value: 'string',
46
+ description: 'The key to delete',
47
+ required: true,
48
+ },
49
+ ],
50
+ },
51
+ has: {
52
+ name: 'has',
53
+ description: 'Check if data exists on disk',
54
+ dependencies: [],
55
+ parameters: [
56
+ {
57
+ name: 'key',
58
+ type: 'string',
59
+ value: 'string',
60
+ description: 'The key to check',
61
+ required: true,
62
+ },
63
+ ],
64
+ },
65
+ };
@@ -0,0 +1,6 @@
1
+ import { oToolConfig } from '@olane/o-tool';
2
+ import { MemoryStorageProvider } from './providers/memory-storage-provider.tool.js';
3
+ export declare class PlaceholderTool extends MemoryStorageProvider {
4
+ constructor(config: oToolConfig);
5
+ }
6
+ //# sourceMappingURL=placeholder.tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"placeholder.tool.d.ts","sourceRoot":"","sources":["../../src/storage/placeholder.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAC;AAGpF,qBAAa,eAAgB,SAAQ,qBAAqB;gBAC5C,MAAM,EAAE,WAAW;CAMhC"}
@@ -0,0 +1,10 @@
1
+ import { MemoryStorageProvider } from './providers/memory-storage-provider.tool.js';
2
+ import { oAddress } from '../../../../dist/src/core/o-address.js';
3
+ export class PlaceholderTool extends MemoryStorageProvider {
4
+ constructor(config) {
5
+ super({
6
+ ...config,
7
+ address: new oAddress('o://placeholder'),
8
+ });
9
+ }
10
+ }
@@ -0,0 +1,12 @@
1
+ import { oToolConfig, ToolResult } from '@olane/o-tool';
2
+ import { StorageProviderTool } from './storage-provider.tool.js';
3
+ import { oRequest } from '@olane/o-core';
4
+ import { GetDataResponse } from '../interfaces/get-data.response.js';
5
+ export declare class DhtStorageProvider 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=dht-storage-provider.tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dht-storage-provider.tool.d.ts","sourceRoot":"","sources":["../../../src/storage/providers/dht-storage-provider.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAY,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAErE,qBAAa,kBAAmB,SAAQ,mBAAmB;gBAC7C,MAAM,EAAE,WAAW;IASzB,SAAS,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;IAIjD,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,25 @@
1
+ import { StorageProviderTool } from './storage-provider.tool.js';
2
+ import { oAddress } from '@olane/o-core';
3
+ import { STORAGE_PARAMS } from '../methods/storage.methods.js';
4
+ export class DhtStorageProvider extends StorageProviderTool {
5
+ constructor(config) {
6
+ super({
7
+ ...config,
8
+ address: new oAddress('o://dht'),
9
+ methods: STORAGE_PARAMS,
10
+ description: 'Distributed hash table storage provider',
11
+ });
12
+ }
13
+ async _tool_put(request) {
14
+ throw new Error('Not implemented');
15
+ }
16
+ async _tool_get(request) {
17
+ throw new Error('Not implemented');
18
+ }
19
+ async _tool_delete(request) {
20
+ throw new Error('Not implemented');
21
+ }
22
+ async _tool_has(request) {
23
+ throw new Error('Not implemented');
24
+ }
25
+ }
@@ -0,0 +1,45 @@
1
+ import { oToolConfig, ToolResult } from '@olane/o-tool';
2
+ import { StorageProviderTool } from './storage-provider.tool.js';
3
+ import { oAddress, oRequest } from '@olane/o-core';
4
+ import { GetDataResponse } from '../interfaces/get-data.response.js';
5
+ interface DiskStorageConfig extends oToolConfig {
6
+ storageDir?: string;
7
+ address?: oAddress;
8
+ }
9
+ export declare class DiskStorageProvider extends StorageProviderTool {
10
+ private storageDir;
11
+ constructor(config: DiskStorageConfig);
12
+ /**
13
+ * Ensure the storage directory exists
14
+ */
15
+ protected ensureStorageDir(): Promise<void>;
16
+ /**
17
+ * Get the file path for a given key
18
+ */
19
+ protected getFilePath(key: string): string;
20
+ /**
21
+ * Store data on disk
22
+ * @param key The key to store the data under
23
+ * @param value The data to store
24
+ */
25
+ _tool_put(request: oRequest): Promise<ToolResult>;
26
+ /**
27
+ * Retrieve data from disk
28
+ * @param key The key to retrieve
29
+ * @returns The stored data or null if not found
30
+ */
31
+ _tool_get(request: oRequest): Promise<GetDataResponse>;
32
+ /**
33
+ * Delete data from disk
34
+ * @param key The key to delete
35
+ */
36
+ _tool_delete(request: oRequest): Promise<ToolResult>;
37
+ /**
38
+ * Check if a key exists on disk
39
+ * @param key The key to check
40
+ * @returns Whether the key exists
41
+ */
42
+ _tool_has(request: oRequest): Promise<ToolResult>;
43
+ }
44
+ export {};
45
+ //# sourceMappingURL=disk-storage-provider.tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disk-storage-provider.tool.d.ts","sourceRoot":"","sources":["../../../src/storage/providers/disk-storage-provider.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAuB,QAAQ,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAIxE,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAGrE,UAAU,iBAAkB,SAAQ,WAAW;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,QAAQ,CAAC;CACpB;AAOD,qBAAa,mBAAoB,SAAQ,mBAAmB;IAC1D,OAAO,CAAC,UAAU,CAAS;gBAEf,MAAM,EAAE,iBAAiB;IAarC;;OAEG;cACa,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAQjD;;OAEG;IACH,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAM1C;;;;OAIG;IACG,SAAS,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;IA0BvD;;;;OAIG;IACG,SAAS,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,eAAe,CAAC;IAW5D;;;OAGG;IACG,YAAY,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;IAyB1D;;;;OAIG;IACG,SAAS,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;CAyBxD"}
@@ -0,0 +1,134 @@
1
+ import { StorageProviderTool } from './storage-provider.tool.js';
2
+ import { DEFAULT_CONFIG_PATH, oAddress } from '@olane/o-core';
3
+ import fs from 'fs/promises';
4
+ import path from 'path';
5
+ import { STORAGE_PARAMS } from '../methods/storage.methods.js';
6
+ export class DiskStorageProvider extends StorageProviderTool {
7
+ constructor(config) {
8
+ super({
9
+ ...config,
10
+ address: config.address || new oAddress('o://disk'),
11
+ methods: STORAGE_PARAMS,
12
+ description: 'Disk storage provider',
13
+ });
14
+ // Use a default storage directory, can be overridden via config
15
+ this.storageDir =
16
+ config.storageDir || path.join(DEFAULT_CONFIG_PATH, 'storage');
17
+ this.ensureStorageDir();
18
+ }
19
+ /**
20
+ * Ensure the storage directory exists
21
+ */
22
+ async ensureStorageDir() {
23
+ try {
24
+ await fs.access(this.storageDir);
25
+ }
26
+ catch {
27
+ await fs.mkdir(this.storageDir, { recursive: true });
28
+ }
29
+ }
30
+ /**
31
+ * Get the file path for a given key
32
+ */
33
+ getFilePath(key) {
34
+ // Sanitize the key to be filesystem safe
35
+ const sanitizedKey = key.replace(/[^a-zA-Z0-9._-]/g, '_');
36
+ return path.join(this.storageDir, `${sanitizedKey}.json`);
37
+ }
38
+ /**
39
+ * Store data on disk
40
+ * @param key The key to store the data under
41
+ * @param value The data to store
42
+ */
43
+ async _tool_put(request) {
44
+ try {
45
+ await this.ensureStorageDir();
46
+ const { key, value } = request.params;
47
+ const filePath = this.getFilePath(key);
48
+ // Store the data as JSON with metadata
49
+ const data = {
50
+ value: value,
51
+ timestamp: new Date().toISOString(),
52
+ key: key,
53
+ };
54
+ await fs.writeFile(filePath, JSON.stringify(data, null, 2), 'utf8');
55
+ return {
56
+ success: true,
57
+ };
58
+ }
59
+ catch (error) {
60
+ return {
61
+ success: false,
62
+ error: `Failed to store data: ${error instanceof Error ? error.message : 'Unknown error'}`,
63
+ };
64
+ }
65
+ }
66
+ /**
67
+ * Retrieve data from disk
68
+ * @param key The key to retrieve
69
+ * @returns The stored data or null if not found
70
+ */
71
+ async _tool_get(request) {
72
+ const { key } = request.params;
73
+ const filePath = this.getFilePath(key);
74
+ const fileContent = await fs.readFile(filePath, 'utf8');
75
+ const data = JSON.parse(fileContent);
76
+ return data.value;
77
+ }
78
+ /**
79
+ * Delete data from disk
80
+ * @param key The key to delete
81
+ */
82
+ async _tool_delete(request) {
83
+ const { key } = request.params;
84
+ try {
85
+ const filePath = this.getFilePath(key);
86
+ await fs.unlink(filePath);
87
+ return {
88
+ success: true,
89
+ };
90
+ }
91
+ catch (error) {
92
+ const nodeError = error;
93
+ if (nodeError.code === 'ENOENT') {
94
+ // File doesn't exist, consider it already deleted
95
+ return {
96
+ success: true,
97
+ };
98
+ }
99
+ return {
100
+ success: false,
101
+ error: `Failed to delete data: ${error instanceof Error ? error.message : 'Unknown error'}`,
102
+ };
103
+ }
104
+ }
105
+ /**
106
+ * Check if a key exists on disk
107
+ * @param key The key to check
108
+ * @returns Whether the key exists
109
+ */
110
+ async _tool_has(request) {
111
+ const { key } = request.params;
112
+ try {
113
+ const filePath = this.getFilePath(key);
114
+ await fs.access(filePath);
115
+ return {
116
+ success: true,
117
+ data: true,
118
+ };
119
+ }
120
+ catch (error) {
121
+ const nodeError = error;
122
+ if (nodeError.code === 'ENOENT') {
123
+ return {
124
+ success: true,
125
+ data: false,
126
+ };
127
+ }
128
+ return {
129
+ success: false,
130
+ error: `Failed to check if key exists: ${error instanceof Error ? error.message : 'Unknown error'}`,
131
+ };
132
+ }
133
+ }
134
+ }
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=encrypted-storage-provider.tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encrypted-storage-provider.tool.d.ts","sourceRoot":"","sources":["../../../src/storage/providers/encrypted-storage-provider.tool.ts"],"names":[],"mappings":""}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ // import { ToolResult } from '@olane/o-tool';
3
+ // import { StorageProviderTool } from './storage-provider.tool';
4
+ // import { CoreConfig, oAddress, oRequest } from '@olane/o-core';
5
+ // import { STORAGE_PARAMS } from '../methods/storage.methods';
6
+ // export class EncryptedStorageProvider extends StorageProviderTool {
7
+ // private storage: Map<string, string>;
8
+ // constructor(config: CoreConfig) {
9
+ // super({
10
+ // ...config,
11
+ // address: config.address || new oAddress('o://encrypted'),
12
+ // methods: STORAGE_PARAMS,
13
+ // });
14
+ // this.storage = new Map();
15
+ // }
16
+ // /**
17
+ // * Store data in memory
18
+ // * @param key The key to store the data under
19
+ // * @param value The data to store
20
+ // */
21
+ // async _tool_put(request: oRequest): Promise<ToolResult> {
22
+ // const { key, value } = request.params;
23
+ // this.storage.set(key as string, value as string);
24
+ // return {
25
+ // success: true,
26
+ // };
27
+ // }
28
+ // /**
29
+ // * Retrieve data from memory
30
+ // * @param key The key to retrieve
31
+ // * @returns The stored data or null if not found
32
+ // */
33
+ // async _tool_get(request: oRequest): Promise<ToolResult> {
34
+ // const { key } = request.params;
35
+ // const value = this.storage.get(key as string);
36
+ // return {
37
+ // success: true,
38
+ // data: value,
39
+ // };
40
+ // }
41
+ // /**
42
+ // * Delete data from memory
43
+ // * @param key The key to delete``
44
+ // */
45
+ // async _tool_delete(request: oRequest): Promise<ToolResult> {
46
+ // const { key } = request.params;
47
+ // this.storage.delete(key as string);
48
+ // return {
49
+ // success: true,
50
+ // };
51
+ // }
52
+ // /**
53
+ // * Check if a key exists in memory
54
+ // * @param key The key to check
55
+ // * @returns Whether the key exists
56
+ // */
57
+ // async _tool_has(request: oRequest): Promise<ToolResult> {
58
+ // const { key } = request.params;
59
+ // return {
60
+ // success: this.storage.has(key as string),
61
+ // };
62
+ // }
63
+ // }
@@ -0,0 +1,32 @@
1
+ import { ToolResult } from '@olane/o-tool';
2
+ import { StorageProviderTool } from './storage-provider.tool.js';
3
+ import { CoreConfig, oRequest } from '@olane/o-core';
4
+ import { GetDataResponse } from '../interfaces/get-data.response.js';
5
+ export declare class MemoryStorageProvider extends StorageProviderTool {
6
+ private storage;
7
+ constructor(config: CoreConfig);
8
+ /**
9
+ * Store data in memory
10
+ * @param key The key to store the data under
11
+ * @param value The data to store
12
+ */
13
+ _tool_put(request: oRequest): Promise<ToolResult>;
14
+ /**
15
+ * Retrieve data from memory
16
+ * @param key The key to retrieve
17
+ * @returns The stored data or null if not found
18
+ */
19
+ _tool_get(request: oRequest): Promise<GetDataResponse>;
20
+ /**
21
+ * Delete data from memory
22
+ * @param key The key to delete``
23
+ */
24
+ _tool_delete(request: oRequest): Promise<ToolResult>;
25
+ /**
26
+ * Check if a key exists in memory
27
+ * @param key The key to check
28
+ * @returns Whether the key exists
29
+ */
30
+ _tool_has(request: oRequest): Promise<ToolResult>;
31
+ }
32
+ //# sourceMappingURL=memory-storage-provider.tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-storage-provider.tool.d.ts","sourceRoot":"","sources":["../../../src/storage/providers/memory-storage-provider.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAY,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE/D,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAErE,qBAAa,qBAAsB,SAAQ,mBAAmB;IAC5D,OAAO,CAAC,OAAO,CAAsB;gBACzB,MAAM,EAAE,UAAU;IAU9B;;;;OAIG;IACG,SAAS,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;IAQvD;;;;OAIG;IACG,SAAS,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,eAAe,CAAC;IAa5D;;;OAGG;IACG,YAAY,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;IAQ1D;;;;OAIG;IACG,SAAS,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;CAMxD"}
@@ -0,0 +1,65 @@
1
+ import { StorageProviderTool } from './storage-provider.tool.js';
2
+ import { oAddress } from '@olane/o-core';
3
+ import { STORAGE_PARAMS } from '../methods/storage.methods.js';
4
+ export class MemoryStorageProvider extends StorageProviderTool {
5
+ constructor(config) {
6
+ super({
7
+ ...config,
8
+ address: config.address || new oAddress('o://memory'),
9
+ methods: STORAGE_PARAMS,
10
+ description: 'In-memory storage provider',
11
+ });
12
+ this.storage = new Map();
13
+ }
14
+ /**
15
+ * Store data in memory
16
+ * @param key The key to store the data under
17
+ * @param value The data to store
18
+ */
19
+ async _tool_put(request) {
20
+ const { key, value } = request.params;
21
+ this.storage.set(key, value);
22
+ return {
23
+ success: true,
24
+ };
25
+ }
26
+ /**
27
+ * Retrieve data from memory
28
+ * @param key The key to retrieve
29
+ * @returns The stored data or null if not found
30
+ */
31
+ async _tool_get(request) {
32
+ const { key } = request.params;
33
+ const value = this.storage.get(key);
34
+ if (!value) {
35
+ return {
36
+ value: null,
37
+ };
38
+ }
39
+ return {
40
+ value: value,
41
+ };
42
+ }
43
+ /**
44
+ * Delete data from memory
45
+ * @param key The key to delete``
46
+ */
47
+ async _tool_delete(request) {
48
+ const { key } = request.params;
49
+ this.storage.delete(key);
50
+ return {
51
+ success: true,
52
+ };
53
+ }
54
+ /**
55
+ * Check if a key exists in memory
56
+ * @param key The key to check
57
+ * @returns Whether the key exists
58
+ */
59
+ async _tool_has(request) {
60
+ const { key } = request.params;
61
+ return {
62
+ success: this.storage.has(key),
63
+ };
64
+ }
65
+ }
@@ -0,0 +1,25 @@
1
+ import { oToolConfig, ToolResult } from '@olane/o-tool';
2
+ import { oAddress, oRequest } from '@olane/o-core';
3
+ import { GetDataResponse } from '../interfaces/get-data.response.js';
4
+ import { DiskStorageProvider } from './disk-storage-provider.tool.js';
5
+ interface DiskStorageConfig extends oToolConfig {
6
+ storageDir?: string;
7
+ address?: oAddress;
8
+ }
9
+ export declare class SecureStorageProvider extends DiskStorageProvider {
10
+ constructor(config: DiskStorageConfig);
11
+ /**
12
+ * Store data on disk
13
+ * @param key The key to store the data under
14
+ * @param value The data to store
15
+ */
16
+ _tool_put(request: oRequest): Promise<ToolResult>;
17
+ /**
18
+ * Retrieve data from disk
19
+ * @param key The key to retrieve
20
+ * @returns The stored data or null if not found
21
+ */
22
+ _tool_get(request: oRequest): Promise<GetDataResponse>;
23
+ }
24
+ export {};
25
+ //# sourceMappingURL=secure-storage-provider.tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secure-storage-provider.tool.d.ts","sourceRoot":"","sources":["../../../src/storage/providers/secure-storage-provider.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGnD,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAGtE,UAAU,iBAAkB,SAAQ,WAAW;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,QAAQ,CAAC;CACpB;AAOD,qBAAa,qBAAsB,SAAQ,mBAAmB;gBAChD,MAAM,EAAE,iBAAiB;IASrC;;;;OAIG;IACG,SAAS,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;IAoCvD;;;;OAIG;IACG,SAAS,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,eAAe,CAAC;CAsB7D"}