@octostar/platform-api 0.5.5 → 0.5.6
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/{lib → dist}/apis.js +3 -12
- package/dist/apis.js.map +1 -0
- package/{lib → dist}/components/AbstractContextMenu.js +6 -3
- package/dist/components/AbstractContextMenu.js.map +1 -0
- package/{lib → dist}/components/OsContextMenu.js.map +1 -1
- package/{lib → dist}/components/OsIcon.d.ts +1 -1
- package/{lib → dist}/components/OsIcon.d.ts.map +1 -1
- package/{lib → dist}/components/OsIcon.js +10 -21
- package/dist/components/OsIcon.js.map +1 -0
- package/{lib → dist}/components/OsRecordTitle.d.ts +3 -3
- package/{lib → dist}/components/OsRecordTitle.d.ts.map +1 -1
- package/dist/components/OsRecordTitle.js +89 -0
- package/dist/components/OsRecordTitle.js.map +1 -0
- package/dist/components/OsSpinner.js.map +1 -0
- package/dist/components/OsTag.js +53 -0
- package/dist/components/OsTag.js.map +1 -0
- package/{lib → dist}/components/OsTags.d.ts.map +1 -1
- package/dist/components/OsTags.js +89 -0
- package/dist/components/OsTags.js.map +1 -0
- package/{lib → dist}/components/OsTagsContextMenu.d.ts +1 -1
- package/dist/components/OsTagsContextMenu.d.ts.map +1 -0
- package/dist/components/OsTagsContextMenu.js.map +1 -0
- package/{lib → dist}/components/TagsDots.d.ts +2 -3
- package/{lib → dist}/components/TagsDots.d.ts.map +1 -1
- package/dist/components/TagsDots.js +80 -0
- package/dist/components/TagsDots.js.map +1 -0
- package/{lib → dist}/constants.d.ts.map +1 -1
- package/dist/factory.d.ts.map +1 -0
- package/{lib → dist}/factory.js +6 -16
- package/dist/factory.js.map +1 -0
- package/dist/lib/AIClientImpl.js +38 -0
- package/dist/lib/AIClientImpl.js.map +1 -0
- package/{lib → dist}/lib/AsyncServiceLocator.d.ts.map +1 -1
- package/{lib → dist}/lib/AsyncServiceLocator.js +15 -21
- package/dist/lib/AsyncServiceLocator.js.map +1 -0
- package/dist/lib/JWTProvider.js +26 -0
- package/dist/lib/JWTProvider.js.map +1 -0
- package/{lib → dist}/lib/Proxy.d.ts.map +1 -1
- package/dist/lib/Proxy.js.map +1 -0
- package/{lib → dist}/lib/userWorkspace.d.ts.map +1 -1
- package/dist/lib/userWorkspace.js +19 -0
- package/dist/lib/userWorkspace.js.map +1 -0
- package/{lib → dist}/utils.d.ts.map +1 -1
- package/dist/utils.js +28 -0
- package/dist/utils.js.map +1 -0
- package/package.json +25 -19
- package/dist/platform-api.d.ts +0 -383
- package/lib/apis.js.map +0 -1
- package/lib/components/AbstractContextMenu.js.map +0 -1
- package/lib/components/OsIcon.js.map +0 -1
- package/lib/components/OsRecordTitle.js +0 -100
- package/lib/components/OsRecordTitle.js.map +0 -1
- package/lib/components/OsSpinner.js.map +0 -1
- package/lib/components/OsTag.js +0 -64
- package/lib/components/OsTag.js.map +0 -1
- package/lib/components/OsTags.js +0 -99
- package/lib/components/OsTags.js.map +0 -1
- package/lib/components/OsTagsContextMenu.d.ts.map +0 -1
- package/lib/components/OsTagsContextMenu.js.map +0 -1
- package/lib/components/TagsDots.js +0 -86
- package/lib/components/TagsDots.js.map +0 -1
- package/lib/factory.d.ts.map +0 -1
- package/lib/factory.js.map +0 -1
- package/lib/lib/AIClientImpl.js +0 -52
- package/lib/lib/AIClientImpl.js.map +0 -1
- package/lib/lib/AsyncServiceLocator.js.map +0 -1
- package/lib/lib/JWTProvider.js +0 -39
- package/lib/lib/JWTProvider.js.map +0 -1
- package/lib/lib/Proxy.js.map +0 -1
- package/lib/lib/userWorkspace.js +0 -28
- package/lib/lib/userWorkspace.js.map +0 -1
- package/lib/utils.js +0 -38
- package/lib/utils.js.map +0 -1
- /package/{lib → dist}/apis.d.ts +0 -0
- /package/{lib → dist}/apis.d.ts.map +0 -0
- /package/{lib → dist}/components/AbstractContextMenu.d.ts +0 -0
- /package/{lib → dist}/components/AbstractContextMenu.d.ts.map +0 -0
- /package/{lib → dist}/components/OsContextMenu.d.ts +0 -0
- /package/{lib → dist}/components/OsContextMenu.d.ts.map +0 -0
- /package/{lib → dist}/components/OsContextMenu.js +0 -0
- /package/{lib → dist}/components/OsSpinner.d.ts +0 -0
- /package/{lib → dist}/components/OsSpinner.d.ts.map +0 -0
- /package/{lib → dist}/components/OsSpinner.js +0 -0
- /package/{lib → dist}/components/OsTag.d.ts +0 -0
- /package/{lib → dist}/components/OsTag.d.ts.map +0 -0
- /package/{lib → dist}/components/OsTags.d.ts +0 -0
- /package/{lib → dist}/components/OsTagsContextMenu.js +0 -0
- /package/{lib → dist}/components/index.d.ts +0 -0
- /package/{lib → dist}/components/index.d.ts.map +0 -0
- /package/{lib → dist}/components/index.js +0 -0
- /package/{lib → dist}/components/index.js.map +0 -0
- /package/{lib → dist}/constants.d.ts +0 -0
- /package/{lib → dist}/constants.js +0 -0
- /package/{lib → dist}/constants.js.map +0 -0
- /package/{lib → dist}/factory.d.ts +0 -0
- /package/{lib → dist}/index.d.ts +0 -0
- /package/{lib → dist}/index.d.ts.map +0 -0
- /package/{lib → dist}/index.js +0 -0
- /package/{lib → dist}/index.js.map +0 -0
- /package/{lib → dist}/lib/AIClientImpl.d.ts +0 -0
- /package/{lib → dist}/lib/AIClientImpl.d.ts.map +0 -0
- /package/{lib → dist}/lib/AsyncServiceLocator.d.ts +0 -0
- /package/{lib → dist}/lib/JWTProvider.d.ts +0 -0
- /package/{lib → dist}/lib/JWTProvider.d.ts.map +0 -0
- /package/{lib → dist}/lib/Proxy.d.ts +0 -0
- /package/{lib → dist}/lib/Proxy.js +0 -0
- /package/{lib → dist}/lib/userWorkspace.d.ts +0 -0
- /package/{lib → dist}/permissions.d.ts +0 -0
- /package/{lib → dist}/permissions.d.ts.map +0 -0
- /package/{lib → dist}/permissions.js +0 -0
- /package/{lib → dist}/permissions.js.map +0 -0
- /package/{lib → dist}/types.d.ts +0 -0
- /package/{lib → dist}/types.d.ts.map +0 -0
- /package/{lib → dist}/types.js +0 -0
- /package/{lib → dist}/types.js.map +0 -0
- /package/{lib → dist}/utils.d.ts +0 -0
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export class AIClientImpl {
|
|
2
|
+
constructor(osAPIClient) {
|
|
3
|
+
this.osAPIClient = osAPIClient;
|
|
4
|
+
}
|
|
5
|
+
async getChatModels() {
|
|
6
|
+
if (!this.models) {
|
|
7
|
+
this.models = await this.osAPIClient.fetchData({
|
|
8
|
+
endpoint: '/api/v1/chat/models',
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
return this.models;
|
|
12
|
+
}
|
|
13
|
+
async prompt(prompt, options) {
|
|
14
|
+
const model = options?.model || (await this.getChatModels())[0]?.model_name;
|
|
15
|
+
const enableRag = options?.enableRag ?? true; // getPreference is not available to this package.
|
|
16
|
+
// TODO: Streaming is not supported yet.
|
|
17
|
+
const chatMessage = await this.osAPIClient.fetchData({
|
|
18
|
+
endpoint: '/api/v1/chat',
|
|
19
|
+
method: 'POST',
|
|
20
|
+
headers: {
|
|
21
|
+
'Content-Type': 'application/json',
|
|
22
|
+
},
|
|
23
|
+
body: JSON.stringify({
|
|
24
|
+
model_name: model,
|
|
25
|
+
prompt,
|
|
26
|
+
api_key: options?.apiKey || '',
|
|
27
|
+
streaming: false,
|
|
28
|
+
enable_rag: enableRag,
|
|
29
|
+
cohere_key: options?.cohereKey || '',
|
|
30
|
+
}),
|
|
31
|
+
});
|
|
32
|
+
if (chatMessage.response?.content) {
|
|
33
|
+
return chatMessage.response.content;
|
|
34
|
+
}
|
|
35
|
+
return chatMessage.content;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=AIClientImpl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AIClientImpl.js","sourceRoot":"","sources":["../../src/lib/AIClientImpl.ts"],"names":[],"mappings":"AAQA,MAAM,OAAO,YAAY;IAKvB,YAAY,WAAwB;QAClC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAc;gBAC1D,QAAQ,EAAE,qBAAqB;aAChC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAc,EAAE,OAAuB;QAClD,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC;QAC5E,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,IAAI,CAAC,CAAC,kDAAkD;QAEhG,wCAAwC;QACxC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAc;YAChE,QAAQ,EAAE,cAAc;YACxB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,UAAU,EAAE,KAAK;gBACjB,MAAM;gBACN,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,EAAE;gBAC9B,SAAS,EAAE,KAAK;gBAChB,UAAU,EAAE,SAAS;gBACrB,UAAU,EAAE,OAAO,EAAE,SAAS,IAAI,EAAE;aACrC,CAAC;SACH,CAAC,CAAC;QACH,IAAK,WAAmB,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;YAC3C,OAAQ,WAAmB,CAAC,QAAQ,CAAC,OAAO,CAAC;QAC/C,CAAC;QACD,OAAO,WAAW,CAAC,OAAO,CAAC;IAC7B,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AsyncServiceLocator.d.ts","sourceRoot":"","sources":["../../src/lib/AsyncServiceLocator.ts"],"names":[],"mappings":"AAAA,KAAK,wBAAwB,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;AAEnE,KAAK,iBAAiB,CACpB,CAAC,EACD,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,IAChD,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;AAEpD,KAAK,gBAAgB,CAAC,CAAC,IAAI,OAAO,CAChC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,CACzD,CAAC;AAEF,MAAM,MAAM,2BAA2B,CACrC,CAAC,EACD,CAAC,GAAG,CAAC,SAAS,mBAAmB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,IACpD;IACF,UAAU,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAChE,CAAC;AAEF,KAAK,0BAA0B,GAAG;IAChC,KAAK,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,qBAAa,mBAAmB,CAC9B,CAAC,SAAS,MAAM,CACd,MAAM,EACN,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC,CACjE;IAED,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAI;IAE7B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuB;IAE7C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;gBAGnD,QAAQ,EAAE,CAAC,EACX,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,EAC3B,OAAO,EAAE,0BAA0B;IAOrC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAM;IAE/D,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,0BAA0B;
|
|
1
|
+
{"version":3,"file":"AsyncServiceLocator.d.ts","sourceRoot":"","sources":["../../src/lib/AsyncServiceLocator.ts"],"names":[],"mappings":"AAAA,KAAK,wBAAwB,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;AAEnE,KAAK,iBAAiB,CACpB,CAAC,EACD,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,IAChD,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;AAEpD,KAAK,gBAAgB,CAAC,CAAC,IAAI,OAAO,CAChC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,CACzD,CAAC;AAEF,MAAM,MAAM,2BAA2B,CACrC,CAAC,EACD,CAAC,GAAG,CAAC,SAAS,mBAAmB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,IACpD;IACF,UAAU,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAChE,CAAC;AAEF,KAAK,0BAA0B,GAAG;IAChC,KAAK,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,qBAAa,mBAAmB,CAC9B,CAAC,SAAS,MAAM,CACd,MAAM,EACN,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC,CACjE;IAED,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAI;IAE7B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuB;IAE7C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;gBAGnD,QAAQ,EAAE,CAAC,EACX,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,EAC3B,OAAO,EAAE,0BAA0B;IAOrC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAM;IAE/D,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,0BAA0B;IAYnE,eAAe,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,iBAAiB,CAAC,GAAG,EAAE,CAAC,CAAC,EACnE,IAAI,EAAE,CAAC,EACP,cAAc,EAAE,CAAC,GAChB,mBAAmB,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAWlC,UAAU,CAAC,CAAC,SAAS,MAAM,CAAC,EAChC,IAAI,EAAE,CAAC,GAEN,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAc1B"}
|
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
1
|
export class AsyncServiceLocator {
|
|
11
2
|
constructor(services, cache, options) {
|
|
12
3
|
this.services = services;
|
|
@@ -21,21 +12,24 @@ export class AsyncServiceLocator {
|
|
|
21
12
|
}
|
|
22
13
|
return this.instances[instanceKey];
|
|
23
14
|
}
|
|
15
|
+
// @ts-ignore Fix the type system
|
|
24
16
|
registerService(name, serviceFactory) {
|
|
25
|
-
return new AsyncServiceLocator(
|
|
17
|
+
return new AsyncServiceLocator({
|
|
18
|
+
...this.services,
|
|
19
|
+
[name]: serviceFactory,
|
|
20
|
+
}, { ...this.cache, [name]: undefined }, // @varun can you fix?
|
|
26
21
|
this.options);
|
|
27
22
|
}
|
|
28
|
-
getService(name) {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
});
|
|
23
|
+
async getService(name) {
|
|
24
|
+
const service = this.services[name];
|
|
25
|
+
if (!service) {
|
|
26
|
+
throw new Error(`Service ${String(name)} not found`);
|
|
27
|
+
}
|
|
28
|
+
if (!this.cache[name] || !this.options.cache) {
|
|
29
|
+
// @ts-ignore Fix the type system
|
|
30
|
+
this.cache[name] = await service(this);
|
|
31
|
+
}
|
|
32
|
+
return this.cache[name];
|
|
39
33
|
}
|
|
40
34
|
}
|
|
41
35
|
AsyncServiceLocator.instances = {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AsyncServiceLocator.js","sourceRoot":"","sources":["../../src/lib/AsyncServiceLocator.ts"],"names":[],"mappings":"AAsBA,MAAM,OAAO,mBAAmB;IAY9B,YACE,QAAW,EACX,KAA2B,EAC3B,OAAmC;QAEnC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAID,MAAM,CAAC,WAAW,CAAC,GAAW,EAAE,OAAmC;QACjE,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAClD,MAAM,WAAW,GAAG,GAAG,GAAG,IAAI,iBAAiB,EAAE,CAAC;QAElD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,IAAI,mBAAmB,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;QACzE,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACrC,CAAC;IAED,iCAAiC;IACjC,eAAe,CACb,IAAO,EACP,cAAiB;QAEjB,OAAO,IAAI,mBAAmB,CAC5B;YACE,GAAG,IAAI,CAAC,QAAQ;YAChB,CAAC,IAAI,CAAC,EAAE,cAAc;SACvB,EACD,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,SAAS,EAAS,EAAE,sBAAsB;QACnE,IAAI,CAAC,OAAO,CACb,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,UAAU,CACd,IAAO;QAGP,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEpC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,WAAW,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAC7C,iCAAiC;YACjC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;;AA5CM,6BAAS,GAA4C,EAAE,CAAC;AA+CjE,eAAe;AACf,iDAAiD;AACjD,EAAE;AACF,oBAAoB;AACpB,qBAAqB;AACrB,MAAM;AACN,IAAI;AACJ,EAAE;AACF,gBAAgB;AAChB,iDAAiD;AACjD,EAAE;AACF,uBAAuB;AACvB,sBAAsB;AACtB,MAAM;AACN,EAAE;AACF,oBAAoB;AACpB,sBAAsB;AACtB,MAAM;AACN,IAAI;AACJ,EAAE;AACF,iEAAiE;AACjE,qDAAqD;AACrD,gDAAgD;AAChD,sBAAsB;AACtB,eAAe;AACf,oEAAoE;AACpE,OAAO;AACP,4DAA4D;AAC5D,8DAA8D;AAC9D,EAAE;AACF,sBAAsB;AACtB,0BAA0B"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export class JWTProvider {
|
|
2
|
+
constructor(tokenProvider, expiresThreshold = 300) {
|
|
3
|
+
this.token = null;
|
|
4
|
+
this.decoded = null;
|
|
5
|
+
this.tokenProvider = tokenProvider;
|
|
6
|
+
this.expiresThreshold = expiresThreshold;
|
|
7
|
+
}
|
|
8
|
+
async fetchToken() {
|
|
9
|
+
this.token = await this.tokenProvider.getToken();
|
|
10
|
+
this.decoded = JSON.parse(atob(this.token.split('.')[1])); // Decode the payload
|
|
11
|
+
}
|
|
12
|
+
isExpiredOrExpiringSoon() {
|
|
13
|
+
if (!this.decoded || !this.decoded.exp) {
|
|
14
|
+
return true; // Treat as expired if there's no expiration time
|
|
15
|
+
}
|
|
16
|
+
const currentTime = Math.floor(Date.now() / 1000);
|
|
17
|
+
return this.decoded.exp < currentTime + this.expiresThreshold;
|
|
18
|
+
}
|
|
19
|
+
async getToken() {
|
|
20
|
+
if (!this.token || this.isExpiredOrExpiringSoon()) {
|
|
21
|
+
await this.fetchToken();
|
|
22
|
+
}
|
|
23
|
+
return this.token;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=JWTProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JWTProvider.js","sourceRoot":"","sources":["../../src/lib/JWTProvider.ts"],"names":[],"mappings":"AAMA,MAAM,OAAO,WAAW;IAStB,YAAY,aAA4B,EAAE,gBAAgB,GAAG,GAAG;QARxD,UAAK,GAAkB,IAAI,CAAC;QAE5B,YAAO,GAA4B,IAAI,CAAC;QAO9C,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC3C,CAAC;IAEO,KAAK,CAAC,UAAU;QACtB,IAAI,CAAC,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;QACjD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB;IAClF,CAAC;IAEO,uBAAuB;QAC7B,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC,CAAC,iDAAiD;QAChE,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,uBAAuB,EAAE,EAAE,CAAC;YAClD,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAC1B,CAAC;QACD,OAAO,IAAI,CAAC,KAAM,CAAC;IACrB,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Proxy.d.ts","sourceRoot":"","sources":["../../src/lib/Proxy.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"Proxy.d.ts","sourceRoot":"","sources":["../../src/lib/Proxy.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,MAAM,EACxC,KAAK,CAAC,EACN,cAAa,CAAC,MAAM,CAAC,CAAC,EAAO,KAC5B,MAAM,CAAC,MAAM,EAAE,GAAG,CAkBpB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Proxy.js","sourceRoot":"","sources":["../../src/lib/Proxy.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,GAAM,EACN,cAA2B,EAAE,EACR,EAAE;IACvB,MAAM,QAAQ,GAAwB,EAAE,CAAC;IAEzC,wBAAwB;IACxB,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,KAAK,EAAE,CAAC;QACV,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAmB,EAAE,CAAC;YACtE,IACE,GAAG,KAAK,aAAa;gBACrB,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,UAAU;gBAChC,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAC1B,CAAC;gBACD,QAAQ,CAAC,GAAa,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userWorkspace.d.ts","sourceRoot":"","sources":["../../src/lib/userWorkspace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAK5E,eAAO,MAAM,sCAAsC,
|
|
1
|
+
{"version":3,"file":"userWorkspace.d.ts","sourceRoot":"","sources":["../../src/lib/userWorkspace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAK5E,eAAO,MAAM,sCAAsC,GACjD,SAAS,OAAO,EAChB,UAAU,QAAQ,KACjB,OAAO,CAAC,aAAa,CAgBvB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { v5 as uuidv5 } from 'uuid';
|
|
2
|
+
const NAMESPACE = '9a5e7f16-23c0-49c0-8339-b441d8a84373';
|
|
3
|
+
export const getOrCreateUsersPrivateWorkspaceRecord = async (desktop, ontology) => {
|
|
4
|
+
const user = await desktop.whoami();
|
|
5
|
+
const entity_id = uuidv5(user.username, NAMESPACE);
|
|
6
|
+
const not_in_database = `This entity is not in the database ${Date.now()}`;
|
|
7
|
+
const workspace = await ontology.getEntity({
|
|
8
|
+
entity_type: 'os_workspace',
|
|
9
|
+
entity_id,
|
|
10
|
+
entity_label: not_in_database,
|
|
11
|
+
});
|
|
12
|
+
if (workspace.entity_label === not_in_database) {
|
|
13
|
+
return desktop.createWorkspace(`${user.username} Workspace`, {
|
|
14
|
+
id: entity_id,
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
return workspace;
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=userWorkspace.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"userWorkspace.js","sourceRoot":"","sources":["../../src/lib/userWorkspace.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AAEpC,MAAM,SAAS,GAAG,sCAAsC,CAAC;AAEzD,MAAM,CAAC,MAAM,sCAAsC,GAAG,KAAK,EACzD,OAAgB,EAChB,QAAkB,EACM,EAAE;IAC1B,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;IACpC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACnD,MAAM,eAAe,GAAG,sCAAsC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;IAE3E,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAgB;QACxD,WAAW,EAAE,cAAc;QAC3B,SAAS;QACT,YAAY,EAAE,eAAe;KAC9B,CAAC,CAAC;IACH,IAAI,SAAS,CAAC,YAAY,KAAK,eAAe,EAAE,CAAC;QAC/C,OAAO,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,QAAQ,YAAY,EAAE;YAC3D,EAAE,EAAE,SAAS;SACd,CAAC,CAAC;IACL,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,KAAK,YAAY,GAAG;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,KAAK,YAAY,GAAG;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,KAAK,GAAU,CAAC,EAC3B,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EACpC,UAAU,YAAY,KACrB,OAAO,CAAC,CAAC,CAqBX,CAAC"}
|
package/dist/utils.js
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @beta
|
|
3
|
+
* Retry a function until it succeeds or the maximum number of attempts is reached.
|
|
4
|
+
*
|
|
5
|
+
* @param fn - The function to retry.
|
|
6
|
+
* @param options - The retry options.
|
|
7
|
+
* @returns The result of the function.
|
|
8
|
+
*/
|
|
9
|
+
export const retry = async (fn, options) => {
|
|
10
|
+
let attempts = 0;
|
|
11
|
+
const maxAttempts = options?.maxAttempts ?? 3;
|
|
12
|
+
const retryInterval = options?.retryInterval ?? 1000;
|
|
13
|
+
while (true) {
|
|
14
|
+
attempts += 1;
|
|
15
|
+
try {
|
|
16
|
+
// eslint-disable-next-line no-await-in-loop
|
|
17
|
+
return await fn();
|
|
18
|
+
}
|
|
19
|
+
catch (e) {
|
|
20
|
+
if (attempts < maxAttempts) {
|
|
21
|
+
// eslint-disable-next-line no-await-in-loop
|
|
22
|
+
await new Promise(resolve => setTimeout(resolve, retryInterval));
|
|
23
|
+
}
|
|
24
|
+
throw e;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAKA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,KAAK,EACxB,EAAoC,EACpC,OAAsB,EACV,EAAE;IACd,IAAI,QAAQ,GAAG,CAAC,CAAC;IAEjB,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,CAAC,CAAC;IAC9C,MAAM,aAAa,GAAG,OAAO,EAAE,aAAa,IAAI,IAAI,CAAC;IAErD,OAAO,IAAI,EAAE,CAAC;QACZ,QAAQ,IAAI,CAAC,CAAC;QAEd,IAAI,CAAC;YACH,4CAA4C;YAC5C,OAAO,MAAM,EAAE,EAAE,CAAC;QACpB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,QAAQ,GAAG,WAAW,EAAE,CAAC;gBAC3B,4CAA4C;gBAC5C,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;YACnE,CAAC;YAED,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;AACH,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@octostar/platform-api",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.6",
|
|
4
4
|
"description": "Provides access to the API exposed by Octostar platform to an application run in an iframe",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"octostar",
|
|
@@ -9,41 +9,47 @@
|
|
|
9
9
|
"repository": {
|
|
10
10
|
"type": "git",
|
|
11
11
|
"url": "",
|
|
12
|
-
"directory": "
|
|
12
|
+
"directory": "packages/octostar-platform-api"
|
|
13
13
|
},
|
|
14
14
|
"license": "MIT",
|
|
15
15
|
"author": "",
|
|
16
|
-
"main": "lib/index.js",
|
|
17
|
-
"types": "dist/platform-api.d.ts",
|
|
18
16
|
"files": [
|
|
19
|
-
"dist
|
|
20
|
-
"lib/**/*"
|
|
17
|
+
"dist"
|
|
21
18
|
],
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
19
|
+
"exports": {
|
|
20
|
+
".": {
|
|
21
|
+
"import": "./dist/index.js",
|
|
22
|
+
"require": "./dist/index.js",
|
|
23
|
+
"types": "./dist/index.d.ts",
|
|
24
|
+
"source": "./src/index.ts"
|
|
25
|
+
}
|
|
29
26
|
},
|
|
27
|
+
"main": "dist/index.js",
|
|
28
|
+
"module": "dist/index.js",
|
|
29
|
+
"types": "dist/index.d.ts",
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"@types/uuid": "^9.0.2",
|
|
32
32
|
"post-robot": "^10.0.46",
|
|
33
33
|
"uuid": "^9.0.0"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
|
-
"@microsoft/api-extractor": "^7.42.3",
|
|
37
|
-
"@octostar/platform-types": "file:./packages/octostar-platform-types",
|
|
38
36
|
"babelify": "^10.0.0",
|
|
39
37
|
"browserify": "^17.0.0",
|
|
40
|
-
"rimraf": "^5.0.5"
|
|
38
|
+
"rimraf": "^5.0.5",
|
|
39
|
+
"tsup": "^8.4.0",
|
|
40
|
+
"typescript": "^5.8.2",
|
|
41
|
+
"@octostar/platform-types": "0.5.6"
|
|
41
42
|
},
|
|
42
43
|
"peerDependencies": {
|
|
43
|
-
"@octostar/platform-types": "^0.5.
|
|
44
|
+
"@octostar/platform-types": "^0.5.6"
|
|
44
45
|
},
|
|
45
46
|
"publishConfig": {
|
|
46
47
|
"access": "public"
|
|
47
48
|
},
|
|
48
|
-
"
|
|
49
|
-
|
|
49
|
+
"scripts": {
|
|
50
|
+
"build": "pnpm run clean && pnpm run compile",
|
|
51
|
+
"clean": "rimraf ./dist ./temp tsconfig.tsbuildinfo",
|
|
52
|
+
"compile": "tsc",
|
|
53
|
+
"dev": "tsc -b -w"
|
|
54
|
+
}
|
|
55
|
+
}
|