@twin.org/federated-catalogue-service 0.0.1-next.9 → 0.0.2-next.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.
@@ -156,7 +156,7 @@ function generateRestRoutesFederatedCatalogue(baseRouteName, factoryServiceName)
156
156
  const participantEntryExample = {
157
157
  "@context": federatedCatalogueModels.FederatedCatalogueContextInstances.DEFAULT_LD_CONTEXT_ENTRY,
158
158
  id: "did:iota:xxx",
159
- type: standardsGaiaX.GaiaXTypes.Participant,
159
+ type: standardsGaiaX.GaiaXTypes.LegalPerson,
160
160
  registrationNumber: {
161
161
  type: standardsGaiaX.GaiaXTypes.LocalRegistrationNumber,
162
162
  local: "P1234567"
@@ -202,11 +202,7 @@ function generateRestRoutesFederatedCatalogue(baseRouteName, factoryServiceName)
202
202
  body: {
203
203
  "@context": federatedCatalogueModels.FederatedCatalogueContextInstances.DEFAULT_LD_CONTEXT_ENTRY_LIST,
204
204
  type: standardsSchemaOrg.SchemaOrgTypes.ItemList,
205
- itemListElement: [
206
- {
207
- ...participantEntryExample
208
- }
209
- ]
205
+ itemListElement: [participantEntryExample]
210
206
  }
211
207
  }
212
208
  }
@@ -241,7 +237,7 @@ function generateRestRoutesFederatedCatalogue(baseRouteName, factoryServiceName)
241
237
  {
242
238
  id: "participantGetResponseExample",
243
239
  response: {
244
- body: { ...participantEntryExample }
240
+ body: participantEntryExample
245
241
  }
246
242
  }
247
243
  ]
@@ -252,7 +248,7 @@ function generateRestRoutesFederatedCatalogue(baseRouteName, factoryServiceName)
252
248
  "@context": [
253
249
  "https://www.w3.org/ns/odrl/2/",
254
250
  {
255
- twin: "https://schema.twindev.org/odrl/",
251
+ twin: "https://schema.twindev.org/w3c-odrl/",
256
252
  jsonPathSelector: "twin:jsonPathSelector"
257
253
  }
258
254
  ],
@@ -324,11 +320,7 @@ function generateRestRoutesFederatedCatalogue(baseRouteName, factoryServiceName)
324
320
  body: {
325
321
  "@context": federatedCatalogueModels.FederatedCatalogueContextInstances.DEFAULT_LD_CONTEXT_ENTRY_LIST,
326
322
  type: standardsSchemaOrg.SchemaOrgTypes.ItemList,
327
- itemListElement: [
328
- {
329
- ...serviceOfferingEntryExample
330
- }
331
- ]
323
+ itemListElement: [serviceOfferingEntryExample]
332
324
  }
333
325
  }
334
326
  }
@@ -363,9 +355,7 @@ function generateRestRoutesFederatedCatalogue(baseRouteName, factoryServiceName)
363
355
  {
364
356
  id: "serviceOfferingGetResponseExample",
365
357
  response: {
366
- body: {
367
- ...serviceOfferingEntryExample
368
- }
358
+ body: serviceOfferingEntryExample
369
359
  }
370
360
  }
371
361
  ]
@@ -432,11 +422,7 @@ function generateRestRoutesFederatedCatalogue(baseRouteName, factoryServiceName)
432
422
  body: {
433
423
  "@context": federatedCatalogueModels.FederatedCatalogueContextInstances.DEFAULT_LD_CONTEXT_ENTRY_LIST,
434
424
  type: standardsSchemaOrg.SchemaOrgTypes.ItemList,
435
- itemListElement: [
436
- {
437
- ...dataResourceEntryExample
438
- }
439
- ]
425
+ itemListElement: [dataResourceEntryExample]
440
426
  }
441
427
  }
442
428
  }
