@twin.org/dataspace-test-app 0.0.3-next.26 → 0.0.3-next.28
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/es/extension.js +1 -1
- package/dist/es/extension.js.map +1 -1
- package/dist/es/testDataspaceDataPlaneApp.js +0 -44
- package/dist/es/testDataspaceDataPlaneApp.js.map +1 -1
- package/dist/types/testDataspaceDataPlaneApp.d.ts +0 -6
- package/docs/changelog.md +87 -59
- package/docs/reference/classes/TestDataspaceDataPlaneApp.md +0 -18
- package/package.json +4 -4
package/dist/es/extension.js
CHANGED
package/dist/es/extension.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension.js","sourceRoot":"","sources":["../../src/extension.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"extension.js","sourceRoot":"","sources":["../../src/extension.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAQjE,OAAO,EAAsB,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE9E,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAE3E;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACxC,OAA2C,EAC3C,gBAAmC;IAEnC,gBAAgB,CAAC,KAAK,CAAC,gBAAgB,GAAG;QACzC;YACC,IAAI,EAAE,SAAS;YACf,OAAO,EAAE;gBACR,YAAY,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,mBAAmB,CAAC;oBACvD,CAAC,CAAC,OAAO,CAAC,mBAAmB;oBAC7B,CAAC,CAAC,SAAS;aACZ;SACD;KACD,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,UAAuB;IACtE,UAAU,CAAC,kBAAkB,CAC5B,kBAAkB,EAClB,8BAA8B,EAC9B,oBAAoB,CACpB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACpD,UAAuB,EACvB,YAA2B;IAE3B,YAAY,CAAC,qBAAqB,CACjC,kBAAkB,EAClB,8BAA8B,EAC9B,oBAAoB,CACpB,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CACjC,UAAsC,EACtC,OAA2B,EAC3B,cAAwE;IAExE,IAAI,gBAAoC,CAAC;IACzC,IAAI,eAAe,CAAC;IAEpB,IAAI,cAAc,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACvC,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE,CACzD,IAAI,yBAAyB,CAC5B,gBAAgB,CAAC,WAAW,CAC3B;YACC,oBAAoB,EAAE,UAAU,CAAC,yBAAyB,CAAC,kBAAkB,CAAC;SAC9E,EACD,YAAY,CAAC,OAAO,CACpB,CACD,CAAC;QACH,gBAAgB,GAAG,yBAAyB,CAAC,MAAM,CAAC;IACrD,CAAC;IAED,OAAO;QACN,gBAAgB;QAChB,OAAO,EAAE,mBAAmB;QAC5B,eAAe;KACf,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,aAAqB,EAAE,aAAqB;IAC9E,OAAO,EAAE,CAAC;AACX,CAAC","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IRestRoute } from \"@twin.org/api-models\";\nimport { Is } from \"@twin.org/core\";\nimport { DataspaceAppFactory } from \"@twin.org/dataspace-models\";\nimport type {\n\tEngineTypeInitialiserReturn,\n\tIEngineCore,\n\tIEngineCoreConfig,\n\tIEngineCoreContext,\n\tIEngineServer\n} from \"@twin.org/engine-models\";\nimport { type IEngineConfig, EngineTypeHelper } from \"@twin.org/engine-types\";\nimport type { ITestAppConstructorOptions } from \"./ITestAppConstructorOptions.js\";\nimport { TestDataspaceDataPlaneApp } from \"./testDataspaceDataPlaneApp.js\";\n\n/**\n * Initialise the extension.\n * @param envVars The environment variables for the node.\n * @param nodeEngineConfig The node engine config.\n */\nexport async function extensionInitialise(\n\tenvVars: { [id: string]: string | unknown },\n\tnodeEngineConfig: IEngineCoreConfig\n): Promise<void> {\n\tnodeEngineConfig.types.testAppComponent = [\n\t\t{\n\t\t\ttype: \"service\",\n\t\t\toptions: {\n\t\t\t\tconsignments: Is.arrayValue(envVars.testAppConsignments)\n\t\t\t\t\t? envVars.testAppConsignments\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t}\n\t];\n}\n\n/**\n * Initialise the engine for the extension.\n * @param engineCore The engine core instance.\n */\nexport async function extensionInitialiseEngine(engineCore: IEngineCore): Promise<void> {\n\tengineCore.addTypeInitialiser(\n\t\t\"testAppComponent\",\n\t\t\"@twin.org/dataspace-test-app\",\n\t\t\"testAppInitialiser\"\n\t);\n}\n\n/**\n * Initialise the engine server for the extension.\n * @param engineCore The engine core instance.\n * @param engineServer The engine server instance.\n */\nexport async function extensionInitialiseEngineServer(\n\tengineCore: IEngineCore,\n\tengineServer: IEngineServer\n): Promise<void> {\n\tengineServer.addRestRouteGenerator(\n\t\t\"testAppComponent\",\n\t\t\"@twin.org/dataspace-test-app\",\n\t\t\"generateRestRoutes\"\n\t);\n}\n\n/**\n * Test Dataspace Data Plane App initializer.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @param instanceConfig.options The instance config options.\n * @param instanceConfig.type The instance type.\n * @returns The instance created and the factory for it.\n */\nexport function testAppInitialiser(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext,\n\tinstanceConfig: { type: \"service\"; options: ITestAppConstructorOptions }\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof DataspaceAppFactory> {\n\tlet instanceTypeName: string | undefined;\n\tlet createComponent;\n\n\tif (instanceConfig.type === \"service\") {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew TestDataspaceDataPlaneApp(\n\t\t\t\tEngineTypeHelper.mergeConfig<ITestAppConstructorOptions>(\n\t\t\t\t\t{\n\t\t\t\t\t\tloggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\")\n\t\t\t\t\t},\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\tinstanceTypeName = TestDataspaceDataPlaneApp.APP_ID;\n\t}\n\n\treturn {\n\t\tinstanceTypeName,\n\t\tfactory: DataspaceAppFactory,\n\t\tcreateComponent\n\t};\n}\n\n/**\n * Generate the rest routes for the component.\n * @param baseRouteName The base route name.\n * @param componentName The component name.\n * @returns The rest routes.\n */\nexport function generateRestRoutes(baseRouteName: string, componentName: string): IRestRoute[] {\n\treturn [];\n}\n"]}
|
|
@@ -4,8 +4,6 @@ import { ContextIdHelper, ContextIdKeys, ContextIdStore } from "@twin.org/contex
|
|
|
4
4
|
import { ComponentFactory, Guards } from "@twin.org/core";
|
|
5
5
|
import { DataTypeHandlerFactory } from "@twin.org/data-core";
|
|
6
6
|
import { DataRequestType } from "@twin.org/dataspace-models";
|
|
7
|
-
import { DataspaceProtocolContexts } from "@twin.org/standards-dataspace-protocol";
|
|
8
|
-
import { DublinCoreContexts } from "@twin.org/standards-dublin-core";
|
|
9
7
|
// Default consignments — two entries with different port locations for filtering tests.
|
|
10
8
|
// Can be overridden via constructor options (e.g. loaded from a JSON file via @json: env syntax).
|
|
11
9
|
const DEFAULT_CONSIGNMENTS = [
|
|
@@ -114,48 +112,6 @@ export class TestDataspaceDataPlaneApp {
|
|
|
114
112
|
}
|
|
115
113
|
};
|
|
116
114
|
}
|
|
117
|
-
/**
|
|
118
|
-
* Datasets handled by the App.
|
|
119
|
-
* @returns Dataspace Protocol compliant datasets
|
|
120
|
-
*/
|
|
121
|
-
async datasetsHandled() {
|
|
122
|
-
const contextIds = await ContextIdStore.getContextIds();
|
|
123
|
-
const organizationId = contextIds?.[ContextIdKeys.Organization] ?? contextIds?.[ContextIdKeys.Node] ?? "";
|
|
124
|
-
return [
|
|
125
|
-
{
|
|
126
|
-
"@context": [
|
|
127
|
-
DataspaceProtocolContexts.Context,
|
|
128
|
-
{
|
|
129
|
-
dcterms: DublinCoreContexts.NamespaceTerms
|
|
130
|
-
}
|
|
131
|
-
],
|
|
132
|
-
"@id": "https://twin.example.org/data-service-1",
|
|
133
|
-
"@type": "Dataset",
|
|
134
|
-
"dcterms:publisher": organizationId,
|
|
135
|
-
hasPolicy: [
|
|
136
|
-
{
|
|
137
|
-
"@id": "urn:policy:test-offer-read-consignment",
|
|
138
|
-
"@type": "Offer",
|
|
139
|
-
assigner: organizationId,
|
|
140
|
-
permission: [
|
|
141
|
-
{
|
|
142
|
-
action: "read"
|
|
143
|
-
}
|
|
144
|
-
]
|
|
145
|
-
}
|
|
146
|
-
],
|
|
147
|
-
distribution: [
|
|
148
|
-
{
|
|
149
|
-
"@id": "https://twin.example.org/distribution-1",
|
|
150
|
-
"@type": "Distribution",
|
|
151
|
-
accessService: "https://twin.example.org/data-service-1",
|
|
152
|
-
format: "Http-Pull-Query-Format"
|
|
153
|
-
}
|
|
154
|
-
],
|
|
155
|
-
"dcterms:type": "https://vocabulary.uncefact.org/Consignment"
|
|
156
|
-
}
|
|
157
|
-
];
|
|
158
|
-
}
|
|
159
115
|
/**
|
|
160
116
|
* Supported query types.
|
|
161
117
|
* @returns Types.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testDataspaceDataPlaneApp.js","sourceRoot":"","sources":["../../src/testDataspaceDataPlaneApp.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { ContextIdHelper, ContextIdKeys, ContextIdStore } from \"@twin.org/context\";\nimport { ComponentFactory, Guards } from \"@twin.org/core\";\nimport { DataTypeHandlerFactory } from \"@twin.org/data-core\";\nimport type { IJsonLdDocument } from \"@twin.org/data-json-ld\";\nimport {\n\tDataRequestType,\n\ttype IDataspaceActivity,\n\ttype IActivityQuery,\n\ttype IDataRequest,\n\ttype IDataspaceApp,\n\ttype IProcessingGroupOptions\n} from \"@twin.org/dataspace-models\";\nimport type { ILoggingComponent } from \"@twin.org/logging-models\";\nimport { nameof } from \"@twin.org/nameof\";\nimport {\n\tDataspaceProtocolContexts,\n\ttype IDataspaceProtocolDataset\n} from \"@twin.org/standards-dataspace-protocol\";\nimport { DublinCoreContexts } from \"@twin.org/standards-dublin-core\";\nimport type { IActivityStreamsActivity } from \"@twin.org/standards-w3c-activity-streams\";\nimport type { ITestAppConstructorOptions } from \"./ITestAppConstructorOptions.js\";\n\n// Default consignments — two entries with different port locations for filtering tests.\n// Can be overridden via constructor options (e.g. loaded from a JSON file via @json: env syntax).\nconst DEFAULT_CONSIGNMENTS: IJsonLdDocument[] = [\n\t{\n\t\t\"@context\": \"https://vocabulary.uncefact.org/unece-context-D23B.jsonld\",\n\t\ttype: \"Consignment\",\n\t\tid: \"urn:ucr:24PLP051219453I002610799053311\",\n\t\tidentifier: \"M-Test0001\",\n\t\tglobalId: \"5-GB-IMPORT-Test0001\",\n\t\tdestinationCountry: {\n\t\t\ttype: \"Country\",\n\t\t\tcountryId: \"unece:CountryId#GB\"\n\t\t},\n\t\tloadingLocation: {\n\t\t\ttype: \"LogisticsLocation\",\n\t\t\tid: \"unece:LOCODE#NLRTM\",\n\t\t\tname: \"Rotterdam\"\n\t\t},\n\t\tunloadingLocation: {\n\t\t\ttype: \"LogisticsLocation\",\n\t\t\tid: \"unece:LOCODE#GBFXT\",\n\t\t\tname: \"Felixstowe\"\n\t\t}\n\t},\n\t{\n\t\t\"@context\": \"https://vocabulary.uncefact.org/unece-context-D23B.jsonld\",\n\t\ttype: \"Consignment\",\n\t\tid: \"urn:ucr:24PLP051219453I002710888164422\",\n\t\tidentifier: \"M-Test0002\",\n\t\tglobalId: \"5-GB-IMPORT-Test0002\",\n\t\tdestinationCountry: {\n\t\t\ttype: \"Country\",\n\t\t\tcountryId: \"unece:CountryId#GB\"\n\t\t},\n\t\tloadingLocation: {\n\t\t\ttype: \"LogisticsLocation\",\n\t\t\tid: \"unece:LOCODE#FRLEH\",\n\t\t\tname: \"Le Havre\"\n\t\t},\n\t\tunloadingLocation: {\n\t\t\ttype: \"LogisticsLocation\",\n\t\t\tid: \"unece:LOCODE#GBDVR\",\n\t\t\tname: \"Dover\"\n\t\t}\n\t}\n];\n\nconst DEFAULT_ENTITIES: IJsonLdDocument[] = [\n\tDEFAULT_CONSIGNMENTS[0],\n\t{\n\t\t\"@context\": \"https://vocabulary.uncefact.org/unece-context-D23B.jsonld\",\n\t\ttype: \"Document\",\n\t\tid: \"urn:document:a3456fddaa56\",\n\t\tdocumentTypeCode: \"unece:DocumentCodeList#853\"\n\t}\n];\n\n/**\n * Test App Activity Handler.\n */\nexport class TestDataspaceDataPlaneApp implements IDataspaceApp {\n\t/**\n\t * App Name.\n\t */\n\tpublic static readonly APP_ID = \"https://twin.example.org/app1\";\n\n\t/**\n\t * Runtime name for the class.\n\t */\n\tpublic static readonly CLASS_NAME: string = nameof<TestDataspaceDataPlaneApp>();\n\n\t/**\n\t * Logging component.\n\t * @internal\n\t */\n\tprivate readonly _logging?: ILoggingComponent;\n\n\t/**\n\t * Consignment documents served by this app.\n\t * @internal\n\t */\n\tprivate readonly _consignments: IJsonLdDocument[];\n\n\t/**\n\t * Node Identity\n\t * @internal\n\t */\n\tprivate _nodeId?: string;\n\n\t/**\n\t * Create a new instance of TestDataspaceDataPlaneApp.\n\t * @param options The constructor options.\n\t */\n\tconstructor(options?: ITestAppConstructorOptions) {\n\t\tthis._logging = ComponentFactory.getIfExists<ILoggingComponent>(\n\t\t\toptions?.loggingComponentType ?? \"logging\"\n\t\t);\n\t\tthis._consignments = options?.consignments ?? DEFAULT_CONSIGNMENTS;\n\t}\n\n\t/**\n\t * Returns the class name of the component.\n\t * @returns The class name of the component.\n\t */\n\tpublic className(): string {\n\t\treturn TestDataspaceDataPlaneApp.CLASS_NAME;\n\t}\n\n\t/**\n\t * The settings for the processing groups for tasks.\n\t * @returns The options for each process group.\n\t */\n\tpublic processingGroups(): {\n\t\t[id: string]: IProcessingGroupOptions;\n\t} {\n\t\treturn {\n\t\t\t\"test-default\": {\n\t\t\t\tconcurrentTasks: 2\n\t\t\t}\n\t\t};\n\t}\n\n\t/**\n\t * Datasets handled by the App.\n\t * @returns Dataspace Protocol compliant datasets\n\t */\n\tpublic async datasetsHandled(): Promise<IDataspaceProtocolDataset[]> {\n\t\tconst contextIds = await ContextIdStore.getContextIds();\n\t\tconst organizationId =\n\t\t\tcontextIds?.[ContextIdKeys.Organization] ?? contextIds?.[ContextIdKeys.Node] ?? \"\";\n\t\treturn [\n\t\t\t{\n\t\t\t\t\"@context\": [\n\t\t\t\t\tDataspaceProtocolContexts.Context,\n\t\t\t\t\t{\n\t\t\t\t\t\tdcterms: DublinCoreContexts.NamespaceTerms\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\t\"@id\": \"https://twin.example.org/data-service-1\",\n\t\t\t\t\"@type\": \"Dataset\",\n\t\t\t\t\"dcterms:publisher\": organizationId,\n\t\t\t\thasPolicy: [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"@id\": \"urn:policy:test-offer-read-consignment\",\n\t\t\t\t\t\t\"@type\": \"Offer\",\n\t\t\t\t\t\tassigner: organizationId,\n\t\t\t\t\t\tpermission: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\taction: \"read\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t]\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\tdistribution: [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"@id\": \"https://twin.example.org/distribution-1\",\n\t\t\t\t\t\t\"@type\": \"Distribution\",\n\t\t\t\t\t\taccessService: \"https://twin.example.org/data-service-1\",\n\t\t\t\t\t\tformat: \"Http-Pull-Query-Format\"\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\t\"dcterms:type\": \"https://vocabulary.uncefact.org/Consignment\"\n\t\t\t}\n\t\t];\n\t}\n\n\t/**\n\t * Supported query types.\n\t * @returns Types.\n\t */\n\tpublic supportedQueryTypes(): string[] {\n\t\treturn [\"TestQueryType\"];\n\t}\n\n\t/**\n\t * Start method.\n\t * @param nodeLoggingComponentType the logging component type of such a node.\n\t */\n\tpublic async start(nodeLoggingComponentType?: string): Promise<void> {\n\t\tconst contextIds = await ContextIdStore.getContextIds();\n\t\tContextIdHelper.guard(contextIds, ContextIdKeys.Node);\n\t\tthis._nodeId = contextIds[ContextIdKeys.Node];\n\n\t\tDataTypeHandlerFactory.register(\"https://twin.example.org/MyCreate\", () => ({\n\t\t\tnamespace: \"https://twin.example.org/\",\n\t\t\ttype: \"MyCreate\",\n\t\t\tdefaultValue: {},\n\t\t\tjsonSchema: async () => ({\n\t\t\t\ttype: \"object\"\n\t\t\t})\n\t\t}));\n\n\t\tDataTypeHandlerFactory.register(\"https://vocabulary.uncefact.org/Consignment\", () => ({\n\t\t\tnamespace: \"https://vocabulary.uncefact.org/\",\n\t\t\ttype: \"Consignment\",\n\t\t\tdefaultValue: {},\n\t\t\tjsonSchema: async () => ({\n\t\t\t\ttype: \"object\"\n\t\t\t})\n\t\t}));\n\t}\n\n\t/**\n\t * The activities handled by the App.\n\t * @returns The activities handled by the App.\n\t */\n\tpublic activitiesHandled(): IActivityQuery[] {\n\t\treturn [\n\t\t\t{\n\t\t\t\tobjectType: \"https://vocabulary.uncefact.org/Consignment\",\n\t\t\t\tprocessingGroupId: \"test-default\"\n\t\t\t}\n\t\t];\n\t}\n\n\t/**\n\t * Handle Activity.\n\t * @param activity Activity\n\t * @returns Activity processing result\n\t */\n\tpublic async handleActivity<T>(activity: IDataspaceActivity): Promise<T> {\n\t\tGuards.object<IActivityStreamsActivity>(\n\t\t\tTestDataspaceDataPlaneApp.CLASS_NAME,\n\t\t\tnameof(activity),\n\t\t\tactivity\n\t\t);\n\n\t\tawait this._logging?.log({\n\t\t\tlevel: \"info\",\n\t\t\tsource: TestDataspaceDataPlaneApp.CLASS_NAME,\n\t\t\tmessage: `App Called: ${TestDataspaceDataPlaneApp.APP_ID}`\n\t\t});\n\n\t\tawait this._logging?.log({\n\t\t\tlevel: \"info\",\n\t\t\tsource: TestDataspaceDataPlaneApp.CLASS_NAME,\n\t\t\tmessage: `Node Identity: ${this._nodeId ?? \"\"}`\n\t\t});\n\n\t\tawait new Promise(resolve => setTimeout(resolve, 500));\n\t\treturn \"1234\" as T;\n\t}\n\n\t/**\n\t * Handles the Data Request.\n\t * @param dataRequest The data request\n\t * @param cursor Cursor that points to the next item in the result set.\n\t * @param limit Maximum number of entries retrieved or to be retrieved.\n\t * @returns the Data.\n\t */\n\tpublic async handleDataRequest(\n\t\tdataRequest: IDataRequest,\n\t\tcursor?: string,\n\t\tlimit?: number\n\t): Promise<{ data: IJsonLdDocument; cursor?: string }> {\n\t\tGuards.object<IDataRequest>(\n\t\t\tTestDataspaceDataPlaneApp.CLASS_NAME,\n\t\t\tnameof(dataRequest),\n\t\t\tdataRequest\n\t\t);\n\n\t\tswitch (dataRequest.type) {\n\t\t\tcase DataRequestType.DataAssetEntities: {\n\t\t\t\tif (dataRequest.entitySet.entityId) {\n\t\t\t\t\tconst entityIds = dataRequest.entitySet.entityId;\n\t\t\t\t\tconst matched = this._consignments.filter(c =>\n\t\t\t\t\t\tentityIds.includes((c as { id?: string }).id ?? \"\")\n\t\t\t\t\t);\n\t\t\t\t\treturn { data: (matched.length === 1 ? matched[0] : matched) as IJsonLdDocument };\n\t\t\t\t}\n\n\t\t\t\tif (dataRequest.entitySet.entityType === \"https://vocabulary.uncefact.org/Consignment\") {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tdata: this._consignments as unknown as IJsonLdDocument\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\treturn { data: [] };\n\t\t\t}\n\n\t\t\tcase DataRequestType.QueryDataAsset:\n\t\t\t\treturn { data: DEFAULT_ENTITIES as unknown as IJsonLdDocument };\n\t\t}\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"testDataspaceDataPlaneApp.js","sourceRoot":"","sources":["../../src/testDataspaceDataPlaneApp.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { ContextIdHelper, ContextIdKeys, ContextIdStore } from \"@twin.org/context\";\nimport { ComponentFactory, Guards } from \"@twin.org/core\";\nimport { DataTypeHandlerFactory } from \"@twin.org/data-core\";\nimport type { IJsonLdDocument } from \"@twin.org/data-json-ld\";\nimport {\n\tDataRequestType,\n\ttype IDataspaceActivity,\n\ttype IActivityQuery,\n\ttype IDataRequest,\n\ttype IDataspaceApp,\n\ttype IProcessingGroupOptions\n} from \"@twin.org/dataspace-models\";\nimport type { ILoggingComponent } from \"@twin.org/logging-models\";\nimport { nameof } from \"@twin.org/nameof\";\nimport type { IActivityStreamsActivity } from \"@twin.org/standards-w3c-activity-streams\";\nimport type { ITestAppConstructorOptions } from \"./ITestAppConstructorOptions.js\";\n\n// Default consignments — two entries with different port locations for filtering tests.\n// Can be overridden via constructor options (e.g. loaded from a JSON file via @json: env syntax).\nconst DEFAULT_CONSIGNMENTS: IJsonLdDocument[] = [\n\t{\n\t\t\"@context\": \"https://vocabulary.uncefact.org/unece-context-D23B.jsonld\",\n\t\ttype: \"Consignment\",\n\t\tid: \"urn:ucr:24PLP051219453I002610799053311\",\n\t\tidentifier: \"M-Test0001\",\n\t\tglobalId: \"5-GB-IMPORT-Test0001\",\n\t\tdestinationCountry: {\n\t\t\ttype: \"Country\",\n\t\t\tcountryId: \"unece:CountryId#GB\"\n\t\t},\n\t\tloadingLocation: {\n\t\t\ttype: \"LogisticsLocation\",\n\t\t\tid: \"unece:LOCODE#NLRTM\",\n\t\t\tname: \"Rotterdam\"\n\t\t},\n\t\tunloadingLocation: {\n\t\t\ttype: \"LogisticsLocation\",\n\t\t\tid: \"unece:LOCODE#GBFXT\",\n\t\t\tname: \"Felixstowe\"\n\t\t}\n\t},\n\t{\n\t\t\"@context\": \"https://vocabulary.uncefact.org/unece-context-D23B.jsonld\",\n\t\ttype: \"Consignment\",\n\t\tid: \"urn:ucr:24PLP051219453I002710888164422\",\n\t\tidentifier: \"M-Test0002\",\n\t\tglobalId: \"5-GB-IMPORT-Test0002\",\n\t\tdestinationCountry: {\n\t\t\ttype: \"Country\",\n\t\t\tcountryId: \"unece:CountryId#GB\"\n\t\t},\n\t\tloadingLocation: {\n\t\t\ttype: \"LogisticsLocation\",\n\t\t\tid: \"unece:LOCODE#FRLEH\",\n\t\t\tname: \"Le Havre\"\n\t\t},\n\t\tunloadingLocation: {\n\t\t\ttype: \"LogisticsLocation\",\n\t\t\tid: \"unece:LOCODE#GBDVR\",\n\t\t\tname: \"Dover\"\n\t\t}\n\t}\n];\n\nconst DEFAULT_ENTITIES: IJsonLdDocument[] = [\n\tDEFAULT_CONSIGNMENTS[0],\n\t{\n\t\t\"@context\": \"https://vocabulary.uncefact.org/unece-context-D23B.jsonld\",\n\t\ttype: \"Document\",\n\t\tid: \"urn:document:a3456fddaa56\",\n\t\tdocumentTypeCode: \"unece:DocumentCodeList#853\"\n\t}\n];\n\n/**\n * Test App Activity Handler.\n */\nexport class TestDataspaceDataPlaneApp implements IDataspaceApp {\n\t/**\n\t * App Name.\n\t */\n\tpublic static readonly APP_ID = \"https://twin.example.org/app1\";\n\n\t/**\n\t * Runtime name for the class.\n\t */\n\tpublic static readonly CLASS_NAME: string = nameof<TestDataspaceDataPlaneApp>();\n\n\t/**\n\t * Logging component.\n\t * @internal\n\t */\n\tprivate readonly _logging?: ILoggingComponent;\n\n\t/**\n\t * Consignment documents served by this app.\n\t * @internal\n\t */\n\tprivate readonly _consignments: IJsonLdDocument[];\n\n\t/**\n\t * Node Identity\n\t * @internal\n\t */\n\tprivate _nodeId?: string;\n\n\t/**\n\t * Create a new instance of TestDataspaceDataPlaneApp.\n\t * @param options The constructor options.\n\t */\n\tconstructor(options?: ITestAppConstructorOptions) {\n\t\tthis._logging = ComponentFactory.getIfExists<ILoggingComponent>(\n\t\t\toptions?.loggingComponentType ?? \"logging\"\n\t\t);\n\t\tthis._consignments = options?.consignments ?? DEFAULT_CONSIGNMENTS;\n\t}\n\n\t/**\n\t * Returns the class name of the component.\n\t * @returns The class name of the component.\n\t */\n\tpublic className(): string {\n\t\treturn TestDataspaceDataPlaneApp.CLASS_NAME;\n\t}\n\n\t/**\n\t * The settings for the processing groups for tasks.\n\t * @returns The options for each process group.\n\t */\n\tpublic processingGroups(): {\n\t\t[id: string]: IProcessingGroupOptions;\n\t} {\n\t\treturn {\n\t\t\t\"test-default\": {\n\t\t\t\tconcurrentTasks: 2\n\t\t\t}\n\t\t};\n\t}\n\n\t/**\n\t * Supported query types.\n\t * @returns Types.\n\t */\n\tpublic supportedQueryTypes(): string[] {\n\t\treturn [\"TestQueryType\"];\n\t}\n\n\t/**\n\t * Start method.\n\t * @param nodeLoggingComponentType the logging component type of such a node.\n\t */\n\tpublic async start(nodeLoggingComponentType?: string): Promise<void> {\n\t\tconst contextIds = await ContextIdStore.getContextIds();\n\t\tContextIdHelper.guard(contextIds, ContextIdKeys.Node);\n\t\tthis._nodeId = contextIds[ContextIdKeys.Node];\n\n\t\tDataTypeHandlerFactory.register(\"https://twin.example.org/MyCreate\", () => ({\n\t\t\tnamespace: \"https://twin.example.org/\",\n\t\t\ttype: \"MyCreate\",\n\t\t\tdefaultValue: {},\n\t\t\tjsonSchema: async () => ({\n\t\t\t\ttype: \"object\"\n\t\t\t})\n\t\t}));\n\n\t\tDataTypeHandlerFactory.register(\"https://vocabulary.uncefact.org/Consignment\", () => ({\n\t\t\tnamespace: \"https://vocabulary.uncefact.org/\",\n\t\t\ttype: \"Consignment\",\n\t\t\tdefaultValue: {},\n\t\t\tjsonSchema: async () => ({\n\t\t\t\ttype: \"object\"\n\t\t\t})\n\t\t}));\n\t}\n\n\t/**\n\t * The activities handled by the App.\n\t * @returns The activities handled by the App.\n\t */\n\tpublic activitiesHandled(): IActivityQuery[] {\n\t\treturn [\n\t\t\t{\n\t\t\t\tobjectType: \"https://vocabulary.uncefact.org/Consignment\",\n\t\t\t\tprocessingGroupId: \"test-default\"\n\t\t\t}\n\t\t];\n\t}\n\n\t/**\n\t * Handle Activity.\n\t * @param activity Activity\n\t * @returns Activity processing result\n\t */\n\tpublic async handleActivity<T>(activity: IDataspaceActivity): Promise<T> {\n\t\tGuards.object<IActivityStreamsActivity>(\n\t\t\tTestDataspaceDataPlaneApp.CLASS_NAME,\n\t\t\tnameof(activity),\n\t\t\tactivity\n\t\t);\n\n\t\tawait this._logging?.log({\n\t\t\tlevel: \"info\",\n\t\t\tsource: TestDataspaceDataPlaneApp.CLASS_NAME,\n\t\t\tmessage: `App Called: ${TestDataspaceDataPlaneApp.APP_ID}`\n\t\t});\n\n\t\tawait this._logging?.log({\n\t\t\tlevel: \"info\",\n\t\t\tsource: TestDataspaceDataPlaneApp.CLASS_NAME,\n\t\t\tmessage: `Node Identity: ${this._nodeId ?? \"\"}`\n\t\t});\n\n\t\tawait new Promise(resolve => setTimeout(resolve, 500));\n\t\treturn \"1234\" as T;\n\t}\n\n\t/**\n\t * Handles the Data Request.\n\t * @param dataRequest The data request\n\t * @param cursor Cursor that points to the next item in the result set.\n\t * @param limit Maximum number of entries retrieved or to be retrieved.\n\t * @returns the Data.\n\t */\n\tpublic async handleDataRequest(\n\t\tdataRequest: IDataRequest,\n\t\tcursor?: string,\n\t\tlimit?: number\n\t): Promise<{ data: IJsonLdDocument; cursor?: string }> {\n\t\tGuards.object<IDataRequest>(\n\t\t\tTestDataspaceDataPlaneApp.CLASS_NAME,\n\t\t\tnameof(dataRequest),\n\t\t\tdataRequest\n\t\t);\n\n\t\tswitch (dataRequest.type) {\n\t\t\tcase DataRequestType.DataAssetEntities: {\n\t\t\t\tif (dataRequest.entitySet.entityId) {\n\t\t\t\t\tconst entityIds = dataRequest.entitySet.entityId;\n\t\t\t\t\tconst matched = this._consignments.filter(c =>\n\t\t\t\t\t\tentityIds.includes((c as { id?: string }).id ?? \"\")\n\t\t\t\t\t);\n\t\t\t\t\treturn { data: (matched.length === 1 ? matched[0] : matched) as IJsonLdDocument };\n\t\t\t\t}\n\n\t\t\t\tif (dataRequest.entitySet.entityType === \"https://vocabulary.uncefact.org/Consignment\") {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tdata: this._consignments as unknown as IJsonLdDocument\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\treturn { data: [] };\n\t\t\t}\n\n\t\t\tcase DataRequestType.QueryDataAsset:\n\t\t\t\treturn { data: DEFAULT_ENTITIES as unknown as IJsonLdDocument };\n\t\t}\n\t}\n}\n"]}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { IJsonLdDocument } from "@twin.org/data-json-ld";
|
|
2
2
|
import { type IDataspaceActivity, type IActivityQuery, type IDataRequest, type IDataspaceApp, type IProcessingGroupOptions } from "@twin.org/dataspace-models";
|
|
3
|
-
import { type IDataspaceProtocolDataset } from "@twin.org/standards-dataspace-protocol";
|
|
4
3
|
import type { ITestAppConstructorOptions } from "./ITestAppConstructorOptions.js";
|
|
5
4
|
/**
|
|
6
5
|
* Test App Activity Handler.
|
|
@@ -31,11 +30,6 @@ export declare class TestDataspaceDataPlaneApp implements IDataspaceApp {
|
|
|
31
30
|
processingGroups(): {
|
|
32
31
|
[id: string]: IProcessingGroupOptions;
|
|
33
32
|
};
|
|
34
|
-
/**
|
|
35
|
-
* Datasets handled by the App.
|
|
36
|
-
* @returns Dataspace Protocol compliant datasets
|
|
37
|
-
*/
|
|
38
|
-
datasetsHandled(): Promise<IDataspaceProtocolDataset[]>;
|
|
39
33
|
/**
|
|
40
34
|
* Supported query types.
|
|
41
35
|
* @returns Types.
|
package/docs/changelog.md
CHANGED
|
@@ -1,11 +1,39 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## [0.0.3-next.
|
|
3
|
+
## [0.0.3-next.28](https://github.com/iotaledger/twin-dataspace/compare/dataspace-test-app-v0.0.3-next.27...dataspace-test-app-v0.0.3-next.28) (2026-05-12)
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
### Features
|
|
7
7
|
|
|
8
|
-
*
|
|
8
|
+
* typescript 6 update ([340f10e](https://github.com/iotaledger/twin-dataspace/commit/340f10e4767f6285c694938944f7e044474f9aaa))
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Dependencies
|
|
12
|
+
|
|
13
|
+
* The following workspace dependencies were updated
|
|
14
|
+
* dependencies
|
|
15
|
+
* @twin.org/dataspace-models bumped from 0.0.3-next.27 to 0.0.3-next.28
|
|
16
|
+
|
|
17
|
+
## [0.0.3-next.27](https://github.com/iotaledger/twin-dataspace/compare/dataspace-test-app-v0.0.3-next.26...dataspace-test-app-v0.0.3-next.27) (2026-05-08)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Features
|
|
21
|
+
|
|
22
|
+
* endpoint encryption + getDatasetTargets multi-target fix ([#112](https://github.com/iotaledger/twin-dataspace/issues/112)) ([3288941](https://github.com/iotaledger/twin-dataspace/commit/328894113c19c7402f7d00dfa77b6a97ae40ca91))
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
### Dependencies
|
|
26
|
+
|
|
27
|
+
* The following workspace dependencies were updated
|
|
28
|
+
* dependencies
|
|
29
|
+
* @twin.org/dataspace-models bumped from 0.0.3-next.26 to 0.0.3-next.27
|
|
30
|
+
|
|
31
|
+
## [0.0.3-next.26](https://github.com/iotaledger/twin-dataspace/compare/dataspace-test-app-v0.0.3-next.25...dataspace-test-app-v0.0.3-next.26) (2026-04-14)
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
### Features
|
|
35
|
+
|
|
36
|
+
* add inline tasks and concurrent options ([#104](https://github.com/iotaledger/twin-dataspace/issues/104)) ([2227a21](https://github.com/iotaledger/twin-dataspace/commit/2227a212d906f58ba77850c79bb20bf2cb7195a8))
|
|
9
37
|
|
|
10
38
|
|
|
11
39
|
### Dependencies
|
|
@@ -14,7 +42,7 @@
|
|
|
14
42
|
* dependencies
|
|
15
43
|
* @twin.org/dataspace-models bumped from 0.0.3-next.25 to 0.0.3-next.26
|
|
16
44
|
|
|
17
|
-
## [0.0.3-next.25](https://github.com/
|
|
45
|
+
## [0.0.3-next.25](https://github.com/iotaledger/twin-dataspace/compare/dataspace-test-app-v0.0.3-next.24...dataspace-test-app-v0.0.3-next.25) (2026-04-10)
|
|
18
46
|
|
|
19
47
|
|
|
20
48
|
### Miscellaneous Chores
|
|
@@ -28,7 +56,7 @@
|
|
|
28
56
|
* dependencies
|
|
29
57
|
* @twin.org/dataspace-models bumped from 0.0.3-next.24 to 0.0.3-next.25
|
|
30
58
|
|
|
31
|
-
## [0.0.3-next.24](https://github.com/
|
|
59
|
+
## [0.0.3-next.24](https://github.com/iotaledger/twin-dataspace/compare/dataspace-test-app-v0.0.3-next.23...dataspace-test-app-v0.0.3-next.24) (2026-03-31)
|
|
32
60
|
|
|
33
61
|
|
|
34
62
|
### Miscellaneous Chores
|
|
@@ -42,12 +70,12 @@
|
|
|
42
70
|
* dependencies
|
|
43
71
|
* @twin.org/dataspace-models bumped from 0.0.3-next.23 to 0.0.3-next.24
|
|
44
72
|
|
|
45
|
-
## [0.0.3-next.23](https://github.com/
|
|
73
|
+
## [0.0.3-next.23](https://github.com/iotaledger/twin-dataspace/compare/dataspace-test-app-v0.0.3-next.22...dataspace-test-app-v0.0.3-next.23) (2026-03-25)
|
|
46
74
|
|
|
47
75
|
|
|
48
76
|
### Features
|
|
49
77
|
|
|
50
|
-
* extend test app with multi-consignment data using UNECE vocabulary ([#92](https://github.com/
|
|
78
|
+
* extend test app with multi-consignment data using UNECE vocabulary ([#92](https://github.com/iotaledger/twin-dataspace/issues/92)) ([2f69566](https://github.com/iotaledger/twin-dataspace/commit/2f695668ec03e50c89ddb1437f2be39c047e3268))
|
|
51
79
|
|
|
52
80
|
|
|
53
81
|
### Dependencies
|
|
@@ -56,7 +84,7 @@
|
|
|
56
84
|
* dependencies
|
|
57
85
|
* @twin.org/dataspace-models bumped from 0.0.3-next.22 to 0.0.3-next.23
|
|
58
86
|
|
|
59
|
-
## [0.0.3-next.22](https://github.com/
|
|
87
|
+
## [0.0.3-next.22](https://github.com/iotaledger/twin-dataspace/compare/dataspace-test-app-v0.0.3-next.21...dataspace-test-app-v0.0.3-next.22) (2026-03-20)
|
|
60
88
|
|
|
61
89
|
|
|
62
90
|
### Miscellaneous Chores
|
|
@@ -70,12 +98,12 @@
|
|
|
70
98
|
* dependencies
|
|
71
99
|
* @twin.org/dataspace-models bumped from 0.0.3-next.21 to 0.0.3-next.22
|
|
72
100
|
|
|
73
|
-
## [0.0.3-next.21](https://github.com/
|
|
101
|
+
## [0.0.3-next.21](https://github.com/iotaledger/twin-dataspace/compare/dataspace-test-app-v0.0.3-next.20...dataspace-test-app-v0.0.3-next.21) (2026-03-17)
|
|
74
102
|
|
|
75
103
|
|
|
76
104
|
### Features
|
|
77
105
|
|
|
78
|
-
* improve open-api examples ([1368dbe](https://github.com/
|
|
106
|
+
* improve open-api examples ([1368dbe](https://github.com/iotaledger/twin-dataspace/commit/1368dbed5c36e074b4854942304a19b9ce51e088))
|
|
79
107
|
|
|
80
108
|
|
|
81
109
|
### Dependencies
|
|
@@ -84,7 +112,7 @@
|
|
|
84
112
|
* dependencies
|
|
85
113
|
* @twin.org/dataspace-models bumped from 0.0.3-next.20 to 0.0.3-next.21
|
|
86
114
|
|
|
87
|
-
## [0.0.3-next.20](https://github.com/
|
|
115
|
+
## [0.0.3-next.20](https://github.com/iotaledger/twin-dataspace/compare/dataspace-test-app-v0.0.3-next.19...dataspace-test-app-v0.0.3-next.20) (2026-03-17)
|
|
88
116
|
|
|
89
117
|
|
|
90
118
|
### Miscellaneous Chores
|
|
@@ -98,7 +126,7 @@
|
|
|
98
126
|
* dependencies
|
|
99
127
|
* @twin.org/dataspace-models bumped from 0.0.3-next.19 to 0.0.3-next.20
|
|
100
128
|
|
|
101
|
-
## [0.0.3-next.19](https://github.com/
|
|
129
|
+
## [0.0.3-next.19](https://github.com/iotaledger/twin-dataspace/compare/dataspace-test-app-v0.0.3-next.18...dataspace-test-app-v0.0.3-next.19) (2026-03-12)
|
|
102
130
|
|
|
103
131
|
|
|
104
132
|
### Miscellaneous Chores
|
|
@@ -112,12 +140,12 @@
|
|
|
112
140
|
* dependencies
|
|
113
141
|
* @twin.org/dataspace-models bumped from 0.0.3-next.18 to 0.0.3-next.19
|
|
114
142
|
|
|
115
|
-
## [0.0.3-next.18](https://github.com/
|
|
143
|
+
## [0.0.3-next.18](https://github.com/iotaledger/twin-dataspace/compare/dataspace-test-app-v0.0.3-next.17...dataspace-test-app-v0.0.3-next.18) (2026-03-09)
|
|
116
144
|
|
|
117
145
|
|
|
118
146
|
### Features
|
|
119
147
|
|
|
120
|
-
* resolve DSP transfer flow bugs for cross-node communication ([#76](https://github.com/
|
|
148
|
+
* resolve DSP transfer flow bugs for cross-node communication ([#76](https://github.com/iotaledger/twin-dataspace/issues/76)) ([506a45c](https://github.com/iotaledger/twin-dataspace/commit/506a45c94e63d5f958b1fc7131adfe452c3e2974))
|
|
121
149
|
|
|
122
150
|
|
|
123
151
|
### Dependencies
|
|
@@ -126,18 +154,18 @@
|
|
|
126
154
|
* dependencies
|
|
127
155
|
* @twin.org/dataspace-models bumped from 0.0.3-next.17 to 0.0.3-next.18
|
|
128
156
|
|
|
129
|
-
## [0.0.3-next.17](https://github.com/
|
|
157
|
+
## [0.0.3-next.17](https://github.com/iotaledger/twin-dataspace/compare/dataspace-test-app-v0.0.3-next.16...dataspace-test-app-v0.0.3-next.17) (2026-03-06)
|
|
130
158
|
|
|
131
159
|
|
|
132
160
|
### Features
|
|
133
161
|
|
|
134
|
-
* docs update ([8b44c7a](https://github.com/
|
|
135
|
-
* types update ([77c338e](https://github.com/
|
|
162
|
+
* docs update ([8b44c7a](https://github.com/iotaledger/twin-dataspace/commit/8b44c7a75afb8d377a6f606616f8a78d58439ab4))
|
|
163
|
+
* types update ([77c338e](https://github.com/iotaledger/twin-dataspace/commit/77c338e9244dcc7e3d597fdb06229513b1f13eac))
|
|
136
164
|
|
|
137
165
|
|
|
138
166
|
### Bug Fixes
|
|
139
167
|
|
|
140
|
-
* avoid compaction of incoming activities ([#77](https://github.com/
|
|
168
|
+
* avoid compaction of incoming activities ([#77](https://github.com/iotaledger/twin-dataspace/issues/77)) ([ff43d6a](https://github.com/iotaledger/twin-dataspace/commit/ff43d6a3e1563eb9cb185501134b2a53ae88787c))
|
|
141
169
|
|
|
142
170
|
|
|
143
171
|
### Dependencies
|
|
@@ -146,7 +174,7 @@
|
|
|
146
174
|
* dependencies
|
|
147
175
|
* @twin.org/dataspace-models bumped from 0.0.3-next.16 to 0.0.3-next.17
|
|
148
176
|
|
|
149
|
-
## [0.0.3-next.16](https://github.com/
|
|
177
|
+
## [0.0.3-next.16](https://github.com/iotaledger/twin-dataspace/compare/dataspace-test-app-v0.0.3-next.15...dataspace-test-app-v0.0.3-next.16) (2026-03-02)
|
|
150
178
|
|
|
151
179
|
|
|
152
180
|
### Miscellaneous Chores
|
|
@@ -160,12 +188,12 @@
|
|
|
160
188
|
* dependencies
|
|
161
189
|
* @twin.org/dataspace-models bumped from 0.0.3-next.15 to 0.0.3-next.16
|
|
162
190
|
|
|
163
|
-
## [0.0.3-next.15](https://github.com/
|
|
191
|
+
## [0.0.3-next.15](https://github.com/iotaledger/twin-dataspace/compare/dataspace-test-app-v0.0.3-next.14...dataspace-test-app-v0.0.3-next.15) (2026-03-02)
|
|
164
192
|
|
|
165
193
|
|
|
166
194
|
### Features
|
|
167
195
|
|
|
168
|
-
* unification of the data exchange and the data space connector ([#57](https://github.com/
|
|
196
|
+
* unification of the data exchange and the data space connector ([#57](https://github.com/iotaledger/twin-dataspace/issues/57)) ([df2644d](https://github.com/iotaledger/twin-dataspace/commit/df2644d989471e07dadd83d27bef736179e31bf4))
|
|
169
197
|
|
|
170
198
|
|
|
171
199
|
### Dependencies
|
|
@@ -174,7 +202,7 @@
|
|
|
174
202
|
* dependencies
|
|
175
203
|
* @twin.org/dataspace-models bumped from 0.0.3-next.14 to 0.0.3-next.15
|
|
176
204
|
|
|
177
|
-
## [0.0.3-next.12](https://github.com/
|
|
205
|
+
## [0.0.3-next.12](https://github.com/iotaledger/twin-dataspace/compare/dataspace-test-app-v0.0.3-next.11...dataspace-test-app-v0.0.3-next.12) (2026-01-22)
|
|
178
206
|
|
|
179
207
|
|
|
180
208
|
### Miscellaneous Chores
|
|
@@ -188,12 +216,12 @@
|
|
|
188
216
|
* dependencies
|
|
189
217
|
* @twin.org/dataspace-models bumped from 0.0.3-next.11 to 0.0.3-next.12
|
|
190
218
|
|
|
191
|
-
## [0.0.3-next.11](https://github.com/
|
|
219
|
+
## [0.0.3-next.11](https://github.com/iotaledger/twin-dataspace/compare/dataspace-test-app-v0.0.3-next.10...dataspace-test-app-v0.0.3-next.11) (2026-01-22)
|
|
192
220
|
|
|
193
221
|
|
|
194
222
|
### Features
|
|
195
223
|
|
|
196
|
-
* update contexts ([1c9a169](https://github.com/
|
|
224
|
+
* update contexts ([1c9a169](https://github.com/iotaledger/twin-dataspace/commit/1c9a169ebc44af59df890eb29dd5cb4274940ebe))
|
|
197
225
|
|
|
198
226
|
|
|
199
227
|
### Dependencies
|
|
@@ -202,12 +230,12 @@
|
|
|
202
230
|
* dependencies
|
|
203
231
|
* @twin.org/dataspace-models bumped from 0.0.3-next.10 to 0.0.3-next.11
|
|
204
232
|
|
|
205
|
-
## [0.0.3-next.10](https://github.com/
|
|
233
|
+
## [0.0.3-next.10](https://github.com/iotaledger/twin-dataspace/compare/dataspace-test-app-v0.0.3-next.9...dataspace-test-app-v0.0.3-next.10) (2026-01-19)
|
|
206
234
|
|
|
207
235
|
|
|
208
236
|
### Features
|
|
209
237
|
|
|
210
|
-
* replace registerApp with factory pattern ([#51](https://github.com/
|
|
238
|
+
* replace registerApp with factory pattern ([#51](https://github.com/iotaledger/twin-dataspace/issues/51)) ([a7ef328](https://github.com/iotaledger/twin-dataspace/commit/a7ef32873f5781f7b1f8aa3670f5fb612dd17018))
|
|
211
239
|
|
|
212
240
|
|
|
213
241
|
### Dependencies
|
|
@@ -216,7 +244,7 @@
|
|
|
216
244
|
* dependencies
|
|
217
245
|
* @twin.org/dataspace-models bumped from 0.0.3-next.9 to 0.0.3-next.10
|
|
218
246
|
|
|
219
|
-
## [0.0.3-next.9](https://github.com/
|
|
247
|
+
## [0.0.3-next.9](https://github.com/iotaledger/twin-dataspace/compare/dataspace-test-app-v0.0.3-next.8...dataspace-test-app-v0.0.3-next.9) (2026-01-19)
|
|
220
248
|
|
|
221
249
|
|
|
222
250
|
### Miscellaneous Chores
|
|
@@ -230,7 +258,7 @@
|
|
|
230
258
|
* dependencies
|
|
231
259
|
* @twin.org/dataspace-models bumped from 0.0.3-next.8 to 0.0.3-next.9
|
|
232
260
|
|
|
233
|
-
## [0.0.3-next.8](https://github.com/
|
|
261
|
+
## [0.0.3-next.8](https://github.com/iotaledger/twin-dataspace/compare/dataspace-test-app-v0.0.3-next.7...dataspace-test-app-v0.0.3-next.8) (2026-01-16)
|
|
234
262
|
|
|
235
263
|
|
|
236
264
|
### Miscellaneous Chores
|
|
@@ -244,12 +272,12 @@
|
|
|
244
272
|
* dependencies
|
|
245
273
|
* @twin.org/dataspace-models bumped from 0.0.3-next.7 to 0.0.3-next.8
|
|
246
274
|
|
|
247
|
-
## [0.0.3-next.7](https://github.com/
|
|
275
|
+
## [0.0.3-next.7](https://github.com/iotaledger/twin-dataspace/compare/dataspace-test-app-v0.0.3-next.6...dataspace-test-app-v0.0.3-next.7) (2026-01-16)
|
|
248
276
|
|
|
249
277
|
|
|
250
278
|
### Features
|
|
251
279
|
|
|
252
|
-
* implement Link headers for pagination ([#43](https://github.com/
|
|
280
|
+
* implement Link headers for pagination ([#43](https://github.com/iotaledger/twin-dataspace/issues/43)) ([ce2a31f](https://github.com/iotaledger/twin-dataspace/commit/ce2a31fab1b5a1338d34b8514e96a203705c68d1))
|
|
253
281
|
|
|
254
282
|
|
|
255
283
|
### Dependencies
|
|
@@ -258,12 +286,12 @@
|
|
|
258
286
|
* dependencies
|
|
259
287
|
* @twin.org/dataspace-models bumped from 0.0.3-next.6 to 0.0.3-next.7
|
|
260
288
|
|
|
261
|
-
## [0.0.3-next.6](https://github.com/
|
|
289
|
+
## [0.0.3-next.6](https://github.com/iotaledger/twin-dataspace/compare/dataspace-test-app-v0.0.3-next.5...dataspace-test-app-v0.0.3-next.6) (2026-01-15)
|
|
262
290
|
|
|
263
291
|
|
|
264
292
|
### Features
|
|
265
293
|
|
|
266
|
-
* update contexts and namespaces ([#41](https://github.com/
|
|
294
|
+
* update contexts and namespaces ([#41](https://github.com/iotaledger/twin-dataspace/issues/41)) ([cad79f9](https://github.com/iotaledger/twin-dataspace/commit/cad79f9f18c0b1bc4a4604a951c28db1d1068f5e))
|
|
267
295
|
|
|
268
296
|
|
|
269
297
|
### Dependencies
|
|
@@ -272,7 +300,7 @@
|
|
|
272
300
|
* dependencies
|
|
273
301
|
* @twin.org/dataspace-models bumped from 0.0.3-next.5 to 0.0.3-next.6
|
|
274
302
|
|
|
275
|
-
## [0.0.3-next.5](https://github.com/
|
|
303
|
+
## [0.0.3-next.5](https://github.com/iotaledger/twin-dataspace/compare/dataspace-test-app-v0.0.3-next.4...dataspace-test-app-v0.0.3-next.5) (2026-01-07)
|
|
276
304
|
|
|
277
305
|
|
|
278
306
|
### Miscellaneous Chores
|
|
@@ -286,13 +314,13 @@
|
|
|
286
314
|
* dependencies
|
|
287
315
|
* @twin.org/dataspace-models bumped from 0.0.3-next.4 to 0.0.3-next.5
|
|
288
316
|
|
|
289
|
-
## [0.0.3-next.4](https://github.com/
|
|
317
|
+
## [0.0.3-next.4](https://github.com/iotaledger/twin-dataspace/compare/dataspace-test-app-v0.0.3-next.3...dataspace-test-app-v0.0.3-next.4) (2026-01-06)
|
|
290
318
|
|
|
291
319
|
|
|
292
320
|
### Features
|
|
293
321
|
|
|
294
|
-
* rfc 004 implementation ([#34](https://github.com/
|
|
295
|
-
* update standards dependencies ([8534ad7](https://github.com/
|
|
322
|
+
* rfc 004 implementation ([#34](https://github.com/iotaledger/twin-dataspace/issues/34)) ([3920a45](https://github.com/iotaledger/twin-dataspace/commit/3920a456f744610885c33cb0960e0448aea71a44))
|
|
323
|
+
* update standards dependencies ([8534ad7](https://github.com/iotaledger/twin-dataspace/commit/8534ad74b996610ed5994b5213c857989c2bf57a))
|
|
296
324
|
|
|
297
325
|
|
|
298
326
|
### Dependencies
|
|
@@ -301,7 +329,7 @@
|
|
|
301
329
|
* dependencies
|
|
302
330
|
* @twin.org/dataspace-models bumped from 0.0.3-next.3 to 0.0.3-next.4
|
|
303
331
|
|
|
304
|
-
## [0.0.3-next.3](https://github.com/
|
|
332
|
+
## [0.0.3-next.3](https://github.com/iotaledger/twin-dataspace/compare/dataspace-test-app-v0.0.3-next.2...dataspace-test-app-v0.0.3-next.3) (2025-12-01)
|
|
305
333
|
|
|
306
334
|
|
|
307
335
|
### Miscellaneous Chores
|
|
@@ -315,7 +343,7 @@
|
|
|
315
343
|
* dependencies
|
|
316
344
|
* @twin.org/dataspace-models bumped from 0.0.3-next.2 to 0.0.3-next.3
|
|
317
345
|
|
|
318
|
-
## [0.0.3-next.2](https://github.com/
|
|
346
|
+
## [0.0.3-next.2](https://github.com/iotaledger/twin-dataspace/compare/dataspace-test-app-v0.0.3-next.1...dataspace-test-app-v0.0.3-next.2) (2025-11-28)
|
|
319
347
|
|
|
320
348
|
|
|
321
349
|
### Miscellaneous Chores
|
|
@@ -329,25 +357,25 @@
|
|
|
329
357
|
* dependencies
|
|
330
358
|
* @twin.org/dataspace-models bumped from 0.0.3-next.1 to 0.0.3-next.2
|
|
331
359
|
|
|
332
|
-
## [0.0.3-next.1](https://github.com/
|
|
360
|
+
## [0.0.3-next.1](https://github.com/iotaledger/twin-dataspace/compare/dataspace-test-app-v0.0.3-next.0...dataspace-test-app-v0.0.3-next.1) (2025-11-12)
|
|
333
361
|
|
|
334
362
|
|
|
335
363
|
### Features
|
|
336
364
|
|
|
337
|
-
* add context id features ([#26](https://github.com/
|
|
338
|
-
* add rest and socket clients ([950bf70](https://github.com/
|
|
339
|
-
* add validate-locales ([c0b08a7](https://github.com/
|
|
340
|
-
* dataspace ([#2](https://github.com/
|
|
341
|
-
* eslint migration to flat config ([b84e875](https://github.com/
|
|
342
|
-
* query interface data space connector ([#18](https://github.com/
|
|
343
|
-
* update framework components ([4d9ca95](https://github.com/
|
|
344
|
-
* use new engine extensions config ([80bdb5b](https://github.com/
|
|
345
|
-
* use new start signature ([4064d19](https://github.com/
|
|
365
|
+
* add context id features ([#26](https://github.com/iotaledger/twin-dataspace/issues/26)) ([6429a16](https://github.com/iotaledger/twin-dataspace/commit/6429a160dac9499304fdfb93a9dbdce37277ca7d))
|
|
366
|
+
* add rest and socket clients ([950bf70](https://github.com/iotaledger/twin-dataspace/commit/950bf705e6df4e709bbbe58e93968510067b9ddc))
|
|
367
|
+
* add validate-locales ([c0b08a7](https://github.com/iotaledger/twin-dataspace/commit/c0b08a73268f9fd3eb6ac3079b49d1ab0c01f118))
|
|
368
|
+
* dataspace ([#2](https://github.com/iotaledger/twin-dataspace/issues/2)) ([c2ac651](https://github.com/iotaledger/twin-dataspace/commit/c2ac651ceb6f35e46bd5eac97ac648bb1ee9dc0c))
|
|
369
|
+
* eslint migration to flat config ([b84e875](https://github.com/iotaledger/twin-dataspace/commit/b84e87530aa249891618096ab6e072b21ff9f63a))
|
|
370
|
+
* query interface data space connector ([#18](https://github.com/iotaledger/twin-dataspace/issues/18)) ([b12eca1](https://github.com/iotaledger/twin-dataspace/commit/b12eca124a8f46d290c168e364b7ed4bf72001d8))
|
|
371
|
+
* update framework components ([4d9ca95](https://github.com/iotaledger/twin-dataspace/commit/4d9ca95879bd6cae9d031595292b6a872bf5b5fd))
|
|
372
|
+
* use new engine extensions config ([80bdb5b](https://github.com/iotaledger/twin-dataspace/commit/80bdb5b298b65b5b22fa9927a0ad031cb9a3534d))
|
|
373
|
+
* use new start signature ([4064d19](https://github.com/iotaledger/twin-dataspace/commit/4064d19676b183e7162e667a701a24c4b1f48504))
|
|
346
374
|
|
|
347
375
|
|
|
348
376
|
### Bug Fixes
|
|
349
377
|
|
|
350
|
-
* the Dataspace Connector App receives Node Identity ([#14](https://github.com/
|
|
378
|
+
* the Dataspace Connector App receives Node Identity ([#14](https://github.com/iotaledger/twin-dataspace/issues/14)) ([a71ad44](https://github.com/iotaledger/twin-dataspace/commit/a71ad44539d9c2b55e13d865af58eeb9eb14e4ea))
|
|
351
379
|
|
|
352
380
|
|
|
353
381
|
### Dependencies
|
|
@@ -356,12 +384,12 @@
|
|
|
356
384
|
* dependencies
|
|
357
385
|
* @twin.org/dataspace-models bumped from 0.0.3-next.0 to 0.0.3-next.1
|
|
358
386
|
|
|
359
|
-
## [0.0.1-next.8](https://github.com/
|
|
387
|
+
## [0.0.1-next.8](https://github.com/iotaledger/twin-dataspace/compare/dataspace-test-app-v0.0.1-next.7...dataspace-test-app-v0.0.1-next.8) (2025-10-09)
|
|
360
388
|
|
|
361
389
|
|
|
362
390
|
### Features
|
|
363
391
|
|
|
364
|
-
* add validate-locales ([c0b08a7](https://github.com/
|
|
392
|
+
* add validate-locales ([c0b08a7](https://github.com/iotaledger/twin-dataspace/commit/c0b08a73268f9fd3eb6ac3079b49d1ab0c01f118))
|
|
365
393
|
|
|
366
394
|
|
|
367
395
|
### Dependencies
|
|
@@ -370,12 +398,12 @@
|
|
|
370
398
|
* dependencies
|
|
371
399
|
* @twin.org/dataspace-models bumped from 0.0.1-next.7 to 0.0.1-next.8
|
|
372
400
|
|
|
373
|
-
## [0.0.1-next.7](https://github.com/
|
|
401
|
+
## [0.0.1-next.7](https://github.com/iotaledger/twin-dataspace/compare/dataspace-test-app-v0.0.1-next.6...dataspace-test-app-v0.0.1-next.7) (2025-10-02)
|
|
374
402
|
|
|
375
403
|
|
|
376
404
|
### Features
|
|
377
405
|
|
|
378
|
-
* use new engine extensions config ([80bdb5b](https://github.com/
|
|
406
|
+
* use new engine extensions config ([80bdb5b](https://github.com/iotaledger/twin-dataspace/commit/80bdb5b298b65b5b22fa9927a0ad031cb9a3534d))
|
|
379
407
|
|
|
380
408
|
|
|
381
409
|
### Dependencies
|
|
@@ -384,12 +412,12 @@
|
|
|
384
412
|
* dependencies
|
|
385
413
|
* @twin.org/dataspace-models bumped from 0.0.1-next.6 to 0.0.1-next.7
|
|
386
414
|
|
|
387
|
-
## [0.0.1-next.6](https://github.com/
|
|
415
|
+
## [0.0.1-next.6](https://github.com/iotaledger/twin-dataspace/compare/dataspace-test-app-v0.0.1-next.5...dataspace-test-app-v0.0.1-next.6) (2025-09-29)
|
|
388
416
|
|
|
389
417
|
|
|
390
418
|
### Features
|
|
391
419
|
|
|
392
|
-
* use new start signature ([4064d19](https://github.com/
|
|
420
|
+
* use new start signature ([4064d19](https://github.com/iotaledger/twin-dataspace/commit/4064d19676b183e7162e667a701a24c4b1f48504))
|
|
393
421
|
|
|
394
422
|
|
|
395
423
|
### Dependencies
|
|
@@ -398,17 +426,17 @@
|
|
|
398
426
|
* dependencies
|
|
399
427
|
* @twin.org/dataspace-models bumped from 0.0.1-next.5 to 0.0.1-next.6
|
|
400
428
|
|
|
401
|
-
## [0.0.1-next.5](https://github.com/
|
|
429
|
+
## [0.0.1-next.5](https://github.com/iotaledger/twin-dataspace/compare/dataspace-test-app-v0.0.1-next.4...dataspace-test-app-v0.0.1-next.5) (2025-09-29)
|
|
402
430
|
|
|
403
431
|
|
|
404
432
|
### Features
|
|
405
433
|
|
|
406
|
-
* update framework components ([4d9ca95](https://github.com/
|
|
434
|
+
* update framework components ([4d9ca95](https://github.com/iotaledger/twin-dataspace/commit/4d9ca95879bd6cae9d031595292b6a872bf5b5fd))
|
|
407
435
|
|
|
408
436
|
|
|
409
437
|
### Bug Fixes
|
|
410
438
|
|
|
411
|
-
* the Dataspace Connector App receives Node Identity ([#14](https://github.com/
|
|
439
|
+
* the Dataspace Connector App receives Node Identity ([#14](https://github.com/iotaledger/twin-dataspace/issues/14)) ([a71ad44](https://github.com/iotaledger/twin-dataspace/commit/a71ad44539d9c2b55e13d865af58eeb9eb14e4ea))
|
|
412
440
|
|
|
413
441
|
|
|
414
442
|
### Dependencies
|
|
@@ -417,12 +445,12 @@
|
|
|
417
445
|
* dependencies
|
|
418
446
|
* @twin.org/dataspace-models bumped from 0.0.1-next.4 to 0.0.1-next.5
|
|
419
447
|
|
|
420
|
-
## [0.0.1-next.4](https://github.com/
|
|
448
|
+
## [0.0.1-next.4](https://github.com/iotaledger/twin-dataspace/compare/dataspace-test-app-v0.0.1-next.3...dataspace-test-app-v0.0.1-next.4) (2025-08-29)
|
|
421
449
|
|
|
422
450
|
|
|
423
451
|
### Features
|
|
424
452
|
|
|
425
|
-
* eslint migration to flat config ([b84e875](https://github.com/
|
|
453
|
+
* eslint migration to flat config ([b84e875](https://github.com/iotaledger/twin-dataspace/commit/b84e87530aa249891618096ab6e072b21ff9f63a))
|
|
426
454
|
|
|
427
455
|
|
|
428
456
|
### Dependencies
|
|
@@ -80,24 +80,6 @@ The options for each process group.
|
|
|
80
80
|
|
|
81
81
|
***
|
|
82
82
|
|
|
83
|
-
### datasetsHandled() {#datasetshandled}
|
|
84
|
-
|
|
85
|
-
> **datasetsHandled**(): `Promise`\<`IDataspaceProtocolDataset`[]\>
|
|
86
|
-
|
|
87
|
-
Datasets handled by the App.
|
|
88
|
-
|
|
89
|
-
#### Returns
|
|
90
|
-
|
|
91
|
-
`Promise`\<`IDataspaceProtocolDataset`[]\>
|
|
92
|
-
|
|
93
|
-
Dataspace Protocol compliant datasets
|
|
94
|
-
|
|
95
|
-
#### Implementation of
|
|
96
|
-
|
|
97
|
-
`IDataspaceApp.datasetsHandled`
|
|
98
|
-
|
|
99
|
-
***
|
|
100
|
-
|
|
101
83
|
### supportedQueryTypes() {#supportedquerytypes}
|
|
102
84
|
|
|
103
85
|
> **supportedQueryTypes**(): `string`[]
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@twin.org/dataspace-test-app",
|
|
3
|
-
"version": "0.0.3-next.
|
|
3
|
+
"version": "0.0.3-next.28",
|
|
4
4
|
"description": "Provides a sample dataspace app for local integration tests and development workflows.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
|
-
"url": "git+https://github.com/
|
|
7
|
+
"url": "git+https://github.com/iotaledger/dataspace.git",
|
|
8
8
|
"directory": "packages/dataspace-test-app"
|
|
9
9
|
},
|
|
10
10
|
"author": "jose.cantera@iota.org",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"@twin.org/core": "next",
|
|
20
20
|
"@twin.org/data-core": "next",
|
|
21
21
|
"@twin.org/data-json-ld": "next",
|
|
22
|
-
"@twin.org/dataspace-models": "0.0.3-next.
|
|
22
|
+
"@twin.org/dataspace-models": "0.0.3-next.28",
|
|
23
23
|
"@twin.org/engine-models": "next",
|
|
24
24
|
"@twin.org/engine-types": "next",
|
|
25
25
|
"@twin.org/logging-models": "next",
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
"integration"
|
|
56
56
|
],
|
|
57
57
|
"bugs": {
|
|
58
|
-
"url": "git+https://github.com/
|
|
58
|
+
"url": "git+https://github.com/iotaledger/dataspace/issues"
|
|
59
59
|
},
|
|
60
60
|
"homepage": "https://twindev.org"
|
|
61
61
|
}
|