feat: Add Be and tbd skill, also added Roadmap file

This commit is contained in:
2026-05-10 16:32:12 -04:00
parent 3500ade13f
commit 0bb8885802
29587 changed files with 10611695 additions and 0 deletions

View File

@@ -0,0 +1 @@
{"version":3,"sources":["index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC","file":"index.js","sourcesContent":["module.exports = require(\"./main\");"],"sourceRoot":"/source/"}

View File

@@ -0,0 +1 @@
{"version":3,"sources":["main/Persistence.ts"],"names":[],"mappings":"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","file":"main/Persistence.js","sourcesContent":["/**\n * @fileOverview\n *\n * Created on 4/18/16.\n * @author Siggi Orn <siggi@jibo.com>\n */\n\nlet SuperSimpleStorage = require('supersimplestorage');\n\n\nexport interface StorageOptions {\n storageFolder: string;\n dotsToFolders: boolean;\n fileExtension: string;\n}\n\n\nconst DEFAULT_OPTIONS = {\n storageFolder: 'tmp_storage_folder',\n dotsToFolders: true,\n fileExtension: 'txt'\n};\n\n\n\nexport class Node {\n\n constructor(public key: string, public data: any, private _storage) {\n\n }\n\n save() {\n return new Promise( (res, rej) => {\n this._storage.save(this.key, this.data,\n (content) => res(),\n (error) => rej(error));\n });\n }\n}\n\n\nexport class _Persistence {\n\n private _storage: any;\n private _map = new Map<string, Node>();\n\n constructor(options?: StorageOptions) {\n\n let selectedOptions = options || DEFAULT_OPTIONS;\n\n this._storage = new SuperSimpleStorage(selectedOptions);\n }\n\n get(key: string): Promise<Node> {\n let node = this._map.get(key);\n if (node) {\n return Promise.resolve(node);\n }\n else {\n return new Promise((res, rej) => {\n this._storage.open(key,\n (content) => {\n res(this._createNode(key, content));\n },\n (error) => {\n if (error.toString() === 'Storage item not found.') {\n res(this._createNode(key, {}));\n }\n else {\n rej(error);\n }\n });\n });\n }\n }\n\n private _createNode(key, data) {\n let node = new Node(key, data, this._storage);\n this._map.set(key, node);\n return node;\n }\n\n}\n\n\nlet persistence: _Persistence;\n\n\n\nexport default class Persistence {\n\n constructor() {\n throw new Error(`This class shouldn't be instantiated, use 'getInstance'`);\n }\n\n static getInstance(options?: StorageOptions): _Persistence {\n if (!persistence) {\n persistence = new _Persistence(options);\n }\n\n return persistence;\n }\n\n /**\n * Should only be called for testing purposes\n * @param options\n * @returns {_Persistence}\n * @private\n */\n static _resetInstance(options?: StorageOptions): _Persistence {\n persistence = new _Persistence(options);\n\n return persistence;\n }\n}"],"sourceRoot":"/source/"}

View File

@@ -0,0 +1 @@
{"version":3,"sources":["main/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;;AAEH,mCAAsB,oBAAoB,CAAC,CAAA;AAE3C,IAAY,CAAC,WAAM,eAAe,CAAC,CAAA;AAEnC,MAAM,CAAC,OAAO,GAAG,4BAAS,CAAC,oBAAoB,CAAC,MAAM,EAAE,cAAM,OAAA,CAAC,EAAD,CAAC,CAAC,CAAC","file":"main/index.js","sourcesContent":["/**\n * @fileOverview\n *\n * Created on 4/11/16.\n * @author Siggi Orn <siggi@jibo.com>\n */\n\nimport Singleton from 'jibo-cai-singleton';\n\nimport * as P from './Persistence';\n\nmodule.exports = Singleton.getOrCreateSingleton(module, () => P);"],"sourceRoot":"/source/"}

View File

@@ -0,0 +1 @@
{"version":3,"sources":["test/MainTest.ts"],"names":[],"mappings":";AAAA,IAAY,IAAI,WAAM,MAAM,CAAC,CAAA;AAC7B,IAAY,IAAI,WAAM,MAAM,CAAC,CAAA;AACvB,wBAAM,CAAU;AACtB,IAAI,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAEpC,4BAAwB,qBAAqB,CAAC,CAAA;AAG9C,IAAI,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAGrC;IACE,MAAM,CAAC,qBAAW,CAAC,cAAc,EAAE,CAAC;AACtC,CAAC;AAED,QAAQ,CAAC,iBAAiB,EAAE;IAE1B,EAAE,CAAC,qCAAqC,EAAE;QACxC,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;QACpD,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE/C,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IAGH,EAAE,CAAC,cAAc,EAAE,UAAC,IAAI;QACtB,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC;QAEhB,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC;aAChB,IAAI,CAAC,UAAA,IAAI;YACR,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACtC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC,IAAI,CAAC;YACN,4DAA4D;YAC5D,CAAC,GAAG,KAAK,EAAE,CAAC;YACZ,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC,IAAI,CAAC,UAAA,IAAI;YACV,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACtC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACvC,IAAI,EAAE,CAAC;QACT,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC","file":"test/MainTest.js","sourcesContent":["import * as chai from 'chai';\nimport * as path from 'path';\nlet { expect } = chai;\nlet findRoot = require('find-root');\n\nimport Persistence from '../main/Persistence';\n\n\nlet ROOT = findRoot(module.filename);\n\n\nfunction reset() {\n return Persistence._resetInstance();\n}\n\ndescribe('Main Test suite', () => {\n\n it('Loading library through main export', () => {\n let pack = require(path.join(ROOT, 'package.json'));\n let main = require(path.join(ROOT, pack.main));\n\n expect(main.default.prototype.constructor.name).to.equal('Persistence');\n });\n\n\n it('Getting data', (done) => {\n let p = reset();\n\n p.get('some-key')\n .then(node => {\n expect(node.key).to.equal('some-key');\n node.data.name = 'Bla';\n return node.save();\n }).then(() => {\n // Here we reset the storage (enforcing reloading from disk)\n p = reset();\n return p.get('some-key');\n }).then(node => {\n expect(node.key).to.equal('some-key');\n expect(node.data.name).to.equal('Bla');\n done();\n }).catch(done);\n });\n\n});\n"],"sourceRoot":"/source/"}

View File

@@ -0,0 +1 @@
{"version":3,"sources":["test/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,6CAA6C;AAC7C,OAAO,CAAC,YAAY,CAAC,CAAC","file":"test/index.js","sourcesContent":["/**\n * @fileOverview\n *\n * Created on 4/11/16.\n * @author Siggi Orn <siggi@jibo.com>\n */\n\n// Here we require every individual test file\nrequire('./MainTest');"],"sourceRoot":"/source/"}