@@ -471,9 +457,7 @@ function generateRestRoutesFederatedCatalogue(baseRouteName, factoryServiceName)
471
457
  {
472
458
  id: "dataResourceGetResponseExample",
473
459
  response: {
474
- body: {
475
- ...dataResourceEntryExample
476
- }
460
+ body: dataResourceEntryExample
477
461
  }
478
462
  }
479
463
  ]
@@ -539,11 +523,7 @@ function generateRestRoutesFederatedCatalogue(baseRouteName, factoryServiceName)
539
523
  body: {
540
524
  "@context": federatedCatalogueModels.FederatedCatalogueContextInstances.DEFAULT_LD_CONTEXT_ENTRY_LIST,
541
525
  type: standardsSchemaOrg.SchemaOrgTypes.ItemList,
542
- itemListElement: [
543
- {
544
- ...dataSpaceConnectorEntryExample
545
- }
546
- ]
526
+ itemListElement: [dataSpaceConnectorEntryExample]
547
527
  }
548
528
  }
549
529
  }
@@ -578,9 +558,7 @@ function generateRestRoutesFederatedCatalogue(baseRouteName, factoryServiceName)
578
558
  {
579
559
  id: "dataSpaceConnectorGetResponseExample",
580
560
  response: {
581
- body: {
582
- ...dataSpaceConnectorEntryExample
583
- }
561
+ body: dataSpaceConnectorEntryExample
584
562
  }
585
563
  }
586
564
  ]
