@comake/skl-js-engine 0.23.0 → 0.25.1
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/dist/SklEngine.d.ts
CHANGED
|
@@ -61,6 +61,7 @@ export declare class SKLEngine {
|
|
|
61
61
|
private executeSeriesFromList;
|
|
62
62
|
private executeVerbMapping;
|
|
63
63
|
private addPreProcessingMappingToArgs;
|
|
64
|
+
private replaceTypeAndId;
|
|
64
65
|
private updateEntityFromVerbArgs;
|
|
65
66
|
private saveEntityOrEntitiesFromVerbArgs;
|
|
66
67
|
private destroyEntityOrEntitiesFromVerbArgs;
|
|
@@ -77,11 +78,15 @@ export declare class SKLEngine {
|
|
|
77
78
|
private getDataAtReference;
|
|
78
79
|
private getOpenApiDescriptionForIntegration;
|
|
79
80
|
private findSecurityCredentialsForAccountIfDefined;
|
|
81
|
+
private findgetOpenApiRuntimeAuthorizationVerbIfDefined;
|
|
82
|
+
private getRuntimeCredentialsWithSecurityCredentials;
|
|
80
83
|
private createOpenApiOperationExecutorWithSpec;
|
|
81
84
|
private findVerbNounMapping;
|
|
82
85
|
private performVerbMappingWithArgs;
|
|
83
86
|
private assertVerbParamsMatchParameterSchemas;
|
|
84
87
|
private performOpenapiOperationWithCredentials;
|
|
88
|
+
private getHeadersFromRuntimeCredentials;
|
|
89
|
+
private getAuthorizationHeaderFromRuntimeCredentials;
|
|
85
90
|
private isInvalidTokenError;
|
|
86
91
|
private refreshSecurityCredentials;
|
|
87
92
|
private getOauthConfigurationFromSecurityCredentials;
|
package/dist/SklEngine.js
CHANGED
|
@@ -418,13 +418,43 @@ class SKLEngine {
|
|
|
418
418
|
}
|
|
419
419
|
return args;
|
|
420
420
|
}
|
|
421
|
+
replaceTypeAndId(entity) {
|
|
422
|
+
if (typeof entity !== 'object') {
|
|
423
|
+
throw new Error('Entity is not an object');
|
|
424
|
+
}
|
|
425
|
+
const clonedEntity = structuredClone(entity);
|
|
426
|
+
if (clonedEntity[Vocabularies_1.SKLSO_PROPERTY.type]) {
|
|
427
|
+
clonedEntity['@type'] = clonedEntity[Vocabularies_1.SKLSO_PROPERTY.type];
|
|
428
|
+
}
|
|
429
|
+
if (clonedEntity[Vocabularies_1.SKLSO_PROPERTY.identifier]) {
|
|
430
|
+
clonedEntity['@id'] = Vocabularies_1.SKLSO_DATA_NAMESPACE + clonedEntity[Vocabularies_1.SKLSO_PROPERTY.identifier];
|
|
431
|
+
}
|
|
432
|
+
return clonedEntity;
|
|
433
|
+
}
|
|
421
434
|
async updateEntityFromVerbArgs(args) {
|
|
422
|
-
|
|
435
|
+
let ids = args.id ?? args.ids;
|
|
436
|
+
if (!Array.isArray(ids)) {
|
|
437
|
+
ids = [ids];
|
|
438
|
+
}
|
|
439
|
+
ids = ids.map((id) => `${Vocabularies_1.SKLSO_DATA_NAMESPACE}${id}`);
|
|
440
|
+
await this.update(ids, args.attributes);
|
|
423
441
|
}
|
|
424
442
|
async saveEntityOrEntitiesFromVerbArgs(args) {
|
|
443
|
+
if (args.entity && typeof args.entity === 'object') {
|
|
444
|
+
args.entity = this.replaceTypeAndId(args.entity);
|
|
445
|
+
}
|
|
446
|
+
if (args.entities && Array.isArray(args.entities)) {
|
|
447
|
+
args.entities = args.entities.map(this.replaceTypeAndId);
|
|
448
|
+
}
|
|
425
449
|
return await this.save(args.entity ?? args.entities);
|
|
426
450
|
}
|
|
427
451
|
async destroyEntityOrEntitiesFromVerbArgs(args) {
|
|
452
|
+
if (args.entity && typeof args.entity === 'object') {
|
|
453
|
+
args.entity = this.replaceTypeAndId(args.entity);
|
|
454
|
+
}
|
|
455
|
+
if (args.entities && Array.isArray(args.entities)) {
|
|
456
|
+
args.entities = args.entities.map(this.replaceTypeAndId);
|
|
457
|
+
}
|
|
428
458
|
return await this.destroy(args.entity ?? args.entities);
|
|
429
459
|
}
|
|
430
460
|
async countAndWrapValueFromVerbArgs(args) {
|
|
@@ -538,6 +568,30 @@ class SKLEngine {
|
|
|
538
568
|
[Vocabularies_1.SKL.account]: accountId,
|
|
539
569
|
});
|
|
540
570
|
}
|
|
571
|
+
async findgetOpenApiRuntimeAuthorizationVerbIfDefined() {
|
|
572
|
+
return (await this.findByIfExists({
|
|
573
|
+
type: Vocabularies_1.SKL.Verb,
|
|
574
|
+
[Vocabularies_1.RDFS.label]: 'getOpenApiRuntimeAuthorization',
|
|
575
|
+
}));
|
|
576
|
+
}
|
|
577
|
+
async getRuntimeCredentialsWithSecurityCredentials(securityCredentials, integrationId, openApiOperationInformation, operationArgs) {
|
|
578
|
+
const getOpenApiRuntimeAuthorizationVerb = await this.findgetOpenApiRuntimeAuthorizationVerbIfDefined();
|
|
579
|
+
if (!getOpenApiRuntimeAuthorizationVerb) {
|
|
580
|
+
return {};
|
|
581
|
+
}
|
|
582
|
+
const mapping = await this.findVerbIntegrationMapping(getOpenApiRuntimeAuthorizationVerb['@id'], integrationId);
|
|
583
|
+
if (!mapping) {
|
|
584
|
+
return {};
|
|
585
|
+
}
|
|
586
|
+
const args = {
|
|
587
|
+
securityCredentials,
|
|
588
|
+
openApiExecutorOperationWithPathInfo: openApiOperationInformation,
|
|
589
|
+
operationArgs,
|
|
590
|
+
};
|
|
591
|
+
const operationInfoJsonLd = await this.performParameterMappingOnArgsIfDefined(args, mapping, undefined, true);
|
|
592
|
+
const headers = (0, Util_1.getValueIfDefined)(operationInfoJsonLd[Vocabularies_1.SKL.headers]);
|
|
593
|
+
return headers ?? {};
|
|
594
|
+
}
|
|
541
595
|
async createOpenApiOperationExecutorWithSpec(openApiDescription) {
|
|
542
596
|
const executor = new openapi_operation_executor_1.OpenApiOperationExecutor();
|
|
543
597
|
await executor.setOpenapiSpec(openApiDescription);
|
|
@@ -581,26 +635,70 @@ class SKLEngine {
|
|
|
581
635
|
const integrationId = account[Vocabularies_1.SKL.integration]['@id'];
|
|
582
636
|
const openApiDescription = await this.getOpenApiDescriptionForIntegration(integrationId);
|
|
583
637
|
const openApiExecutor = await this.createOpenApiOperationExecutorWithSpec(openApiDescription);
|
|
638
|
+
const openApiOperationInformation = await openApiExecutor.getOperationWithPathInfoMatchingOperationId(operationId);
|
|
584
639
|
const securityCredentials = await this.findSecurityCredentialsForAccountIfDefined(account['@id']);
|
|
585
|
-
|
|
640
|
+
let runtimeAuthorization = {};
|
|
641
|
+
if (securityCredentials) {
|
|
642
|
+
const generatedRuntimeCredentials = await this.getRuntimeCredentialsWithSecurityCredentials(securityCredentials, integrationId, openApiOperationInformation, operationArgs);
|
|
643
|
+
if (generatedRuntimeCredentials && Object.keys(generatedRuntimeCredentials).length > 0) {
|
|
644
|
+
runtimeAuthorization = generatedRuntimeCredentials;
|
|
645
|
+
}
|
|
646
|
+
}
|
|
647
|
+
const apiKey = [
|
|
648
|
+
(0, Util_1.getValueIfDefined)(securityCredentials?.[Vocabularies_1.SKL.apiKey]),
|
|
649
|
+
this.getAuthorizationHeaderFromRuntimeCredentials(runtimeAuthorization),
|
|
650
|
+
].find(Boolean);
|
|
586
651
|
const configuration = {
|
|
587
652
|
accessToken: (0, Util_1.getValueIfDefined)(securityCredentials?.[Vocabularies_1.SKL.accessToken]),
|
|
588
653
|
bearerToken: (0, Util_1.getValueIfDefined)(securityCredentials?.[Vocabularies_1.SKL.bearerToken]),
|
|
589
|
-
apiKey
|
|
654
|
+
apiKey,
|
|
590
655
|
basePath: (0, Util_1.getValueIfDefined)(account[Vocabularies_1.SKL.overrideBasePath]),
|
|
591
656
|
username: (0, Util_1.getValueIfDefined)(securityCredentials?.[Vocabularies_1.SKL.clientId]),
|
|
592
657
|
password: (0, Util_1.getValueIfDefined)(securityCredentials?.[Vocabularies_1.SKL.clientSecret]),
|
|
593
658
|
};
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
659
|
+
let response;
|
|
660
|
+
try {
|
|
661
|
+
const additionalHeaders = this.getHeadersFromRuntimeCredentials(runtimeAuthorization);
|
|
662
|
+
let executeOperationOptions;
|
|
663
|
+
if (additionalHeaders &&
|
|
664
|
+
typeof additionalHeaders === 'object' &&
|
|
665
|
+
!Array.isArray(additionalHeaders) &&
|
|
666
|
+
Object.keys(additionalHeaders).length > 0) {
|
|
667
|
+
executeOperationOptions = { headers: additionalHeaders };
|
|
668
|
+
}
|
|
669
|
+
response = await openApiExecutor.executeOperation(operationId, configuration, operationArgs, executeOperationOptions);
|
|
670
|
+
}
|
|
671
|
+
catch (error) {
|
|
672
|
+
if (axios_1.default.isAxiosError(error) && (await this.isInvalidTokenError(error, integrationId)) && securityCredentials) {
|
|
597
673
|
const refreshedConfiguration = await this.refreshSecurityCredentials(securityCredentials, integrationId, account);
|
|
598
|
-
|
|
674
|
+
response = await openApiExecutor.executeOperation(operationId, refreshedConfiguration, operationArgs);
|
|
599
675
|
}
|
|
600
|
-
|
|
601
|
-
|
|
676
|
+
else {
|
|
677
|
+
throw error;
|
|
678
|
+
}
|
|
679
|
+
}
|
|
602
680
|
return response;
|
|
603
681
|
}
|
|
682
|
+
getHeadersFromRuntimeCredentials(runtimeCredentials) {
|
|
683
|
+
let returnValue = {};
|
|
684
|
+
if (runtimeCredentials.headers &&
|
|
685
|
+
typeof runtimeCredentials.headers === 'object' &&
|
|
686
|
+
Object.keys(runtimeCredentials.headers).length > 0 &&
|
|
687
|
+
!Array.isArray(runtimeCredentials.headers)) {
|
|
688
|
+
returnValue = runtimeCredentials.headers;
|
|
689
|
+
}
|
|
690
|
+
return returnValue;
|
|
691
|
+
}
|
|
692
|
+
getAuthorizationHeaderFromRuntimeCredentials(runtimeCredentials) {
|
|
693
|
+
const headers = this.getHeadersFromRuntimeCredentials(runtimeCredentials);
|
|
694
|
+
if (headers && 'Authorization' in headers) {
|
|
695
|
+
const authorizationHeader = headers['Authorization'];
|
|
696
|
+
if (typeof authorizationHeader === 'string') {
|
|
697
|
+
return authorizationHeader;
|
|
698
|
+
}
|
|
699
|
+
}
|
|
700
|
+
return undefined;
|
|
701
|
+
}
|
|
604
702
|
async isInvalidTokenError(error, integrationId) {
|
|
605
703
|
const integration = await this.findBy({ id: integrationId });
|
|
606
704
|
const errorMatcher = integration[Vocabularies_1.SKL.invalidTokenErrorMatcher];
|
package/dist/SklEngine.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SklEngine.js","sourceRoot":"","sources":["../src/SklEngine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SklEngine.js","sourceRoot":"","sources":["../src/SklEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,13 +2,16 @@ declare type Namespace<T extends string, TBase extends string> = {
|
|
|
2
2
|
[key in T]: `${TBase}${key}`;
|
|
3
3
|
};
|
|
4
4
|
export declare const SKL_NAMESPACE = "https://standardknowledge.com/ontologies/core/";
|
|
5
|
-
export declare const SKL: Namespace<"Verb" | "Noun" | "Mapping" | "Parameters" | "VerbIntegrationMapping" | "NounInterfaceMapping" | "OpenApiDescription" | "Account" | "SecurityCredentials" | "InterfaceComponent" | "Folder" | "OpenApiSecuritySchemeVerb" | "NounMappedVerb" | "VerbNounMapping" | "CompositeVerbMapping" | "JsonDataSource" | "Integration" | "verb" | "account" | "integration" | "parameters" | "operationMapping" | "parameterReference" | "parameterMapping" | "parameterMappingFrame" | "returnValueMapping" | "returnValueFrame" | "verbMapping" | "openApiDescription" | "accessToken" | "bearerToken" | "refreshToken" | "apiKey" | "sourceId" | "returnValue" | "parametersContext" | "sourceUrl" | "interface" | "noun" | "propertiesMapping" | "styling" | "designTokens" | "iterate" | "iterateItemAccessor" | "clientId" | "IntegrationSyncConfiguration" | "syncStepDefaultArgs" | "syncSteps" | "TokenPaginatedCollection" | "PaginatedCollection" | "File" | "Event" | "schemeName" | "oauthFlow" | "stage" | "operationId" | "clientSecret" | "invalidTokenErrorMatcher" | "getOauthTokens" | "records" | "overrideBasePath" | "dataSource" | "data" | "source" | "TriggerVerbMapping" | "series" | "parallel" | "constantOperationId" | "verbId" | "preProcessingMapping" | "preProcessingMappingFrame" | "jwtBearerOptions" | "InvalidTokenErrorMatcher" | "invalidTokenErrorMatcherStatus" | "invalidTokenErrorMatcherMessageRegex" | "Dataview" | "Entity" | "query", "https://standardknowledge.com/ontologies/core/">;
|
|
5
|
+
export declare const SKL: Namespace<"Verb" | "Noun" | "Mapping" | "Parameters" | "VerbIntegrationMapping" | "NounInterfaceMapping" | "OpenApiDescription" | "Account" | "SecurityCredentials" | "InterfaceComponent" | "Folder" | "OpenApiSecuritySchemeVerb" | "NounMappedVerb" | "VerbNounMapping" | "CompositeVerbMapping" | "JsonDataSource" | "Integration" | "verb" | "account" | "integration" | "parameters" | "operationMapping" | "parameterReference" | "parameterMapping" | "parameterMappingFrame" | "returnValueMapping" | "returnValueFrame" | "verbMapping" | "openApiDescription" | "accessToken" | "bearerToken" | "refreshToken" | "apiKey" | "sourceId" | "returnValue" | "parametersContext" | "sourceUrl" | "interface" | "noun" | "propertiesMapping" | "styling" | "designTokens" | "iterate" | "iterateItemAccessor" | "clientId" | "IntegrationSyncConfiguration" | "syncStepDefaultArgs" | "syncSteps" | "TokenPaginatedCollection" | "PaginatedCollection" | "File" | "Event" | "schemeName" | "oauthFlow" | "stage" | "operationId" | "clientSecret" | "invalidTokenErrorMatcher" | "getOauthTokens" | "records" | "overrideBasePath" | "dataSource" | "data" | "source" | "TriggerVerbMapping" | "series" | "parallel" | "constantOperationId" | "verbId" | "preProcessingMapping" | "preProcessingMappingFrame" | "jwtBearerOptions" | "InvalidTokenErrorMatcher" | "invalidTokenErrorMatcherStatus" | "invalidTokenErrorMatcherMessageRegex" | "Dataview" | "Entity" | "query" | "getOpenApiRuntimeAuthorization" | "headers", "https://standardknowledge.com/ontologies/core/">;
|
|
6
|
+
export declare const SKLSO_DATA_NAMESPACE = "https://skl.so/d/";
|
|
7
|
+
export declare const SKLSO_PROPERTY_NAMESPACE = "https://skl.so/p/";
|
|
8
|
+
export declare const SKLSO_PROPERTY: Namespace<"type" | "identifier", "https://skl.so/p/">;
|
|
6
9
|
export declare const SKL_ENGINE_NAMESPACE = "https://standardknowledge.com/ontologies/skl-engine/";
|
|
7
10
|
export declare const SKL_ENGINE: Namespace<"update" | "findAll" | "findAllBy" | "find" | "findBy" | "exists" | "existsResult" | "count" | "countResult" | "save" | "destroy", "https://standardknowledge.com/ontologies/skl-engine/">;
|
|
8
11
|
export declare const XSD_NAMESPACE = "http://www.w3.org/2001/XMLSchema#";
|
|
9
12
|
export declare const XSD: Namespace<"string" | "boolean" | "integer" | "double" | "decimal" | "float" | "positiveInteger" | "negativeInteger" | "int" | "date" | "time" | "dateTime", "http://www.w3.org/2001/XMLSchema#">;
|
|
10
13
|
export declare const RDF_NAMESPACE = "http://www.w3.org/1999/02/22-rdf-syntax-ns#";
|
|
11
|
-
export declare const RDF: Namespace<"
|
|
14
|
+
export declare const RDF: Namespace<"type" | "Property" | "datatype" | "JSON" | "first" | "rest" | "nil", "http://www.w3.org/1999/02/22-rdf-syntax-ns#">;
|
|
12
15
|
export declare const RDFS_NAMESPACE = "http://www.w3.org/2000/01/rdf-schema#";
|
|
13
16
|
export declare const RDFS: Namespace<"subClassOf" | "label" | "range", "http://www.w3.org/2000/01/rdf-schema#">;
|
|
14
17
|
export declare const OWL_NAMESPACE = "http://www.w3.org/2002/07/owl#";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DCTERMS = exports.DCTERMS_NAMESPACE = exports.DCELEMENTS = exports.DCELEMENTS_NAMESPACE = exports.SDO = exports.SDO_NAMESPACE = exports.SHACL = exports.SHACL_NAMESPACE = exports.OWL = exports.OWL_NAMESPACE = exports.RDFS = exports.RDFS_NAMESPACE = exports.RDF = exports.RDF_NAMESPACE = exports.XSD = exports.XSD_NAMESPACE = exports.SKL_ENGINE = exports.SKL_ENGINE_NAMESPACE = exports.SKL = exports.SKL_NAMESPACE = void 0;
|
|
3
|
+
exports.DCTERMS = exports.DCTERMS_NAMESPACE = exports.DCELEMENTS = exports.DCELEMENTS_NAMESPACE = exports.SDO = exports.SDO_NAMESPACE = exports.SHACL = exports.SHACL_NAMESPACE = exports.OWL = exports.OWL_NAMESPACE = exports.RDFS = exports.RDFS_NAMESPACE = exports.RDF = exports.RDF_NAMESPACE = exports.XSD = exports.XSD_NAMESPACE = exports.SKL_ENGINE = exports.SKL_ENGINE_NAMESPACE = exports.SKLSO_PROPERTY = exports.SKLSO_PROPERTY_NAMESPACE = exports.SKLSO_DATA_NAMESPACE = exports.SKL = exports.SKL_NAMESPACE = void 0;
|
|
4
4
|
function createNamespace(baseUri, localNames) {
|
|
5
5
|
return localNames.reduce((obj, localName) => ({ ...obj, [localName]: `${baseUri}${localName}` }
|
|
6
6
|
// eslint-disable-next-line @typescript-eslint/prefer-reduce-type-parameter
|
|
@@ -87,6 +87,14 @@ exports.SKL = createNamespace(exports.SKL_NAMESPACE, [
|
|
|
87
87
|
'Dataview',
|
|
88
88
|
'Entity',
|
|
89
89
|
'query',
|
|
90
|
+
'getOpenApiRuntimeAuthorization',
|
|
91
|
+
'headers',
|
|
92
|
+
]);
|
|
93
|
+
exports.SKLSO_DATA_NAMESPACE = 'https://skl.so/d/';
|
|
94
|
+
exports.SKLSO_PROPERTY_NAMESPACE = 'https://skl.so/p/';
|
|
95
|
+
exports.SKLSO_PROPERTY = createNamespace(exports.SKLSO_PROPERTY_NAMESPACE, [
|
|
96
|
+
'type',
|
|
97
|
+
'identifier',
|
|
90
98
|
]);
|
|
91
99
|
exports.SKL_ENGINE_NAMESPACE = 'https://standardknowledge.com/ontologies/skl-engine/';
|
|
92
100
|
exports.SKL_ENGINE = createNamespace(exports.SKL_ENGINE_NAMESPACE, [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Vocabularies.js","sourceRoot":"","sources":["../../src/util/Vocabularies.ts"],"names":[],"mappings":";;;AAIA,SAAS,eAAe,CACtB,OAAc,EACd,UAAe;IAEf,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,GAAwB,EAAE,SAAS,EAAuB,EAAE,CAAC,CACrF,EAAE,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,GAAG,OAAO,GAAG,SAAS,EAAE,EAAE;IACnD,2EAA2E;KAC1E,EAAE,EAAyB,CAAC,CAAC;AAChC,CAAC;AAEY,QAAA,aAAa,GAAG,gDAAgD,CAAC;AACjE,QAAA,GAAG,GAAG,eAAe,CAAC,qBAAa,EAAE;IAChD,MAAM;IACN,MAAM;IACN,SAAS;IACT,YAAY;IACZ,wBAAwB;IACxB,sBAAsB;IACtB,oBAAoB;IACpB,SAAS;IACT,qBAAqB;IACrB,oBAAoB;IACpB,QAAQ;IACR,2BAA2B;IAC3B,gBAAgB;IAChB,iBAAiB;IACjB,sBAAsB;IACtB,gBAAgB;IAChB,aAAa;IACb,MAAM;IACN,SAAS;IACT,aAAa;IACb,YAAY;IACZ,kBAAkB;IAClB,oBAAoB;IACpB,kBAAkB;IAClB,uBAAuB;IACvB,oBAAoB;IACpB,kBAAkB;IAClB,aAAa;IACb,oBAAoB;IACpB,aAAa;IACb,aAAa;IACb,cAAc;IACd,QAAQ;IACR,UAAU;IACV,aAAa;IACb,mBAAmB;IACnB,WAAW;IACX,WAAW;IACX,MAAM;IACN,mBAAmB;IACnB,SAAS;IACT,cAAc;IACd,SAAS;IACT,qBAAqB;IACrB,UAAU;IACV,8BAA8B;IAC9B,qBAAqB;IACrB,WAAW;IACX,0BAA0B;IAC1B,qBAAqB;IACrB,MAAM;IACN,OAAO;IACP,YAAY;IACZ,WAAW;IACX,OAAO;IACP,aAAa;IACb,cAAc;IACd,0BAA0B;IAC1B,gBAAgB;IAChB,SAAS;IACT,kBAAkB;IAClB,YAAY;IACZ,MAAM;IACN,QAAQ;IACR,oBAAoB;IACpB,QAAQ;IACR,UAAU;IACV,qBAAqB;IACrB,QAAQ;IACR,sBAAsB;IACtB,2BAA2B;IAC3B,kBAAkB;IAClB,0BAA0B;IAC1B,0BAA0B;IAC1B,gCAAgC;IAChC,sCAAsC;IACtC,UAAU;IACV,QAAQ;IACR,OAAO;
|
|
1
|
+
{"version":3,"file":"Vocabularies.js","sourceRoot":"","sources":["../../src/util/Vocabularies.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@comake/skl-js-engine",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.25.1",
|
|
4
4
|
"description": "Standard Knowledge Language Javascript Engine",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"skl",
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
]
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
|
-
"@comake/openapi-operation-executor": "^0.
|
|
45
|
+
"@comake/openapi-operation-executor": "^0.12.1",
|
|
46
46
|
"@comake/rmlmapper-js": "^0.5.2",
|
|
47
47
|
"@comunica/query-sparql-rdfjs": "^2.10.0",
|
|
48
48
|
"@rdfjs/data-model": "^1.3.0",
|