@aitos/store 1.0.0

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.
@@ -0,0 +1,2 @@
1
+ import { Atom } from '@aitos/core';
2
+ export declare const getGraphListAtom: Atom;
package/dist/graph.js ADDED
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getGraphListAtom = void 0;
4
+ exports.getGraphListAtom = {
5
+ name: 'getGraphList',
6
+ version: '1.0.0',
7
+ meta: {
8
+ input: [
9
+ { name: 'filter', type: 'string', description: 'Filter: all, native, generated' }
10
+ ],
11
+ output: { type: 'array', description: 'Array of graph metadata' }
12
+ },
13
+ characteristics: { stateless: true, atomic: true, composable: true },
14
+ execute: async (input, context) => {
15
+ const filter = input.filter || 'all';
16
+ const graphs = [];
17
+ const keys = context.store.keys();
18
+ for (const key of keys) {
19
+ const value = context.store.get(key);
20
+ if (key.startsWith('__graph_') && key !== '__graphRegistry') {
21
+ const graphName = key.replace('__graph_', '');
22
+ const isGenerated = graphName.startsWith('generated/');
23
+ if (filter === 'native' && isGenerated)
24
+ continue;
25
+ if (filter === 'generated' && !isGenerated)
26
+ continue;
27
+ const graph = value;
28
+ graphs.push({
29
+ name: graphName,
30
+ description: graph._meta?.description || '',
31
+ category: graph._meta?.category || (isGenerated ? 'generated' : 'native'),
32
+ type: isGenerated ? 'generated' : 'native'
33
+ });
34
+ }
35
+ }
36
+ return { success: true, data: graphs };
37
+ },
38
+ };
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9ncmFwaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFYSxRQUFBLGdCQUFnQixHQUFTO0lBQ3BDLElBQUksRUFBRSxjQUFjO0lBQ3BCLE9BQU8sRUFBRSxPQUFPO0lBQ2hCLElBQUksRUFBRTtRQUNKLEtBQUssRUFBRTtZQUNMLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxnQ0FBZ0MsRUFBRTtTQUNsRjtRQUNELE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLHlCQUF5QixFQUFFO0tBQ2xFO0lBQ0QsZUFBZSxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUU7SUFDcEUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUEwQixFQUFFLE9BQWdCLEVBQW1CLEVBQUU7UUFDL0UsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUM7UUFDckMsTUFBTSxNQUFNLEdBQVUsRUFBRSxDQUFDO1FBRXpCLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbEMsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUN2QixNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNyQyxJQUFJLEdBQUcsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksR0FBRyxLQUFLLGlCQUFpQixFQUFFLENBQUM7Z0JBQzVELE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUM5QyxNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUV2RCxJQUFJLE1BQU0sS0FBSyxRQUFRLElBQUksV0FBVztvQkFBRSxTQUFTO2dCQUNqRCxJQUFJLE1BQU0sS0FBSyxXQUFXLElBQUksQ0FBQyxXQUFXO29CQUFFLFNBQVM7Z0JBRXJELE1BQU0sS0FBSyxHQUFHLEtBQVksQ0FBQztnQkFDM0IsTUFBTSxDQUFDLElBQUksQ0FBQztvQkFDVixJQUFJLEVBQUUsU0FBUztvQkFDZixXQUFXLEVBQUUsS0FBSyxDQUFDLEtBQUssRUFBRSxXQUFXLElBQUksRUFBRTtvQkFDM0MsUUFBUSxFQUFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsUUFBUSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztvQkFDekUsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxRQUFRO2lCQUMzQyxDQUFDLENBQUM7WUFDTCxDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF0b20sIENvbnRleHQsIFJlc3VsdCB9IGZyb20gJ0BhaXRvcy9jb3JlJztcblxuZXhwb3J0IGNvbnN0IGdldEdyYXBoTGlzdEF0b206IEF0b20gPSB7XG4gIG5hbWU6ICdnZXRHcmFwaExpc3QnLFxuICB2ZXJzaW9uOiAnMS4wLjAnLFxuICBtZXRhOiB7XG4gICAgaW5wdXQ6IFtcbiAgICAgIHsgbmFtZTogJ2ZpbHRlcicsIHR5cGU6ICdzdHJpbmcnLCBkZXNjcmlwdGlvbjogJ0ZpbHRlcjogYWxsLCBuYXRpdmUsIGdlbmVyYXRlZCcgfVxuICAgIF0sXG4gICAgb3V0cHV0OiB7IHR5cGU6ICdhcnJheScsIGRlc2NyaXB0aW9uOiAnQXJyYXkgb2YgZ3JhcGggbWV0YWRhdGEnIH1cbiAgfSxcbiAgY2hhcmFjdGVyaXN0aWNzOiB7IHN0YXRlbGVzczogdHJ1ZSwgYXRvbWljOiB0cnVlLCBjb21wb3NhYmxlOiB0cnVlIH0sXG4gIGV4ZWN1dGU6IGFzeW5jIChpbnB1dDogeyBmaWx0ZXI/OiBzdHJpbmcgfSwgY29udGV4dDogQ29udGV4dCk6IFByb21pc2U8UmVzdWx0PiA9PiB7XG4gICAgY29uc3QgZmlsdGVyID0gaW5wdXQuZmlsdGVyIHx8ICdhbGwnO1xuICAgIGNvbnN0IGdyYXBoczogYW55W10gPSBbXTtcblxuICAgIGNvbnN0IGtleXMgPSBjb250ZXh0LnN0b3JlLmtleXMoKTtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzKSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IGNvbnRleHQuc3RvcmUuZ2V0KGtleSk7XG4gICAgICBpZiAoa2V5LnN0YXJ0c1dpdGgoJ19fZ3JhcGhfJykgJiYga2V5ICE9PSAnX19ncmFwaFJlZ2lzdHJ5Jykge1xuICAgICAgICBjb25zdCBncmFwaE5hbWUgPSBrZXkucmVwbGFjZSgnX19ncmFwaF8nLCAnJyk7XG4gICAgICAgIGNvbnN0IGlzR2VuZXJhdGVkID0gZ3JhcGhOYW1lLnN0YXJ0c1dpdGgoJ2dlbmVyYXRlZC8nKTtcbiAgICAgICAgXG4gICAgICAgIGlmIChmaWx0ZXIgPT09ICduYXRpdmUnICYmIGlzR2VuZXJhdGVkKSBjb250aW51ZTtcbiAgICAgICAgaWYgKGZpbHRlciA9PT0gJ2dlbmVyYXRlZCcgJiYgIWlzR2VuZXJhdGVkKSBjb250aW51ZTtcblxuICAgICAgICBjb25zdCBncmFwaCA9IHZhbHVlIGFzIGFueTtcbiAgICAgICAgZ3JhcGhzLnB1c2goe1xuICAgICAgICAgIG5hbWU6IGdyYXBoTmFtZSxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogZ3JhcGguX21ldGE/LmRlc2NyaXB0aW9uIHx8ICcnLFxuICAgICAgICAgIGNhdGVnb3J5OiBncmFwaC5fbWV0YT8uY2F0ZWdvcnkgfHwgKGlzR2VuZXJhdGVkID8gJ2dlbmVyYXRlZCcgOiAnbmF0aXZlJyksXG4gICAgICAgICAgdHlwZTogaXNHZW5lcmF0ZWQgPyAnZ2VuZXJhdGVkJyA6ICduYXRpdmUnXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7IHN1Y2Nlc3M6IHRydWUsIGRhdGE6IGdyYXBocyB9O1xuICB9LFxufTtcbiJdfQ==
@@ -0,0 +1,4 @@
1
+ export * from './local';
2
+ export * from './graph';
3
+ import { Atom } from '@aitos/core';
4
+ export declare const allAtoms: Atom[];
package/dist/index.js ADDED
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.allAtoms = void 0;
18
+ __exportStar(require("./local"), exports);
19
+ __exportStar(require("./graph"), exports);
20
+ const local_1 = require("./local");
21
+ const graph_1 = require("./graph");
22
+ exports.allAtoms = [
23
+ local_1.getItemAtom,
24
+ local_1.setItemAtom,
25
+ local_1.removeItemAtom,
26
+ local_1.clearStorageAtom,
27
+ local_1.getKeysAtom,
28
+ graph_1.getGraphListAtom,
29
+ ];
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDBDQUF3QjtBQUN4QiwwQ0FBd0I7QUFHeEIsbUNBTWlCO0FBRWpCLG1DQUEyQztBQUU5QixRQUFBLFFBQVEsR0FBVztJQUM5QixtQkFBVztJQUNYLG1CQUFXO0lBQ1gsc0JBQWM7SUFDZCx3QkFBZ0I7SUFDaEIsbUJBQVc7SUFDWCx3QkFBZ0I7Q0FDakIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbG9jYWwnO1xuZXhwb3J0ICogZnJvbSAnLi9ncmFwaCc7XG5cbmltcG9ydCB7IEF0b20gfSBmcm9tICdAYWl0b3MvY29yZSc7XG5pbXBvcnQge1xuICBnZXRJdGVtQXRvbSxcbiAgc2V0SXRlbUF0b20sXG4gIHJlbW92ZUl0ZW1BdG9tLFxuICBjbGVhclN0b3JhZ2VBdG9tLFxuICBnZXRLZXlzQXRvbSxcbn0gZnJvbSAnLi9sb2NhbCc7XG5cbmltcG9ydCB7IGdldEdyYXBoTGlzdEF0b20gfSBmcm9tICcuL2dyYXBoJztcblxuZXhwb3J0IGNvbnN0IGFsbEF0b21zOiBBdG9tW10gPSBbXG4gIGdldEl0ZW1BdG9tLFxuICBzZXRJdGVtQXRvbSxcbiAgcmVtb3ZlSXRlbUF0b20sXG4gIGNsZWFyU3RvcmFnZUF0b20sXG4gIGdldEtleXNBdG9tLFxuICBnZXRHcmFwaExpc3RBdG9tLFxuXTtcbiJdfQ==
@@ -0,0 +1,6 @@
1
+ import { Atom } from '@aitos/core';
2
+ export declare const getItemAtom: Atom;
3
+ export declare const setItemAtom: Atom;
4
+ export declare const removeItemAtom: Atom;
5
+ export declare const clearStorageAtom: Atom;
6
+ export declare const getKeysAtom: Atom;
package/dist/local.js ADDED
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getKeysAtom = exports.clearStorageAtom = exports.removeItemAtom = exports.setItemAtom = exports.getItemAtom = void 0;
4
+ exports.getItemAtom = {
5
+ name: 'getItem',
6
+ version: '1.1.0',
7
+ meta: {
8
+ input: [
9
+ { name: 'key', type: 'string', description: 'Storage key' }
10
+ ],
11
+ output: { type: 'any', description: 'Stored value (parsed from JSON) or null' }
12
+ },
13
+ characteristics: { stateless: true, atomic: true, composable: true },
14
+ execute: async (input, context) => {
15
+ if (typeof localStorage === 'undefined') {
16
+ return { success: false, error: 'localStorage not available' };
17
+ }
18
+ try {
19
+ const value = localStorage.getItem(input.key);
20
+ if (value === null) {
21
+ return { success: true, data: null };
22
+ }
23
+ try {
24
+ const parsed = JSON.parse(value);
25
+ return { success: true, data: parsed };
26
+ }
27
+ catch {
28
+ return { success: true, data: value };
29
+ }
30
+ }
31
+ catch (error) {
32
+ return { success: false, error: `Failed to get item: ${error}` };
33
+ }
34
+ },
35
+ };
36
+ exports.setItemAtom = {
37
+ name: 'setItem',
38
+ version: '1.1.0',
39
+ meta: {
40
+ input: [
41
+ { name: 'key', type: 'string', description: 'Storage key' },
42
+ { name: 'value', type: 'any', description: 'Value to store (will be JSON stringified)' }
43
+ ],
44
+ output: { type: 'void', description: 'Nothing' }
45
+ },
46
+ characteristics: { stateless: true, atomic: true, composable: true },
47
+ execute: async (input, context) => {
48
+ if (typeof localStorage === 'undefined') {
49
+ return { success: false, error: 'localStorage not available' };
50
+ }
51
+ try {
52
+ const stringValue = typeof input.value === 'string'
53
+ ? input.value
54
+ : JSON.stringify(input.value);
55
+ localStorage.setItem(input.key, stringValue);
56
+ return { success: true, data: null };
57
+ }
58
+ catch (error) {
59
+ return { success: false, error: `Failed to set item: ${error}` };
60
+ }
61
+ },
62
+ };
63
+ exports.removeItemAtom = {
64
+ name: 'removeItem',
65
+ version: '1.0.0',
66
+ meta: {
67
+ input: [
68
+ { name: 'key', type: 'string', description: 'Storage key to remove' }
69
+ ],
70
+ output: { type: 'void', description: 'Nothing' }
71
+ },
72
+ characteristics: { stateless: true, atomic: true, composable: true },
73
+ execute: async (input, context) => {
74
+ if (typeof localStorage === 'undefined') {
75
+ return { success: false, error: 'localStorage not available' };
76
+ }
77
+ try {
78
+ localStorage.removeItem(input.key);
79
+ return { success: true, data: null };
80
+ }
81
+ catch (error) {
82
+ return { success: false, error: `Failed to remove item: ${error}` };
83
+ }
84
+ },
85
+ };
86
+ exports.clearStorageAtom = {
87
+ name: 'clearStorage',
88
+ version: '1.0.0',
89
+ meta: {
90
+ input: [],
91
+ output: { type: 'void', description: 'Nothing' }
92
+ },
93
+ characteristics: { stateless: true, atomic: true, composable: true },
94
+ execute: async (input, context) => {
95
+ if (typeof localStorage === 'undefined') {
96
+ return { success: false, error: 'localStorage not available' };
97
+ }
98
+ try {
99
+ localStorage.clear();
100
+ return { success: true, data: null };
101
+ }
102
+ catch (error) {
103
+ return { success: false, error: `Failed to clear storage: ${error}` };
104
+ }
105
+ },
106
+ };
107
+ exports.getKeysAtom = {
108
+ name: 'getKeys',
109
+ version: '1.0.0',
110
+ meta: {
111
+ input: [],
112
+ output: { type: 'array', description: 'Array of storage keys' }
113
+ },
114
+ characteristics: { stateless: true, atomic: true, composable: true },
115
+ execute: async (input, context) => {
116
+ if (typeof localStorage === 'undefined') {
117
+ return { success: false, error: 'localStorage not available' };
118
+ }
119
+ try {
120
+ const keys = [];
121
+ for (let i = 0; i < localStorage.length; i++) {
122
+ const key = localStorage.key(i);
123
+ if (key)
124
+ keys.push(key);
125
+ }
126
+ return { success: true, data: keys };
127
+ }
128
+ catch (error) {
129
+ return { success: false, error: `Failed to get keys: ${error}` };
130
+ }
131
+ },
132
+ };
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9sb2NhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFYSxRQUFBLFdBQVcsR0FBUztJQUMvQixJQUFJLEVBQUUsU0FBUztJQUNmLE9BQU8sRUFBRSxPQUFPO0lBQ2hCLElBQUksRUFBRTtRQUNKLEtBQUssRUFBRTtZQUNMLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUU7U0FDNUQ7UUFDRCxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSx5Q0FBeUMsRUFBRTtLQUNoRjtJQUNELGVBQWUsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFO0lBQ3BFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBc0IsRUFBRSxPQUFnQixFQUFtQixFQUFFO1FBQzNFLElBQUksT0FBTyxZQUFZLEtBQUssV0FBVyxFQUFFLENBQUM7WUFDeEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLDRCQUE0QixFQUFFLENBQUM7UUFDakUsQ0FBQztRQUNELElBQUksQ0FBQztZQUNILE1BQU0sS0FBSyxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzlDLElBQUksS0FBSyxLQUFLLElBQUksRUFBRSxDQUFDO2dCQUNuQixPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDdkMsQ0FBQztZQUNELElBQUksQ0FBQztnQkFDSCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNqQyxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFF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QUFFO1FBQ0osS0FBSyxFQUFFLEVBQUU7UUFDVCxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSx1QkFBdUIsRUFBRTtLQUNoRTtJQUNELGVBQWUsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFO0lBQ3BFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBUyxFQUFFLE9BQWdCLEVBQW1CLEVBQUU7UUFDOUQsSUFBSSxPQUFPLFlBQVksS0FBSyxXQUFXLEVBQUUsQ0FBQztZQUN4QyxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsNEJBQTRCLEVBQUUsQ0FBQztRQUNqRSxDQUFDO1FBQ0QsSUFBSSxDQUFDO1lBQ0gsTUFBTSxJQUFJLEdBQWEsRUFBRSxDQUFDO1lBQzFCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQzdDLE1BQU0sR0FBRyxHQUFHLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2hDLElBQUksR0FBRztvQkFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzFCLENBQUM7WUFDRCxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDdkMsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsdUJBQXVCLEtBQUssRUFBRSxFQUFFLENBQUM7UUFDbkUsQ0FBQztJQUNILENBQUM7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXRvbSwgQ29udGV4dCwgUmVzdWx0IH0gZnJvbSAnQGFpdG9zL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgZ2V0SXRlbUF0b206IEF0b20gPSB7XG4gIG5hbWU6ICdnZXRJdGVtJyxcbiAgdmVyc2lvbjogJzEuMS4wJyxcbiAgbWV0YToge1xuICAgIGlucHV0OiBbXG4gICAgICB7IG5hbWU6ICdrZXknLCB0eXBlOiAnc3RyaW5nJywgZGVzY3JpcHRpb246ICdTdG9yYWdlIGtleScgfVxuICAgIF0sXG4gICAgb3V0cHV0OiB7IHR5cGU6ICdhbnknLCBkZXNjcmlwdGlvbjogJ1N0b3JlZCB2YWx1ZSAocGFyc2VkIGZyb20gSlNPTikgb3IgbnVsbCcgfVxuICB9LFxuICBjaGFyYWN0ZXJpc3RpY3M6IHsgc3RhdGVsZXNzOiB0cnVlLCBhdG9taWM6IHRydWUsIGNvbXBvc2FibGU6IHRydWUgfSxcbiAgZXhlY3V0ZTogYXN5bmMgKGlucHV0OiB7IGtleTogc3RyaW5nIH0sIGNvbnRleHQ6IENvbnRleHQpOiBQcm9taXNlPFJlc3VsdD4gPT4ge1xuICAgIGlmICh0eXBlb2YgbG9jYWxTdG9yYWdlID09PSAndW5kZWZpbmVkJykge1xuICAgICAgcmV0dXJuIHsgc3VjY2VzczogZmFsc2UsIGVycm9yOiAnbG9jYWxTdG9yYWdlIG5vdCBhdmFpbGFibGUnIH07XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKGlucHV0LmtleSk7XG4gICAgICBpZiAodmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIHsgc3VjY2VzczogdHJ1ZSwgZGF0YTogbnVsbCB9O1xuICAgICAgfVxuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcGFyc2VkID0gSlNPTi5wYXJzZSh2YWx1ZSk7XG4gICAgICAgIHJldHVybiB7IHN1Y2Nlc3M6IHRydWUsIGRhdGE6IHBhcnNlZCB9O1xuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIHJldHVybiB7IHN1Y2Nlc3M6IHRydWUsIGRhdGE6IHZhbHVlIH07XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHJldHVybiB7IHN1Y2Nlc3M6IGZhbHNlLCBlcnJvcjogYEZhaWxlZCB0byBnZXQgaXRlbTogJHtlcnJvcn1gIH07XG4gICAgfVxuICB9LFxufTtcblxuZXhwb3J0IGNvbnN0IHNldEl0ZW1BdG9tOiBBdG9tID0ge1xuICBuYW1lOiAnc2V0SXRlbScsXG4gIHZlcnNpb246ICcxLjEuMCcsXG4gIG1ldGE6IHtcbiAgICBpbnB1dDogW1xuICAgICAgeyBuYW1lOiAna2V5JywgdHlwZTogJ3N0cmluZycsIGRlc2NyaXB0aW9uOiAnU3RvcmFnZSBrZXknIH0sXG4gICAgICB7IG5hbWU6ICd2YWx1ZScsIHR5cGU6ICdhbnknLCBkZXNjcmlwdGlvbjogJ1ZhbHVlIHRvIHN0b3JlICh3aWxsIGJlIEpTT04gc3RyaW5naWZpZWQpJyB9XG4gICAgXSxcbiAgICBvdXRwdXQ6IHsgdHlwZTogJ3ZvaWQnLCBkZXNjcmlwdGlvbjogJ05vdGhpbmcnIH1cbiAgfSxcbiAgY2hhcmFjdGVyaXN0aWNzOiB7IHN0YXRlbGVzczogdHJ1ZSwgYXRvbWljOiB0cnVlLCBjb21wb3NhYmxlOiB0cnVlIH0sXG4gIGV4ZWN1dGU6IGFzeW5jIChpbnB1dDogeyBrZXk6IHN0cmluZzsgdmFsdWU6IGFueSB9LCBjb250ZXh0OiBDb250ZXh0KTogUHJvbWlzZTxSZXN1bHQ+ID0+IHtcbiAgICBpZiAodHlwZW9mIGxvY2FsU3RvcmFnZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHJldHVybiB7IHN1Y2Nlc3M6IGZhbHNlLCBlcnJvcjogJ2xvY2FsU3RvcmFnZSBub3QgYXZhaWxhYmxlJyB9O1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgY29uc3Qgc3RyaW5nVmFsdWUgPSB0eXBlb2YgaW5wdXQudmFsdWUgPT09ICdzdHJpbmcnIFxuICAgICAgICA/IGlucHV0LnZhbHVlIFxuICAgICAgICA6IEpTT04uc3RyaW5naWZ5KGlucHV0LnZhbHVlKTtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKGlucHV0LmtleSwgc3RyaW5nVmFsdWUpO1xuICAgICAgcmV0dXJuIHsgc3VjY2VzczogdHJ1ZSwgZGF0YTogbnVsbCB9O1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICByZXR1cm4geyBzdWNjZXNzOiBmYWxzZSwgZXJyb3I6IGBGYWlsZWQgdG8gc2V0IGl0ZW06ICR7ZXJyb3J9YCB9O1xuICAgIH1cbiAgfSxcbn07XG5cbmV4cG9ydCBjb25zdCByZW1vdmVJdGVtQXRvbTogQXRvbSA9IHtcbiAgbmFtZTogJ3JlbW92ZUl0ZW0nLFxuICB2ZXJzaW9uOiAnMS4wLjAnLFxuICBtZXRhOiB7XG4gICAgaW5wdXQ6IFtcbiAgICAgIHsgbmFtZTogJ2tleScsIHR5cGU6ICdzdHJpbmcnLCBkZXNjcmlwdGlvbjogJ1N0b3JhZ2Uga2V5IHRvIHJlbW92ZScgfVxuICAgIF0sXG4gICAgb3V0cHV0OiB7IHR5cGU6ICd2b2lkJywgZGVzY3JpcHRpb246ICdOb3RoaW5nJyB9XG4gIH0sXG4gIGNoYXJhY3RlcmlzdGljczogeyBzdGF0ZWxlc3M6IHRydWUsIGF0b21pYzogdHJ1ZSwgY29tcG9zYWJsZTogdHJ1ZSB9LFxuICBleGVjdXRlOiBhc3luYyAoaW5wdXQ6IHsga2V5OiBzdHJpbmcgfSwgY29udGV4dDogQ29udGV4dCk6IFByb21pc2U8UmVzdWx0PiA9PiB7XG4gICAgaWYgKHR5cGVvZiBsb2NhbFN0b3JhZ2UgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICByZXR1cm4geyBzdWNjZXNzOiBmYWxzZSwgZXJyb3I6ICdsb2NhbFN0b3JhZ2Ugbm90IGF2YWlsYWJsZScgfTtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGlucHV0LmtleSk7XG4gICAgICByZXR1cm4geyBzdWNjZXNzOiB0cnVlLCBkYXRhOiBudWxsIH07XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHJldHVybiB7IHN1Y2Nlc3M6IGZhbHNlLCBlcnJvcjogYEZhaWxlZCB0byByZW1vdmUgaXRlbTogJHtlcnJvcn1gIH07XG4gICAgfVxuICB9LFxufTtcblxuZXhwb3J0IGNvbnN0IGNsZWFyU3RvcmFnZUF0b206IEF0b20gPSB7XG4gIG5hbWU6ICdjbGVhclN0b3JhZ2UnLFxuICB2ZXJzaW9uOiAnMS4wLjAnLFxuICBtZXRhOiB7XG4gICAgaW5wdXQ6IFtdLFxuICAgIG91dHB1dDogeyB0eXBlOiAndm9pZCcsIGRlc2NyaXB0aW9uOiAnTm90aGluZycgfVxuICB9LFxuICBjaGFyYWN0ZXJpc3RpY3M6IHsgc3RhdGVsZXNzOiB0cnVlLCBhdG9taWM6IHRydWUsIGNvbXBvc2FibGU6IHRydWUgfSxcbiAgZXhlY3V0ZTogYXN5bmMgKGlucHV0OiB7fSwgY29udGV4dDogQ29udGV4dCk6IFByb21pc2U8UmVzdWx0PiA9PiB7XG4gICAgaWYgKHR5cGVvZiBsb2NhbFN0b3JhZ2UgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICByZXR1cm4geyBzdWNjZXNzOiBmYWxzZSwgZXJyb3I6ICdsb2NhbFN0b3JhZ2Ugbm90IGF2YWlsYWJsZScgfTtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIGxvY2FsU3RvcmFnZS5jbGVhcigpO1xuICAgICAgcmV0dXJuIHsgc3VjY2VzczogdHJ1ZSwgZGF0YTogbnVsbCB9O1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICByZXR1cm4geyBzdWNjZXNzOiBmYWxzZSwgZXJyb3I6IGBGYWlsZWQgdG8gY2xlYXIgc3RvcmFnZTogJHtlcnJvcn1gIH07XG4gICAgfVxuICB9LFxufTtcblxuZXhwb3J0IGNvbnN0IGdldEtleXNBdG9tOiBBdG9tID0ge1xuICBuYW1lOiAnZ2V0S2V5cycsXG4gIHZlcnNpb246ICcxLjAuMCcsXG4gIG1ldGE6IHtcbiAgICBpbnB1dDogW10sXG4gICAgb3V0cHV0OiB7IHR5cGU6ICdhcnJheScsIGRlc2NyaXB0aW9uOiAnQXJyYXkgb2Ygc3RvcmFnZSBrZXlzJyB9XG4gIH0sXG4gIGNoYXJhY3RlcmlzdGljczogeyBzdGF0ZWxlc3M6IHRydWUsIGF0b21pYzogdHJ1ZSwgY29tcG9zYWJsZTogdHJ1ZSB9LFxuICBleGVjdXRlOiBhc3luYyAoaW5wdXQ6IHt9LCBjb250ZXh0OiBDb250ZXh0KTogUHJvbWlzZTxSZXN1bHQ+ID0+IHtcbiAgICBpZiAodHlwZW9mIGxvY2FsU3RvcmFnZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHJldHVybiB7IHN1Y2Nlc3M6IGZhbHNlLCBlcnJvcjogJ2xvY2FsU3RvcmFnZSBub3QgYXZhaWxhYmxlJyB9O1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgY29uc3Qga2V5czogc3RyaW5nW10gPSBbXTtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbG9jYWxTdG9yYWdlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGtleSA9IGxvY2FsU3RvcmFnZS5rZXkoaSk7XG4gICAgICAgIGlmIChrZXkpIGtleXMucHVzaChrZXkpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHsgc3VjY2VzczogdHJ1ZSwgZGF0YToga2V5cyB9O1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICByZXR1cm4geyBzdWNjZXNzOiBmYWxzZSwgZXJyb3I6IGBGYWlsZWQgdG8gZ2V0IGtleXM6ICR7ZXJyb3J9YCB9O1xuICAgIH1cbiAgfSxcbn07XG4iXX0=
package/package.json ADDED
@@ -0,0 +1,32 @@
1
+ {
2
+ "name": "@aitos/store",
3
+ "version": "1.0.0",
4
+ "description": "AITOS Store Capability Package - Local and Remote storage atoms",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "scripts": {
8
+ "build": "tsc",
9
+ "dev": "tsc --watch"
10
+ },
11
+ "keywords": [
12
+ "aitos",
13
+ "store",
14
+ "local",
15
+ "remote",
16
+ "storage",
17
+ "capability"
18
+ ],
19
+ "author": "AITOS Team",
20
+ "license": "MIT",
21
+ "files": [
22
+ "dist"
23
+ ],
24
+ "peerDependencies": {
25
+ "@aitos/core": "^1.0.0"
26
+ },
27
+ "devDependencies": {
28
+ "@aitos/core": "file:../../../aitos",
29
+ "@types/node": "^20.0.0",
30
+ "typescript": "^5.0.0"
31
+ }
32
+ }