@@ -633,11 +611,9 @@ async function complianceCredentialPresentation(baseRouteName, httpRequestContex
633
611
  */
634
612
  async function participantList(httpRequestContext, factoryServiceName, request) {
635
613
  const service = core.ComponentFactory.get(factoryServiceName);
636
- const itemsAndCursor = await service.queryParticipants(request?.query?.id, request?.query?.registrationNumber, request?.query?.lrnType, request?.query?.cursor, core.Coerce.number(request?.query?.pageSize));
614
+ const itemsAndCursor = await service.queryParticipants(request?.query?.id, request?.query?.registrationNumber, request?.query?.lrnType, request?.query?.cursor, core.Coerce.integer(request?.query?.pageSize));
637
615
  return {
638
- body: {
639
- ...itemsAndCursor
640
- }
616
+ body: itemsAndCursor
641
617
  };
642
618
  }
643
619
  /**
@@ -652,7 +628,7 @@ async function participantGet(httpRequestContext, factoryServiceName, request) {
652
628
  const id = request?.pathParams.id;
653
629
  core.Guards.stringValue(ROUTES_SOURCE, "id", id);
654
630
  return {
655
- body: (await service.getEntry(standardsGaiaX.GaiaXTypes.Participant, id))
631
+ body: (await service.getEntry(standardsGaiaX.GaiaXTypes.LegalPerson, id))
656
632
  };
657
633
  }
658
634
  /**
@@ -689,11 +665,9 @@ async function serviceOfferingCredentialPresentation(baseRouteName, httpRequestC
689
665
  */
690
666
  async function serviceOfferingList(httpRequestContext, factoryServiceName, request) {
691
667
  const service = core.ComponentFactory.get(factoryServiceName);
692
- const itemsAndCursor = await service.queryServiceOfferings(request?.query.id, request?.query.providedBy, request?.query.cursor, core.Coerce.number(request?.query?.pageSize));
668
+ const itemsAndCursor = await service.queryServiceOfferings(request?.query?.id, request?.query?.providedBy, request?.query?.cursor, core.Coerce.integer(request?.query?.pageSize));
693
669
  return {
694
- body: {
695
- ...itemsAndCursor
696
- }
670
+ body: itemsAndCursor
697
671
  };
698
672
  }
699
673
  /**
@@ -745,11 +719,9 @@ async function dataResourceCredentialPresentation(baseRouteName, httpRequestCont
745
719
  */
746
720
  async function dataResourceList(httpRequestContext, factoryServiceName, request) {
747
721
  const service = core.ComponentFactory.get(factoryServiceName);
748
- const itemsAndCursor = await service.queryDataResources(request?.query.id, request?.query.producedBy, request?.query.cursor, core.Coerce.number(request?.query?.pageSize));
722
+ const itemsAndCursor = await service.queryDataResources(request?.query?.id, request?.query?.producedBy, request?.query?.cursor, core.Coerce.integer(request?.query?.pageSize));
749
723
  return {
750
- body: {
751
- ...itemsAndCursor
752
- }
724
+ body: itemsAndCursor
753
725
  };
754
726
  }
755
727
  /**
@@ -798,11 +770,9 @@ async function dataSpaceConnectorCredentialPresentation(baseRouteName, httpReque
798
770
  */
799
771
  async function dataSpaceConnectorList(httpRequestContext, factoryServiceName, request) {
800
772
  const service = core.ComponentFactory.get(factoryServiceName);
801
- const itemsAndCursor = await service.queryDataSpaceConnectors(request?.query.id, request?.query.maintainedBy, request?.query.cursor, core.Coerce.number(request?.query?.pageSize));
773
+ const itemsAndCursor = await service.queryDataSpaceConnectors(request?.query?.id, request?.query?.maintainedBy, request?.query?.cursor, core.Coerce.integer(request?.query?.pageSize));
802
774
  return {
803
- body: {
804
- ...itemsAndCursor
805
- }
775
+ body: itemsAndCursor
806
776
  };
807
777
  }
808
778
  /**
@@ -1147,7 +1117,7 @@ class FederatedCatalogueService {
1147
1117
  reason: result.verificationFailureReason
1148
1118
  });
1149
1119
  }
1150
- const targetCredential = result.credentials.find(credential => credential.credentialSubject.type === standardsGaiaX.GaiaXTypes.Participant);
1120
+ const targetCredential = result.credentials.find(credential => credential.credentialSubject.type === standardsGaiaX.GaiaXTypes.LegalPerson);
1151
1121
  if (core.Is.undefined(targetCredential)) {
1152
1122
  throw new core.UnprocessableError(this.CLASS_NAME, "noEvidence");
1153
1123
  }
@@ -1205,7 +1175,7 @@ class FederatedCatalogueService {
1205
1175
  }
1206
1176
  const entries = await this._entityStorageParticipants.query({ conditions }, undefined, undefined, cursor, pageSize);
1207
1177
  const itemList = entries.entities.map(entry => {
1208
- entry.type = standardsGaiaX.GaiaXTypes.Participant;
1178
+ entry.type = standardsGaiaX.GaiaXTypes.LegalPerson;
1209
1179
  return entry;
1210
1180
  });
1211
1181
  const result = {
@@ -1227,7 +1197,7 @@ class FederatedCatalogueService {
1227
1197
  core.Guards.stringValue(this.CLASS_NAME, "entryId", entryId);
1228
1198
  let itemsAndCursor;
1229
1199
  switch (entryType) {
1230
- case standardsGaiaX.GaiaXTypes.Participant:
1200
+ case standardsGaiaX.GaiaXTypes.LegalPerson:
1231
1201
  itemsAndCursor = await this.queryParticipants(entryId);
1232
1202
  break;
1233
1203
  case standardsGaiaX.GaiaXTypes.DataExchangeComponent:
@@ -154,7 +154,7 @@ function generateRestRoutesFederatedCatalogue(baseRouteName, factoryServiceName)
154
154
  const participantEntryExample = {
155
155
  "@context": FederatedCatalogueContextInstances.DEFAULT_LD_CONTEXT_ENTRY,
156
156
  id: "did:iota:xxx",
157
- type: GaiaXTypes.Participant,
157
+ type: GaiaXTypes.LegalPerson,
158
158
  registrationNumber: {
159
159
  type: GaiaXTypes.LocalRegistrationNumber,
160
160
  local: "P1234567"
@@ -200,11 +200,7 @@ function generateRestRoutesFederatedCatalogue(baseRouteName, factoryServiceName)
200
200
  body: {
201
201
  "@context": FederatedCatalogueContextInstances.DEFAULT_LD_CONTEXT_ENTRY_LIST,
202
202
  type: SchemaOrgTypes.ItemList,
203
- itemListElement: [
204
- {
205
- ...participantEntryExample
206
- }
207
- ]
203
+ itemListElement: [participantEntryExample]
208
204
  }
209
205
  }
210
206
  }
@@ -239,7 +235,7 @@ function generateRestRoutesFederatedCatalogue(baseRouteName, factoryServiceName)
239
235
  {
240
236
  id: "participantGetResponseExample",
241
237
  response: {
242
- body: { ...participantEntryExample }
238
+ body: participantEntryExample
243
239
  }
244
240
  }
245
241
  ]
@@ -250,7 +246,7 @@ function generateRestRoutesFederatedCatalogue(baseRouteName, factoryServiceName)
250
246
  "@context": [
251
247
  "https://www.w3.org/ns/odrl/2/",
252
248
  {
253
- twin: "https://schema.twindev.org/odrl/",
249
+ twin: "https://schema.twindev.org/w3c-odrl/",
254
250
  jsonPathSelector: "twin:jsonPathSelector"
255
251
  }
256
252
  ],
@@ -322,11 +318,7 @@ function generateRestRoutesFederatedCatalogue(baseRouteName, factoryServiceName)
322
318
  body: {
323
319
  "@context": FederatedCatalogueContextInstances.DEFAULT_LD_CONTEXT_ENTRY_LIST,
324
320
  type: SchemaOrgTypes.ItemList,
325
- itemListElement: [
326
- {
327
- ...serviceOfferingEntryExample
328
- }
329
- ]
321
+ itemListElement: [serviceOfferingEntryExample]
330
322
  }
331
323
  }
332
324
  }
@@ -361,9 +353,7 @@ function generateRestRoutesFederatedCatalogue(baseRouteName, factoryServiceName)
361
353
  {
362
354
  id: "serviceOfferingGetResponseExample",
363
355
  response: {
364
- body: {
365
- ...serviceOfferingEntryExample
366
- }
356
+ body: serviceOfferingEntryExample
367
357
  }
368
358
  }
369
359
  ]
@@ -430,11 +420,7 @@ function generateRestRoutesFederatedCatalogue(baseRouteName, factoryServiceName)
430
420
  body: {
431
421
  "@context": FederatedCatalogueContextInstances.DEFAULT_LD_CONTEXT_ENTRY_LIST,
432
422
  type: SchemaOrgTypes.ItemList,
433
- itemListElement: [
434
- {
435
- ...dataResourceEntryExample
436
- }
437
- ]
423
+ itemListElement: [dataResourceEntryExample]
438
424
  }
439
425
  }
440
426
  }
@@ -469,9 +455,7 @@ function generateRestRoutesFederatedCatalogue(baseRouteName, factoryServiceName)
469
455
  {
470
456
  id: "dataResourceGetResponseExample",
471
457
  response: {
472
- body: {
473
- ...dataResourceEntryExample
474
- }
458
+ body: dataResourceEntryExample
475
459
  }
476
460
  }
477
461
  ]
@@ -537,11 +521,7 @@ function generateRestRoutesFederatedCatalogue(baseRouteName, factoryServiceName)
537
521
  body: {
538
522
  "@context": FederatedCatalogueContextInstances.DEFAULT_LD_CONTEXT_ENTRY_LIST,
539
523
  type: SchemaOrgTypes.ItemList,
540
- itemListElement: [
541
- {
542
- ...dataSpaceConnectorEntryExample
543
- }
544
- ]
524
+ itemListElement: [dataSpaceConnectorEntryExample]
545
525
  }
546
526
  }
547
527
  }
@@ -576,9 +556,7 @@ function generateRestRoutesFederatedCatalogue(baseRouteName, factoryServiceName)
576
556
  {
577
557
  id: "dataSpaceConnectorGetResponseExample",
578
558
  response: {
579
- body: {
580
- ...dataSpaceConnectorEntryExample
581
- }
559
+ body: dataSpaceConnectorEntryExample
582
560
  }
583
561
  }
584
562
  ]
@@ -631,11 +609,9 @@ async function complianceCredentialPresentation(baseRouteName, httpRequestContex
631
609
  */
632
610
  async function participantList(httpRequestContext, factoryServiceName, request) {
633
611
  const service = ComponentFactory.get(factoryServiceName);
634
- const itemsAndCursor = await service.queryParticipants(request?.query?.id, request?.query?.registrationNumber, request?.query?.lrnType, request?.query?.cursor, Coerce.number(request?.query?.pageSize));
612
+ const itemsAndCursor = await service.queryParticipants(request?.query?.id, request?.query?.registrationNumber, request?.query?.lrnType, request?.query?.cursor, Coerce.integer(request?.query?.pageSize));
635
613
  return {
636
- body: {
637
- ...itemsAndCursor
638
- }
614
+ body: itemsAndCursor
639
615
  };
640
616
  }
641
617
  /**
@@ -650,7 +626,7 @@ async function participantGet(httpRequestContext, factoryServiceName, request) {
650
626
  const id = request?.pathParams.id;
651
627
  Guards.stringValue(ROUTES_SOURCE, "id", id);
652
628
  return {
653
- body: (await service.getEntry(GaiaXTypes.Participant, id))
629
+ body: (await service.getEntry(GaiaXTypes.LegalPerson, id))
654
630
  };
655
631
  }
656
632
  /**
@@ -687,11 +663,9 @@ async function serviceOfferingCredentialPresentation(baseRouteName, httpRequestC
687
663
  */
688
664
  async function serviceOfferingList(httpRequestContext, factoryServiceName, request) {
689
665
  const service = ComponentFactory.get(factoryServiceName);
690
- const itemsAndCursor = await service.queryServiceOfferings(request?.query.id, request?.query.providedBy, request?.query.cursor, Coerce.number(request?.query?.pageSize));
666
+ const itemsAndCursor = await service.queryServiceOfferings(request?.query?.id, request?.query?.providedBy, request?.query?.cursor, Coerce.integer(request?.query?.pageSize));
691
667
  return {
692
- body: {
693
- ...itemsAndCursor
694
- }
668
+ body: itemsAndCursor
695
669
  };
696
670
  }
697
671
  /**
@@ -743,11 +717,9 @@ async function dataResourceCredentialPresentation(baseRouteName, httpRequestCont
743
717
  */
744
718
  async function dataResourceList(httpRequestContext, factoryServiceName, request) {
745
719
  const service = ComponentFactory.get(factoryServiceName);
746
- const itemsAndCursor = await service.queryDataResources(request?.query.id, request?.query.producedBy, request?.query.cursor, Coerce.number(request?.query?.pageSize));
720
+ const itemsAndCursor = await service.queryDataResources(request?.query?.id, request?.query?.producedBy, request?.query?.cursor, Coerce.integer(request?.query?.pageSize));
747
721
  return {
748
- body: {
749
- ...itemsAndCursor
750
- }
722
+ body: itemsAndCursor
751
723
  };
752
724
  }
753
725
  /**
@@ -796,11 +768,9 @@ async function dataSpaceConnectorCredentialPresentation(baseRouteName, httpReque
796
768
  */
797
769
  async function dataSpaceConnectorList(httpRequestContext, factoryServiceName, request) {
798
770
  const service = ComponentFactory.get(factoryServiceName);
799
- const itemsAndCursor = await service.queryDataSpaceConnectors(request?.query.id, request?.query.maintainedBy, request?.query.cursor, Coerce.number(request?.query?.pageSize));
771
+ const itemsAndCursor = await service.queryDataSpaceConnectors(request?.query?.id, request?.query?.maintainedBy, request?.query?.cursor, Coerce.integer(request?.query?.pageSize));
800
772
  return {
801
- body: {
802
- ...itemsAndCursor
803
- }
773
+ body: itemsAndCursor
804
774
  };
805
775
  }
806
776
  /**
@@ -1145,7 +1115,7 @@ class FederatedCatalogueService {
1145
1115
  reason: result.verificationFailureReason
1146
1116
  });
1147
1117
  }
1148
- const targetCredential = result.credentials.find(credential => credential.credentialSubject.type === GaiaXTypes.Participant);
1118
+ const targetCredential = result.credentials.find(credential => credential.credentialSubject.type === GaiaXTypes.LegalPerson);
1149
1119
  if (Is.undefined(targetCredential)) {
1150
1120
  throw new UnprocessableError(this.CLASS_NAME, "noEvidence");
1151
1121
  }
@@ -1203,7 +1173,7 @@ class FederatedCatalogueService {
1203
1173
  }
1204
1174
  const entries = await this._entityStorageParticipants.query({ conditions }, undefined, undefined, cursor, pageSize);
1205
1175
  const itemList = entries.entities.map(entry => {
1206
- entry.type = GaiaXTypes.Participant;
1176
+ entry.type = GaiaXTypes.LegalPerson;
1207
1177
  return entry;
1208
1178
  });
1209
1179
  const result = {
@@ -1225,7 +1195,7 @@ class FederatedCatalogueService {
1225
1195
  Guards.stringValue(this.CLASS_NAME, "entryId", entryId);
1226
1196
  let itemsAndCursor;
1227
1197
  switch (entryType) {
1228
- case GaiaXTypes.Participant:
1198
+ case GaiaXTypes.LegalPerson:
1229
1199
  itemsAndCursor = await this.queryParticipants(entryId);
1230
1200
  break;
1231
1201
  case GaiaXTypes.DataExchangeComponent:
package/docs/changelog.md CHANGED
@@ -1,5 +1,80 @@
1
1
  # @twin.org/federated-catalogue-service - Changelog
2
2
 
3
+ ## [0.0.2-next.1](https://github.com/twinfoundation/federated-catalogue/compare/federated-catalogue-service-v0.0.2-next.0...federated-catalogue-service-v0.0.2-next.1) (2025-07-15)
4
+
5
+
6
+ ### Features
7
+
8
+ * add data types with fully qualified names ([993eb09](https://github.com/twinfoundation/federated-catalogue/commit/993eb09e25f6caad5d82a3908a2ba648900f5ca7))
9
+ * add namespace prop to service ([cbfea3b](https://github.com/twinfoundation/federated-catalogue/commit/cbfea3b115838744fc8a238b36f1660b0f2939d9))
10
+ * consistent component naming with other repos ([83fc03d](https://github.com/twinfoundation/federated-catalogue/commit/83fc03dee3846600ae6a45d710248a0ae60af570))
11
+ * simplify not found error handling in rest routes ([b4f2679](https://github.com/twinfoundation/federated-catalogue/commit/b4f26794942305ad6e8d555d1cbab6df0615214f))
12
+ * synchronise with gaia-x types ([3e0d7f2](https://github.com/twinfoundation/federated-catalogue/commit/3e0d7f2f277ec0adef79d71165b6db778e15e315))
13
+ * update config naming to match component ([a1a6348](https://github.com/twinfoundation/federated-catalogue/commit/a1a6348a6009939e1c784c35fd261ef306bbc59a))
14
+ * update dependencies ([24ff3d7](https://github.com/twinfoundation/federated-catalogue/commit/24ff3d772cf7bd7f60547c5b314355e75ba55424))
15
+ * update schemas ([58d8581](https://github.com/twinfoundation/federated-catalogue/commit/58d85813231f6576490937d4394e7be0f6d8c58d))
16
+ * update ts-to-schema generation ([41bdde7](https://github.com/twinfoundation/federated-catalogue/commit/41bdde7ff9f0cfa1ea4376b7a952bbaed9988d0a))
17
+ * update twindev schemas ([88d2144](https://github.com/twinfoundation/federated-catalogue/commit/88d214432e9060e58f54d009bb3bbfb30da615e7))
18
+ * version 0 federated catalogue ([#2](https://github.com/twinfoundation/federated-catalogue/issues/2)) ([93fb8bd](https://github.com/twinfoundation/federated-catalogue/commit/93fb8bdbb03aa781ef9e8dc4053beea1b397cc36))
19
+
20
+
21
+ ### Bug Fixes
22
+
23
+ * broken docs ([4588d86](https://github.com/twinfoundation/federated-catalogue/commit/4588d861575522da5374291167d57bacd1b21867))
24
+ * documentation ([2a4b24f](https://github.com/twinfoundation/federated-catalogue/commit/2a4b24f4d2c0da0087081bc459c5890ee4ddd5fa))
25
+ * query params force coercion ([a532329](https://github.com/twinfoundation/federated-catalogue/commit/a532329089b2b95c7f18cd8bd56ee47482755dc0))
26
+ * service missing dependency ([48ff9f2](https://github.com/twinfoundation/federated-catalogue/commit/48ff9f26c54a10c6f9c83a11e07a12c1d4c11dd7))
27
+
28
+
29
+ ### Dependencies
30
+
31
+ * The following workspace dependencies were updated
32
+ * dependencies
33
+ * @twin.org/federated-catalogue-models bumped from 0.0.2-next.0 to 0.0.2-next.1
34
+
35
+ ## 0.0.1 (2025-07-10)
36
+
37
+
38
+ ### Features
39
+
40
+ * release to production ([c9b5702](https://github.com/twinfoundation/federated-catalogue/commit/c9b570207fae4b31d43fa99e4df99be4baa34db2))
41
+ * version 0 federated catalogue ([#2](https://github.com/twinfoundation/federated-catalogue/issues/2)) ([93fb8bd](https://github.com/twinfoundation/federated-catalogue/commit/93fb8bdbb03aa781ef9e8dc4053beea1b397cc36))
42
+
43
+
44
+ ### Dependencies
45
+
46
+ * The following workspace dependencies were updated
47
+ * dependencies
48
+ * @twin.org/federated-catalogue-models bumped from ^0.0.0 to ^0.0.1
49
+
50
+ ## [0.0.1-next.11](https://github.com/twinfoundation/federated-catalogue/compare/federated-catalogue-service-v0.0.1-next.10...federated-catalogue-service-v0.0.1-next.11) (2025-06-20)
51
+
52
+
53
+ ### Bug Fixes
54
+
55
+ * query params force coercion ([a532329](https://github.com/twinfoundation/federated-catalogue/commit/a532329089b2b95c7f18cd8bd56ee47482755dc0))
56
+
57
+
58
+ ### Dependencies
59
+
60
+ * The following workspace dependencies were updated
61
+ * dependencies
62
+ * @twin.org/federated-catalogue-models bumped from 0.0.1-next.10 to 0.0.1-next.11
63
+
64
+ ## [0.0.1-next.10](https://github.com/twinfoundation/federated-catalogue/compare/federated-catalogue-service-v0.0.1-next.9...federated-catalogue-service-v0.0.1-next.10) (2025-06-18)
65
+
66
+
67
+ ### Features
68
+
69
+ * update schemas ([58d8581](https://github.com/twinfoundation/federated-catalogue/commit/58d85813231f6576490937d4394e7be0f6d8c58d))
70
+
71
+
72
+ ### Dependencies
73
+
74
+ * The following workspace dependencies were updated
75
+ * dependencies
76
+ * @twin.org/federated-catalogue-models bumped from 0.0.1-next.9 to 0.0.1-next.10
77
+
3
78
  ## [0.0.1-next.9](https://github.com/twinfoundation/federated-catalogue/compare/federated-catalogue-service-v0.0.1-next.8...federated-catalogue-service-v0.0.1-next.9) (2025-06-12)
4
79
 
5
80