@manta-eu/ldo 0.1.0

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.
Files changed (111) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +47 -0
  3. package/dist/.ldkit/attio.d.ts +1465 -0
  4. package/dist/.ldkit/attio.d.ts.map +1 -0
  5. package/dist/.ldkit/attio.js +1466 -0
  6. package/dist/.ldkit/brand.d.ts +1866 -0
  7. package/dist/.ldkit/brand.d.ts.map +1 -0
  8. package/dist/.ldkit/brand.js +2056 -0
  9. package/dist/.ldkit/cledara.d.ts +261 -0
  10. package/dist/.ldkit/cledara.d.ts.map +1 -0
  11. package/dist/.ldkit/cledara.js +262 -0
  12. package/dist/.ldkit/coresignal.d.ts +3488 -0
  13. package/dist/.ldkit/coresignal.d.ts.map +1 -0
  14. package/dist/.ldkit/coresignal.js +3489 -0
  15. package/dist/.ldkit/cs.d.ts +20 -0
  16. package/dist/.ldkit/cs.d.ts.map +1 -0
  17. package/dist/.ldkit/cs.js +21 -0
  18. package/dist/.ldkit/dash.d.ts +8 -0
  19. package/dist/.ldkit/dash.d.ts.map +1 -0
  20. package/dist/.ldkit/dash.js +8 -0
  21. package/dist/.ldkit/figma.d.ts +712 -0
  22. package/dist/.ldkit/figma.d.ts.map +1 -0
  23. package/dist/.ldkit/figma.js +713 -0
  24. package/dist/.ldkit/ga4.d.ts +177 -0
  25. package/dist/.ldkit/ga4.d.ts.map +1 -0
  26. package/dist/.ldkit/ga4.js +178 -0
  27. package/dist/.ldkit/gmc.d.ts +471 -0
  28. package/dist/.ldkit/gmc.d.ts.map +1 -0
  29. package/dist/.ldkit/gmc.js +472 -0
  30. package/dist/.ldkit/google.d.ts +3572 -0
  31. package/dist/.ldkit/google.d.ts.map +1 -0
  32. package/dist/.ldkit/google.js +4249 -0
  33. package/dist/.ldkit/index.d.ts +27 -0
  34. package/dist/.ldkit/index.d.ts.map +1 -0
  35. package/dist/.ldkit/index.js +26 -0
  36. package/dist/.ldkit/ingest.d.ts +32 -0
  37. package/dist/.ldkit/ingest.d.ts.map +1 -0
  38. package/dist/.ldkit/ingest.js +33 -0
  39. package/dist/.ldkit/linkedin.d.ts +625 -0
  40. package/dist/.ldkit/linkedin.d.ts.map +1 -0
  41. package/dist/.ldkit/linkedin.js +665 -0
  42. package/dist/.ldkit/maction.d.ts +29 -0
  43. package/dist/.ldkit/maction.d.ts.map +1 -0
  44. package/dist/.ldkit/maction.js +29 -0
  45. package/dist/.ldkit/manta.d.ts +5562 -0
  46. package/dist/.ldkit/manta.d.ts.map +1 -0
  47. package/dist/.ldkit/manta.js +6065 -0
  48. package/dist/.ldkit/mcontent.d.ts +239 -0
  49. package/dist/.ldkit/mcontent.d.ts.map +1 -0
  50. package/dist/.ldkit/mcontent.js +240 -0
  51. package/dist/.ldkit/meta.d.ts +5293 -0
  52. package/dist/.ldkit/meta.d.ts.map +1 -0
  53. package/dist/.ldkit/meta.js +5611 -0
  54. package/dist/.ldkit/namespaces.d.ts +126 -0
  55. package/dist/.ldkit/namespaces.d.ts.map +1 -0
  56. package/dist/.ldkit/namespaces.js +3555 -0
  57. package/dist/.ldkit/nfo.d.ts +84 -0
  58. package/dist/.ldkit/nfo.d.ts.map +1 -0
  59. package/dist/.ldkit/nfo.js +85 -0
  60. package/dist/.ldkit/nmo.d.ts +118 -0
  61. package/dist/.ldkit/nmo.d.ts.map +1 -0
  62. package/dist/.ldkit/nmo.js +119 -0
  63. package/dist/.ldkit/prov.d.ts +378 -0
  64. package/dist/.ldkit/prov.d.ts.map +1 -0
  65. package/dist/.ldkit/prov.js +379 -0
  66. package/dist/.ldkit/rdf.d.ts +16 -0
  67. package/dist/.ldkit/rdf.d.ts.map +1 -0
  68. package/dist/.ldkit/rdf.js +16 -0
  69. package/dist/.ldkit/rdfox.d.ts +17 -0
  70. package/dist/.ldkit/rdfox.d.ts.map +1 -0
  71. package/dist/.ldkit/rdfox.js +18 -0
  72. package/dist/.ldkit/schema.d.ts +1293 -0
  73. package/dist/.ldkit/schema.d.ts.map +1 -0
  74. package/dist/.ldkit/schema.js +1294 -0
  75. package/dist/.ldkit/sh.d.ts +376 -0
  76. package/dist/.ldkit/sh.d.ts.map +1 -0
  77. package/dist/.ldkit/sh.js +377 -0
  78. package/dist/.ldkit/slack.d.ts +622 -0
  79. package/dist/.ldkit/slack.d.ts.map +1 -0
  80. package/dist/.ldkit/slack.js +623 -0
  81. package/dist/.ldkit/stripe.d.ts +750 -0
  82. package/dist/.ldkit/stripe.d.ts.map +1 -0
  83. package/dist/.ldkit/stripe.js +751 -0
  84. package/dist/ad-platform-links.d.ts +26 -0
  85. package/dist/ad-platform-links.d.ts.map +1 -0
  86. package/dist/ad-platform-links.js +85 -0
  87. package/dist/external-links.d.ts +12 -0
  88. package/dist/external-links.d.ts.map +1 -0
  89. package/dist/external-links.js +15 -0
  90. package/dist/figma-links.d.ts +6 -0
  91. package/dist/figma-links.d.ts.map +1 -0
  92. package/dist/figma-links.js +24 -0
  93. package/dist/index.d.ts +5 -0
  94. package/dist/index.d.ts.map +1 -0
  95. package/dist/index.js +4 -0
  96. package/dist/manual-schemas.d.ts +1139 -0
  97. package/dist/manual-schemas.d.ts.map +1 -0
  98. package/dist/manual-schemas.js +298 -0
  99. package/dist/namespaces.d.ts +368 -0
  100. package/dist/namespaces.d.ts.map +1 -0
  101. package/dist/namespaces.js +16 -0
  102. package/dist/realm.d.ts +20 -0
  103. package/dist/realm.d.ts.map +1 -0
  104. package/dist/realm.js +97 -0
  105. package/dist/redirect-queries.d.ts +22 -0
  106. package/dist/redirect-queries.d.ts.map +1 -0
  107. package/dist/redirect-queries.js +93 -0
  108. package/dist/sparql-types.d.ts +33 -0
  109. package/dist/sparql-types.d.ts.map +1 -0
  110. package/dist/sparql-types.js +49 -0
  111. package/package.json +88 -0
@@ -0,0 +1,368 @@
1
+ export * from "./.ldkit/namespaces.js";
2
+ export declare const google: {
3
+ CustomerClient: "google:CustomerClient";
4
+ status: "google:status";
5
+ callToAction: "google:callToAction";
6
+ text: "google:text";
7
+ Recommendation: "google:Recommendation";
8
+ currencyCode: "google:currencyCode";
9
+ AdGroup: "google:AdGroup";
10
+ AdGroupAd: "google:AdGroupAd";
11
+ AdGroupCriterion: "google:AdGroupCriterion";
12
+ Asset: "google:Asset";
13
+ AssetGroup: "google:AssetGroup";
14
+ AssetGroupAsset: "google:AssetGroupAsset";
15
+ BudgetOption: "google:BudgetOption";
16
+ Campaign: "google:Campaign";
17
+ CampaignAsset: "google:CampaignAsset";
18
+ CampaignBudget: "google:CampaignBudget";
19
+ CampaignCriterion: "google:CampaignCriterion";
20
+ CampaignInsight: "google:CampaignInsight";
21
+ Customer: "google:Customer";
22
+ CustomerAsset: "google:CustomerAsset";
23
+ CustomerClientSetting: "google:CustomerClientSetting";
24
+ Description: "google:Description";
25
+ Descriptions: "google:Descriptions";
26
+ GeoTargetConstant: "google:GeoTargetConstant";
27
+ Headline: "google:Headline";
28
+ Headlines: "google:Headlines";
29
+ HotelBidModifier: "google:HotelBidModifier";
30
+ HotelGroupInsight: "google:HotelGroupInsight";
31
+ HotelListingGroup: "google:HotelListingGroup";
32
+ HotelPerformanceInsight: "google:HotelPerformanceInsight";
33
+ HotelReconciliation: "google:HotelReconciliation";
34
+ MediaFile: "google:MediaFile";
35
+ ResponsiveSearchAdDescription: "google:ResponsiveSearchAdDescription";
36
+ ResponsiveSearchAdDescriptions: "google:ResponsiveSearchAdDescriptions";
37
+ ResponsiveSearchAdHeadline: "google:ResponsiveSearchAdHeadline";
38
+ ResponsiveSearchAdHeadlines: "google:ResponsiveSearchAdHeadlines";
39
+ SearchTerm: "google:SearchTerm";
40
+ SearchTermInsight: "google:SearchTermInsight";
41
+ SearchTerms: "google:SearchTerms";
42
+ TargetRestriction: "google:TargetRestriction";
43
+ TargetRestrictions: "google:TargetRestrictions";
44
+ adGroup: "google:adGroup";
45
+ adGroupAdAdFinalUrls: "google:adGroupAdAdFinalUrls";
46
+ adGroupAdAdResourceName: "google:adGroupAdAdResourceName";
47
+ adGroupAdAdResponsiveSearchAdDescriptions: "google:adGroupAdAdResponsiveSearchAdDescriptions";
48
+ adGroupAdAdResponsiveSearchAdHeadlines: "google:adGroupAdAdResponsiveSearchAdHeadlines";
49
+ adGroupAdAdTypex: "google:adGroupAdAdTypex";
50
+ adGroupAdPolicySummaryApprovalStatus: "google:adGroupAdPolicySummaryApprovalStatus";
51
+ adGroupAdPolicySummaryReviewStatus: "google:adGroupAdPolicySummaryReviewStatus";
52
+ adGroupAdResourceName: "google:adGroupAdResourceName";
53
+ adGroupAdStatus: "google:adGroupAdStatus";
54
+ adGroupBidModifierBidModifier: "google:adGroupBidModifierBidModifier";
55
+ adGroupBidModifierBidModifierSource: "google:adGroupBidModifierBidModifierSource";
56
+ adGroupBidModifierDeviceType: "google:adGroupBidModifierDeviceType";
57
+ adGroupBidModifierHotelAdvanceBookingWindowMaxDays: "google:adGroupBidModifierHotelAdvanceBookingWindowMaxDays";
58
+ adGroupBidModifierHotelAdvanceBookingWindowMinDays: "google:adGroupBidModifierHotelAdvanceBookingWindowMinDays";
59
+ adGroupBidModifierHotelCheckInDateRangeEndDate: "google:adGroupBidModifierHotelCheckInDateRangeEndDate";
60
+ adGroupBidModifierHotelCheckInDateRangeStartDate: "google:adGroupBidModifierHotelCheckInDateRangeStartDate";
61
+ adGroupBidModifierHotelCheckInDayDayOfWeek: "google:adGroupBidModifierHotelCheckInDayDayOfWeek";
62
+ adGroupBidModifierHotelDateSelectionType: "google:adGroupBidModifierHotelDateSelectionType";
63
+ adGroupBidModifierHotelLengthOfStayMaxNights: "google:adGroupBidModifierHotelLengthOfStayMaxNights";
64
+ adGroupBidModifierHotelLengthOfStayMinNights: "google:adGroupBidModifierHotelLengthOfStayMinNights";
65
+ adGroupBidModifierResourceName: "google:adGroupBidModifierResourceName";
66
+ adGroupCampaign: "google:adGroupCampaign";
67
+ adGroupCpcBidMicros: "google:adGroupCpcBidMicros";
68
+ adGroupCpmBidMicros: "google:adGroupCpmBidMicros";
69
+ adGroupCpvBidMicros: "google:adGroupCpvBidMicros";
70
+ adGroupCriterionCpcBidMicros: "google:adGroupCriterionCpcBidMicros";
71
+ adGroupCriterionEffectivePercentCpcBidMicros: "google:adGroupCriterionEffectivePercentCpcBidMicros";
72
+ adGroupCriterionKeywordMatchType: "google:adGroupCriterionKeywordMatchType";
73
+ adGroupCriterionKeywordText: "google:adGroupCriterionKeywordText";
74
+ adGroupCriterionNegative: "google:adGroupCriterionNegative";
75
+ adGroupCriterionPercentCpcBidMicros: "google:adGroupCriterionPercentCpcBidMicros";
76
+ adGroupCriterionQualityInfoCreativeQualityScore: "google:adGroupCriterionQualityInfoCreativeQualityScore";
77
+ adGroupCriterionQualityInfoPostClickQualityScore: "google:adGroupCriterionQualityInfoPostClickQualityScore";
78
+ adGroupCriterionQualityInfoQualityScore: "google:adGroupCriterionQualityInfoQualityScore";
79
+ adGroupCriterionQualityInfoSearchPredictedCtr: "google:adGroupCriterionQualityInfoSearchPredictedCtr";
80
+ adGroupCriterionResourceName: "google:adGroupCriterionResourceName";
81
+ adGroupCriterionStatus: "google:adGroupCriterionStatus";
82
+ adGroupCriterionTypex: "google:adGroupCriterionTypex";
83
+ adGroupName: "google:adGroupName";
84
+ adGroupResourceName: "google:adGroupResourceName";
85
+ adGroupStatus: "google:adGroupStatus";
86
+ adGroupTargetCpaMicros: "google:adGroupTargetCpaMicros";
87
+ adGroupTargetCpmMicros: "google:adGroupTargetCpmMicros";
88
+ adGroupTargetingSettingTargetRestrictions: "google:adGroupTargetingSettingTargetRestrictions";
89
+ adGroupTypex: "google:adGroupTypex";
90
+ asset: "google:asset";
91
+ assetCalloutAssetCalloutText: "google:assetCalloutAssetCalloutText";
92
+ assetCalloutAssetEndDate: "google:assetCalloutAssetEndDate";
93
+ assetCalloutAssetStartDate: "google:assetCalloutAssetStartDate";
94
+ assetGroup: "google:assetGroup";
95
+ assetGroupAssetFieldType: "google:assetGroupAssetFieldType";
96
+ assetGroupAssetPolicySummaryApprovalStatus: "google:assetGroupAssetPolicySummaryApprovalStatus";
97
+ assetGroupAssetPolicySummaryReviewStatus: "google:assetGroupAssetPolicySummaryReviewStatus";
98
+ assetGroupAssetPrimaryStatus: "google:assetGroupAssetPrimaryStatus";
99
+ assetGroupAssetResourceName: "google:assetGroupAssetResourceName";
100
+ assetGroupAssetSource: "google:assetGroupAssetSource";
101
+ assetName: "google:assetName";
102
+ assetPerformanceLabel: "google:assetPerformanceLabel";
103
+ assetPolicySummaryApprovalStatus: "google:assetPolicySummaryApprovalStatus";
104
+ assetPolicySummaryReviewStatus: "google:assetPolicySummaryReviewStatus";
105
+ assetResourceName: "google:assetResourceName";
106
+ assetSitelinkAssetDescription1: "google:assetSitelinkAssetDescription1";
107
+ assetSitelinkAssetDescription2: "google:assetSitelinkAssetDescription2";
108
+ assetSitelinkAssetEndDate: "google:assetSitelinkAssetEndDate";
109
+ assetSitelinkAssetLinkText: "google:assetSitelinkAssetLinkText";
110
+ assetSitelinkAssetStartDate: "google:assetSitelinkAssetStartDate";
111
+ assetTypex: "google:assetTypex";
112
+ bidOnly: "google:bidOnly";
113
+ budgetAmountMicros: "google:budgetAmountMicros";
114
+ campaign: "google:campaign";
115
+ campaignAccessibleBiddingStrategy: "google:campaignAccessibleBiddingStrategy";
116
+ campaignAdvertisingChannelSubType: "google:campaignAdvertisingChannelSubType";
117
+ campaignAdvertisingChannelType: "google:campaignAdvertisingChannelType";
118
+ campaignAssetFieldType: "google:campaignAssetFieldType";
119
+ campaignAssetPrimaryStatus: "google:campaignAssetPrimaryStatus";
120
+ campaignAssetResourceName: "google:campaignAssetResourceName";
121
+ campaignAssetSource: "google:campaignAssetSource";
122
+ campaignAssetStatus: "google:campaignAssetStatus";
123
+ campaignBiddingStrategy: "google:campaignBiddingStrategy";
124
+ campaignBiddingStrategySystemStatus: "google:campaignBiddingStrategySystemStatus";
125
+ campaignBiddingStrategyType: "google:campaignBiddingStrategyType";
126
+ campaignBudget: "google:campaignBudget";
127
+ campaignBudgetAlignedBiddingStrategy: "google:campaignBudgetAlignedBiddingStrategy";
128
+ campaignBudgetAmountMicros: "google:campaignBudgetAmountMicros";
129
+ campaignBudgetDeliveryMethod: "google:campaignBudgetDeliveryMethod";
130
+ campaignBudgetExplicitlyShared: "google:campaignBudgetExplicitlyShared";
131
+ campaignBudgetHasRecommendedBudget: "google:campaignBudgetHasRecommendedBudget";
132
+ campaignBudgetName: "google:campaignBudgetName";
133
+ campaignBudgetPeriod: "google:campaignBudgetPeriod";
134
+ campaignBudgetRecommendedBudgetAmountMicros: "google:campaignBudgetRecommendedBudgetAmountMicros";
135
+ campaignBudgetRecommendedBudgetEstimatedChangeWeeklyClicks: "google:campaignBudgetRecommendedBudgetEstimatedChangeWeeklyClicks";
136
+ campaignBudgetRecommendedBudgetEstimatedChangeWeeklyCostMicros: "google:campaignBudgetRecommendedBudgetEstimatedChangeWeeklyCostMicros";
137
+ campaignBudgetRecommendedBudgetEstimatedChangeWeeklyInteractions: "google:campaignBudgetRecommendedBudgetEstimatedChangeWeeklyInteractions";
138
+ campaignBudgetReferenceCount: "google:campaignBudgetReferenceCount";
139
+ campaignBudgetResourceName: "google:campaignBudgetResourceName";
140
+ campaignBudgetStatus: "google:campaignBudgetStatus";
141
+ campaignBudgetTotalAmountMicros: "google:campaignBudgetTotalAmountMicros";
142
+ campaignBudgetTypex: "google:campaignBudgetTypex";
143
+ campaignCommissionCommissionRateMicros: "google:campaignCommissionCommissionRateMicros";
144
+ campaignContainsEuPoliticalAdvertising: "google:campaignContainsEuPoliticalAdvertising";
145
+ campaignCriterionCampaign: "google:campaignCriterionCampaign";
146
+ campaignCriterionDisplayName: "google:campaignCriterionDisplayName";
147
+ campaignCriterionKeywordMatchType: "google:campaignCriterionKeywordMatchType";
148
+ campaignCriterionKeywordText: "google:campaignCriterionKeywordText";
149
+ campaignCriterionLanguageLanguageConstant: "google:campaignCriterionLanguageLanguageConstant";
150
+ campaignCriterionLocationGeoTargetConstant: "google:campaignCriterionLocationGeoTargetConstant";
151
+ campaignCriterionLocationGroupEnableCustomerLevelLocationAssetSet: "google:campaignCriterionLocationGroupEnableCustomerLevelLocationAssetSet";
152
+ campaignCriterionLocationGroupFeedItemSets: "google:campaignCriterionLocationGroupFeedItemSets";
153
+ campaignCriterionLocationGroupGeoTargetConstants: "google:campaignCriterionLocationGroupGeoTargetConstants";
154
+ campaignCriterionLocationGroupLocationGroupAssetSets: "google:campaignCriterionLocationGroupLocationGroupAssetSets";
155
+ campaignCriterionLocationGroupRadius: "google:campaignCriterionLocationGroupRadius";
156
+ campaignCriterionLocationGroupRadiusUnits: "google:campaignCriterionLocationGroupRadiusUnits";
157
+ campaignCriterionNegative: "google:campaignCriterionNegative";
158
+ campaignCriterionProximityAddressCityName: "google:campaignCriterionProximityAddressCityName";
159
+ campaignCriterionProximityAddressCountryCode: "google:campaignCriterionProximityAddressCountryCode";
160
+ campaignCriterionProximityAddressPostalCode: "google:campaignCriterionProximityAddressPostalCode";
161
+ campaignCriterionProximityAddressProvinceCode: "google:campaignCriterionProximityAddressProvinceCode";
162
+ campaignCriterionProximityAddressProvinceName: "google:campaignCriterionProximityAddressProvinceName";
163
+ campaignCriterionProximityAddressStreetAddress: "google:campaignCriterionProximityAddressStreetAddress";
164
+ campaignCriterionProximityGeoPointLatitudeInMicroDegrees: "google:campaignCriterionProximityGeoPointLatitudeInMicroDegrees";
165
+ campaignCriterionProximityGeoPointLongitudeInMicroDegrees: "google:campaignCriterionProximityGeoPointLongitudeInMicroDegrees";
166
+ campaignCriterionProximityRadius: "google:campaignCriterionProximityRadius";
167
+ campaignCriterionProximityRadiusUnits: "google:campaignCriterionProximityRadiusUnits";
168
+ campaignCriterionResourceName: "google:campaignCriterionResourceName";
169
+ campaignCriterionStatus: "google:campaignCriterionStatus";
170
+ campaignCriterionTypex: "google:campaignCriterionTypex";
171
+ campaignEndDate: "google:campaignEndDate";
172
+ campaignFixedCpmGoal: "google:campaignFixedCpmGoal";
173
+ campaignFixedCpmTargetFrequencyInfoTargetCount: "google:campaignFixedCpmTargetFrequencyInfoTargetCount";
174
+ campaignFixedCpmTargetFrequencyInfoTimeUnit: "google:campaignFixedCpmTargetFrequencyInfoTimeUnit";
175
+ campaignGeoTargetTypeSettingNegativeGeoTargetType: "google:campaignGeoTargetTypeSettingNegativeGeoTargetType";
176
+ campaignGeoTargetTypeSettingPositiveGeoTargetType: "google:campaignGeoTargetTypeSettingPositiveGeoTargetType";
177
+ campaignManualCpcEnhancedCpcEnabled: "google:campaignManualCpcEnhancedCpcEnabled";
178
+ campaignMaximizeConversionValueTargetRoas: "google:campaignMaximizeConversionValueTargetRoas";
179
+ campaignMaximizeConversionValueTargetRoasTolerancePercentMillis: "google:campaignMaximizeConversionValueTargetRoasTolerancePercentMillis";
180
+ campaignMaximizeConversionsTargetCpaMicros: "google:campaignMaximizeConversionsTargetCpaMicros";
181
+ campaignName: "google:campaignName";
182
+ campaignNetworkSettingsTargetContentNetwork: "google:campaignNetworkSettingsTargetContentNetwork";
183
+ campaignNetworkSettingsTargetGoogleSearch: "google:campaignNetworkSettingsTargetGoogleSearch";
184
+ campaignNetworkSettingsTargetPartnerSearchNetwork: "google:campaignNetworkSettingsTargetPartnerSearchNetwork";
185
+ campaignNetworkSettingsTargetSearchNetwork: "google:campaignNetworkSettingsTargetSearchNetwork";
186
+ campaignOptimizationGoalSettingOptimizationGoalTypes: "google:campaignOptimizationGoalSettingOptimizationGoalTypes";
187
+ campaignOptimizationScore: "google:campaignOptimizationScore";
188
+ campaignPaymentMode: "google:campaignPaymentMode";
189
+ campaignPercentCpcCpcBidCeilingMicros: "google:campaignPercentCpcCpcBidCeilingMicros";
190
+ campaignPercentCpcEnhancedCpcEnabled: "google:campaignPercentCpcEnhancedCpcEnabled";
191
+ campaignPrimaryStatus: "google:campaignPrimaryStatus";
192
+ campaignPrimaryStatusReasons: "google:campaignPrimaryStatusReasons";
193
+ campaignResourceName: "google:campaignResourceName";
194
+ campaignSelectiveOptimizationConversionActions: "google:campaignSelectiveOptimizationConversionActions";
195
+ campaignServingStatus: "google:campaignServingStatus";
196
+ campaignStartDate: "google:campaignStartDate";
197
+ campaignStatus: "google:campaignStatus";
198
+ campaignTargetCpaCpcBidCeilingMicros: "google:campaignTargetCpaCpcBidCeilingMicros";
199
+ campaignTargetCpaCpcBidFloorMicros: "google:campaignTargetCpaCpcBidFloorMicros";
200
+ campaignTargetCpaTargetCpaMicros: "google:campaignTargetCpaTargetCpaMicros";
201
+ campaignTargetCpcTargetCpcMicros: "google:campaignTargetCpcTargetCpcMicros";
202
+ campaignTargetCpmTargetFrequencyGoalTargetCount: "google:campaignTargetCpmTargetFrequencyGoalTargetCount";
203
+ campaignTargetCpmTargetFrequencyGoalTimeUnit: "google:campaignTargetCpmTargetFrequencyGoalTimeUnit";
204
+ campaignTargetImpressionShareCpcBidCeilingMicros: "google:campaignTargetImpressionShareCpcBidCeilingMicros";
205
+ campaignTargetImpressionShareLocation: "google:campaignTargetImpressionShareLocation";
206
+ campaignTargetImpressionShareLocationFractionMicros: "google:campaignTargetImpressionShareLocationFractionMicros";
207
+ campaignTargetRoasCpcBidCeilingMicros: "google:campaignTargetRoasCpcBidCeilingMicros";
208
+ campaignTargetRoasCpcBidFloorMicros: "google:campaignTargetRoasCpcBidFloorMicros";
209
+ campaignTargetRoasTargetRoas: "google:campaignTargetRoasTargetRoas";
210
+ campaignTargetRoasTargetRoasTolerancePercentMillis: "google:campaignTargetRoasTargetRoasTolerancePercentMillis";
211
+ campaignTargetSpendCpcBidCeilingMicros: "google:campaignTargetSpendCpcBidCeilingMicros";
212
+ campaignTargetSpendTargetSpendMicros: "google:campaignTargetSpendTargetSpendMicros";
213
+ campaignTargetingSettingTargetRestrictions: "google:campaignTargetingSettingTargetRestrictions";
214
+ clientCustomer: "google:clientCustomer";
215
+ customer: "google:customer";
216
+ customerAssetFieldType: "google:customerAssetFieldType";
217
+ customerAssetPrimaryStatus: "google:customerAssetPrimaryStatus";
218
+ customerAssetResourceName: "google:customerAssetResourceName";
219
+ customerAssetSource: "google:customerAssetSource";
220
+ customerAssetStatus: "google:customerAssetStatus";
221
+ customerAutoTaggingEnabled: "google:customerAutoTaggingEnabled";
222
+ customerCallReportingSettingCallConversionAction: "google:customerCallReportingSettingCallConversionAction";
223
+ customerCallReportingSettingCallConversionReportingEnabled: "google:customerCallReportingSettingCallConversionReportingEnabled";
224
+ customerCallReportingSettingCallReportingEnabled: "google:customerCallReportingSettingCallReportingEnabled";
225
+ customerConversionTrackingSettingAcceptedCustomerDataTerms: "google:customerConversionTrackingSettingAcceptedCustomerDataTerms";
226
+ customerConversionTrackingSettingConversionTracking: "google:customerConversionTrackingSettingConversionTracking";
227
+ customerConversionTrackingSettingConversionTrackingStatus: "google:customerConversionTrackingSettingConversionTrackingStatus";
228
+ customerConversionTrackingSettingCrossAccountConversionTracking: "google:customerConversionTrackingSettingCrossAccountConversionTracking";
229
+ customerConversionTrackingSettingEnhancedConversionsForLeadsEnabled: "google:customerConversionTrackingSettingEnhancedConversionsForLeadsEnabled";
230
+ customerConversionTrackingSettingGoogleAdsConversionCustomer: "google:customerConversionTrackingSettingGoogleAdsConversionCustomer";
231
+ customerCurrencyCode: "google:customerCurrencyCode";
232
+ customerCustomerAgreementSettingAcceptedLeadFormTerms: "google:customerCustomerAgreementSettingAcceptedLeadFormTerms";
233
+ customerDescriptiveName: "google:customerDescriptiveName";
234
+ customerFinalUrlSuffix: "google:customerFinalUrlSuffix";
235
+ customerHasPartnersBadge: "google:customerHasPartnersBadge";
236
+ customerImageAssetAutoMigrationDone: "google:customerImageAssetAutoMigrationDone";
237
+ customerImageAssetAutoMigrationDoneDateTime: "google:customerImageAssetAutoMigrationDoneDateTime";
238
+ customerLocalServicesSettingsGranularInsuranceStatuses: "google:customerLocalServicesSettingsGranularInsuranceStatuses";
239
+ customerLocalServicesSettingsGranularLicenseStatuses: "google:customerLocalServicesSettingsGranularLicenseStatuses";
240
+ customerLocationAssetAutoMigrationDone: "google:customerLocationAssetAutoMigrationDone";
241
+ customerLocationAssetAutoMigrationDoneDateTime: "google:customerLocationAssetAutoMigrationDoneDateTime";
242
+ customerManager: "google:customerManager";
243
+ customerOptimizationScore: "google:customerOptimizationScore";
244
+ customerOptimizationScoreWeight: "google:customerOptimizationScoreWeight";
245
+ customerRemarketingSettingGoogleGlobalSiteTag: "google:customerRemarketingSettingGoogleGlobalSiteTag";
246
+ customerResourceName: "google:customerResourceName";
247
+ customerStatus: "google:customerStatus";
248
+ customerTestAccount: "google:customerTestAccount";
249
+ customerTimeZone: "google:customerTimeZone";
250
+ customerTrackingUrlTemplate: "google:customerTrackingUrlTemplate";
251
+ customerVideoBrandSafetySuitability: "google:customerVideoBrandSafetySuitability";
252
+ descriptiveName: "google:descriptiveName";
253
+ estimatedWeeklySearchCount: "google:estimatedWeeklySearchCount";
254
+ geoTargetConstantCanonicalName: "google:geoTargetConstantCanonicalName";
255
+ geoTargetConstantCountryCode: "google:geoTargetConstantCountryCode";
256
+ geoTargetConstantName: "google:geoTargetConstantName";
257
+ geoTargetConstantParentGeoTarget: "google:geoTargetConstantParentGeoTarget";
258
+ geoTargetConstantReach: "google:geoTargetConstantReach";
259
+ geoTargetConstantResourceName: "google:geoTargetConstantResourceName";
260
+ geoTargetConstantStatus: "google:geoTargetConstantStatus";
261
+ geoTargetConstantTargetType: "google:geoTargetConstantTargetType";
262
+ hidden: "google:hidden";
263
+ hotelCenterId: "google:hotelCenterId";
264
+ hotelCityCriterion: "google:hotelCityCriterion";
265
+ hotelClass: "google:hotelClass";
266
+ hotelCountryRegionCriterion: "google:hotelCountryRegionCriterion";
267
+ hotelListingGroup: "google:hotelListingGroup";
268
+ hotelReconciliationBilled: "google:hotelReconciliationBilled";
269
+ hotelReconciliationCheckInDate: "google:hotelReconciliationCheckInDate";
270
+ hotelReconciliationCheckOutDate: "google:hotelReconciliationCheckOutDate";
271
+ hotelReconciliationOrderId: "google:hotelReconciliationOrderId";
272
+ hotelReconciliationReconciledValueMicros: "google:hotelReconciliationReconciledValueMicros";
273
+ hotelReconciliationResourceName: "google:hotelReconciliationResourceName";
274
+ hotelReconciliationStatus: "google:hotelReconciliationStatus";
275
+ hotelStateCriterion: "google:hotelStateCriterion";
276
+ imageUrl: "google:imageUrl";
277
+ impactBaseMetricsClicks: "google:impactBaseMetricsClicks";
278
+ impactBaseMetricsConversions: "google:impactBaseMetricsConversions";
279
+ impactBaseMetricsCostMicros: "google:impactBaseMetricsCostMicros";
280
+ impactBaseMetricsImpressions: "google:impactBaseMetricsImpressions";
281
+ impactPotentialMetricsClicks: "google:impactPotentialMetricsClicks";
282
+ impactPotentialMetricsConversions: "google:impactPotentialMetricsConversions";
283
+ impactPotentialMetricsCostMicros: "google:impactPotentialMetricsCostMicros";
284
+ impactPotentialMetricsImpressions: "google:impactPotentialMetricsImpressions";
285
+ keywordIdeaGeoTargetConstants: "google:keywordIdeaGeoTargetConstants";
286
+ keywordIdeaSeedUrl: "google:keywordIdeaSeedUrl";
287
+ level: "google:level";
288
+ listingGroupType: "google:listingGroupType";
289
+ mediaKind: "google:mediaKind";
290
+ metricsAllConversions: "google:metricsAllConversions";
291
+ metricsAllConversionsValue: "google:metricsAllConversionsValue";
292
+ metricsAverageCartSize: "google:metricsAverageCartSize";
293
+ metricsAverageCpc: "google:metricsAverageCpc";
294
+ metricsBounceRate: "google:metricsBounceRate";
295
+ metricsClicks: "google:metricsClicks";
296
+ metricsConversions: "google:metricsConversions";
297
+ metricsConversionsValue: "google:metricsConversionsValue";
298
+ metricsCostMicros: "google:metricsCostMicros";
299
+ metricsCostPerAllConversions: "google:metricsCostPerAllConversions";
300
+ metricsCostPerConversion: "google:metricsCostPerConversion";
301
+ metricsCtr: "google:metricsCtr";
302
+ metricsGrossProfitMargin: "google:metricsGrossProfitMargin";
303
+ metricsGrossProfitMicros: "google:metricsGrossProfitMicros";
304
+ metricsHotelAverageLeadValueMicros: "google:metricsHotelAverageLeadValueMicros";
305
+ metricsHotelEligibleImpressions: "google:metricsHotelEligibleImpressions";
306
+ metricsHotelPriceDifferencePercentage: "google:metricsHotelPriceDifferencePercentage";
307
+ metricsImpressions: "google:metricsImpressions";
308
+ metricsInteractions: "google:metricsInteractions";
309
+ metricsRevenueMicros: "google:metricsRevenueMicros";
310
+ metricsSearchBudgetLostImpressionShare: "google:metricsSearchBudgetLostImpressionShare";
311
+ metricsSearchImpressionShare: "google:metricsSearchImpressionShare";
312
+ metricsSearchRankLostImpressionShare: "google:metricsSearchRankLostImpressionShare";
313
+ metricsUniqueUsers: "google:metricsUniqueUsers";
314
+ metricsValuePerAllConversions: "google:metricsValuePerAllConversions";
315
+ metricsValuePerConversion: "google:metricsValuePerConversion";
316
+ metricsViewThroughConversions: "google:metricsViewThroughConversions";
317
+ parentListingGroup: "google:parentListingGroup";
318
+ partnerHotelId: "google:partnerHotelId";
319
+ policySummaryInfoApprovalStatus: "google:policySummaryInfoApprovalStatus";
320
+ policySummaryInfoReviewStatus: "google:policySummaryInfoReviewStatus";
321
+ primaryStatus: "google:primaryStatus";
322
+ recommendationAdGroup: "google:recommendationAdGroup";
323
+ recommendationCampaign: "google:recommendationCampaign";
324
+ recommendationCampaignBudget: "google:recommendationCampaignBudget";
325
+ recommendationCampaigns: "google:recommendationCampaigns";
326
+ recommendationDismissed: "google:recommendationDismissed";
327
+ recommendationImpactBaseMetricsClicks: "google:recommendationImpactBaseMetricsClicks";
328
+ recommendationImpactBaseMetricsConversions: "google:recommendationImpactBaseMetricsConversions";
329
+ recommendationImpactBaseMetricsConversionsValue: "google:recommendationImpactBaseMetricsConversionsValue";
330
+ recommendationImpactBaseMetricsCostMicros: "google:recommendationImpactBaseMetricsCostMicros";
331
+ recommendationImpactBaseMetricsImpressions: "google:recommendationImpactBaseMetricsImpressions";
332
+ recommendationImpactPotentialMetricsClicks: "google:recommendationImpactPotentialMetricsClicks";
333
+ recommendationImpactPotentialMetricsConversions: "google:recommendationImpactPotentialMetricsConversions";
334
+ recommendationImpactPotentialMetricsConversionsValue: "google:recommendationImpactPotentialMetricsConversionsValue";
335
+ recommendationImpactPotentialMetricsCostMicros: "google:recommendationImpactPotentialMetricsCostMicros";
336
+ recommendationImpactPotentialMetricsImpressions: "google:recommendationImpactPotentialMetricsImpressions";
337
+ recommendationKeywordRecommendationKeywordMatchType: "google:recommendationKeywordRecommendationKeywordMatchType";
338
+ recommendationKeywordRecommendationKeywordText: "google:recommendationKeywordRecommendationKeywordText";
339
+ recommendationKeywordRecommendationSearchTerms: "google:recommendationKeywordRecommendationSearchTerms";
340
+ recommendationMarginalRoiCampaignBudgetRecommendationBudgetOptions: "google:recommendationMarginalRoiCampaignBudgetRecommendationBudgetOptions";
341
+ recommendationMarginalRoiCampaignBudgetRecommendationCurrentBudgetAmountMicros: "google:recommendationMarginalRoiCampaignBudgetRecommendationCurrentBudgetAmountMicros";
342
+ recommendationMarginalRoiCampaignBudgetRecommendationRecommendedBudgetAmountMicros: "google:recommendationMarginalRoiCampaignBudgetRecommendationRecommendedBudgetAmountMicros";
343
+ recommendationResourceName: "google:recommendationResourceName";
344
+ recommendationResponsiveSearchAdImproveAdStrengthRecommendationCurrentAdFinalMobileUrls: "google:recommendationResponsiveSearchAdImproveAdStrengthRecommendationCurrentAdFinalMobileUrls";
345
+ recommendationResponsiveSearchAdImproveAdStrengthRecommendationCurrentAdFinalUrls: "google:recommendationResponsiveSearchAdImproveAdStrengthRecommendationCurrentAdFinalUrls";
346
+ recommendationResponsiveSearchAdImproveAdStrengthRecommendationCurrentAdId: "google:recommendationResponsiveSearchAdImproveAdStrengthRecommendationCurrentAdId";
347
+ recommendationResponsiveSearchAdImproveAdStrengthRecommendationCurrentAdResponsiveSearchAdDescriptions: "google:recommendationResponsiveSearchAdImproveAdStrengthRecommendationCurrentAdResponsiveSearchAdDescriptions";
348
+ recommendationResponsiveSearchAdImproveAdStrengthRecommendationCurrentAdResponsiveSearchAdHeadlines: "google:recommendationResponsiveSearchAdImproveAdStrengthRecommendationCurrentAdResponsiveSearchAdHeadlines";
349
+ recommendationResponsiveSearchAdImproveAdStrengthRecommendationRecommendedAdFinalMobileUrls: "google:recommendationResponsiveSearchAdImproveAdStrengthRecommendationRecommendedAdFinalMobileUrls";
350
+ recommendationResponsiveSearchAdImproveAdStrengthRecommendationRecommendedAdFinalUrls: "google:recommendationResponsiveSearchAdImproveAdStrengthRecommendationRecommendedAdFinalUrls";
351
+ recommendationResponsiveSearchAdImproveAdStrengthRecommendationRecommendedAdResponsiveSearchAdDescriptions: "google:recommendationResponsiveSearchAdImproveAdStrengthRecommendationRecommendedAdResponsiveSearchAdDescriptions";
352
+ recommendationResponsiveSearchAdImproveAdStrengthRecommendationRecommendedAdResponsiveSearchAdHeadlines: "google:recommendationResponsiveSearchAdImproveAdStrengthRecommendationRecommendedAdResponsiveSearchAdHeadlines";
353
+ recommendationTypex: "google:recommendationTypex";
354
+ resourceName: "google:resourceName";
355
+ searchTermViewResourceName: "google:searchTermViewResourceName";
356
+ searchTermViewSearchTerm: "google:searchTermViewSearchTerm";
357
+ searchTermViewStatus: "google:searchTermViewStatus";
358
+ segmentsDate: "google:segmentsDate";
359
+ targetingDimension: "google:targetingDimension";
360
+ testAccount: "google:testAccount";
361
+ textContent: "google:textContent";
362
+ timeZone: "google:timeZone";
363
+ usedGeoTargetConstant: "google:usedGeoTargetConstant";
364
+ youtubeVideoId: "google:youtubeVideoId";
365
+ $prefix: "google:";
366
+ $iri: string;
367
+ };
368
+ //# sourceMappingURL=namespaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"namespaces.d.ts","sourceRoot":"","sources":["../namespaces.ts"],"names":[],"mappings":"AAIA,cAAc,qBAAqB,CAAC;AAWpC,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGlB,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { createNamespace } from "ldkit";
2
+ import { google as generatedGoogle } from "./.ldkit/namespaces.js";
3
+ import { vocab } from "./realm.js";
4
+ export * from "./.ldkit/namespaces.js";
5
+ // google:CustomerClient is still used as an account-tree root type, but no SHACL shape
6
+ // currently targets it so LDKit codegen omits the term. Keep the LDO namespace API here
7
+ // until a shape lands and codegen emits it.
8
+ const googleManual = createNamespace({
9
+ iri: vocab("google"),
10
+ prefix: "google:",
11
+ terms: ["CustomerClient"],
12
+ });
13
+ export const google = {
14
+ ...generatedGoogle,
15
+ CustomerClient: googleManual.CustomerClient,
16
+ };
@@ -0,0 +1,20 @@
1
+ export declare const canonicalVocabRoot = "https://hiremanta.com/vocab";
2
+ export declare const canonicalVocabLabel = "Hiremanta";
3
+ export type RealmEntry = {
4
+ vocabRoot: string;
5
+ label: string;
6
+ };
7
+ export type RealmRegistry = Record<string, RealmEntry>;
8
+ export type Realm = string;
9
+ export type KeycloakRealm = Realm;
10
+ export type VocabRoot = string;
11
+ export declare function realmRegistry(): RealmRegistry;
12
+ export declare const realmVocabRoots: Record<string, string>;
13
+ export declare const defaultRealm: Realm;
14
+ export declare function isRealm(realm: string): realm is Realm;
15
+ export declare function activeRealm(): Realm;
16
+ export declare function vocabRoot(realm?: string): VocabRoot;
17
+ export declare const vocabBase: string;
18
+ export declare function vocab(path: string, realm?: string): string;
19
+ export declare function realmVocabLabel(realm?: Realm): string;
20
+ //# sourceMappingURL=realm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"realm.d.ts","sourceRoot":"","sources":["../realm.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,kBAAkB,gCAAgC,CAAC;AAEhE,eAAO,MAAM,mBAAmB,cAAc,CAAC;AAE/C,MAAM,MAAM,UAAU,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9D,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAEvD,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC;AAG3B,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC;AAElC,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AA+C/B,wBAAgB,aAAa,IAAI,aAAa,CAE7C;AAED,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAElD,CAAC;AAIF,eAAO,MAAM,YAAY,EAAE,KAA0E,CAAC;AAItG,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,KAAK,CAErD;AAmBD,wBAAgB,WAAW,IAAI,KAAK,CAiBnC;AAED,wBAAgB,SAAS,CAAC,KAAK,GAAE,MAAsB,GAAG,SAAS,CAMlE;AAED,eAAO,MAAM,SAAS,EAAE,MAA0B,CAAC;AAEnD,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,MAAsB,GAAG,MAAM,CAEzE;AAED,wBAAgB,eAAe,CAAC,KAAK,GAAE,KAAqB,GAAG,MAAM,CAMpE"}
package/dist/realm.js ADDED
@@ -0,0 +1,97 @@
1
+ // Realms share one vocabulary; only the base IRI differs. Generated artifacts (.ldkit/namespaces.ts,
2
+ // catalog.generated.ts) are produced from the canonical SHACL and compose their IRIs from
3
+ // `vocabBase`/`vocab()` so they resolve against the realm the app runs as.
4
+ // Which realms exist is the deploying application's business, not this package's: the roster names
5
+ // customers, and this package is published. The application injects it through the environment, the
6
+ // same way it already names the active realm. See `agents/src/realms.ts` for the one we deploy.
7
+ //
8
+ // It arrives through the environment rather than a `configureRealms()` call because the generated
9
+ // namespaces call `vocab()` at module scope: a registration made from an app entry point would run
10
+ // after those IRIs had already been composed.
11
+ // The fallback an unconfigured caller resolves against: codegen scripts and tooling run without a
12
+ // realm pinned, and before the roster was injected this is what `defaultRealm` produced for them.
13
+ // Manta's own domain, not a customer's - the roster this package must not name is the other three.
14
+ export const canonicalVocabRoot = "https://hiremanta.com/vocab";
15
+ export const canonicalVocabLabel = "Hiremanta";
16
+ function environment() {
17
+ return { ...globalThis.process?.env, ...import.meta.env };
18
+ }
19
+ // An application that injects no roster still resolves vocabulary IRIs: codegen scripts and tooling
20
+ // run against the canonical space, which is what they author in.
21
+ function parseRegistry(raw) {
22
+ if (!raw)
23
+ return {};
24
+ let parsed;
25
+ try {
26
+ parsed = JSON.parse(raw);
27
+ }
28
+ catch (cause) {
29
+ throw new Error(`@manta-eu/ldo/realm: VITE_REALM_REGISTRY is not valid JSON.`, { cause });
30
+ }
31
+ if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed)) {
32
+ throw new Error(`@manta-eu/ldo/realm: VITE_REALM_REGISTRY must be an object of realm slug to { vocabRoot, label }.`);
33
+ }
34
+ for (const [slug, entry] of Object.entries(parsed)) {
35
+ const { vocabRoot, label } = (entry ?? {});
36
+ if (typeof vocabRoot !== "string" || typeof label !== "string") {
37
+ throw new Error(`@manta-eu/ldo/realm: realm "${slug}" needs both a vocabRoot and a label.`);
38
+ }
39
+ }
40
+ return parsed;
41
+ }
42
+ // Resolved once: neither the roster nor the realm changes during a process lifetime, and
43
+ // activeRealm() is the default argument of vocabRoot()/vocab(), so re-reading would run hundreds of
44
+ // times.
45
+ const registry = parseRegistry(environment().VITE_REALM_REGISTRY);
46
+ export function realmRegistry() {
47
+ return registry;
48
+ }
49
+ export const realmVocabRoots = Object.fromEntries(Object.entries(registry).map(([slug, { vocabRoot }]) => [slug, vocabRoot]));
50
+ // With no roster injected there is nothing to enumerate, so the canonical space stands in - that is
51
+ // what an unconfigured tool resolves against.
52
+ export const defaultRealm = environment().VITE_REALM_DEFAULT ?? Object.keys(registry)[0] ?? "";
53
+ const knownRealms = Object.keys(registry).join(", ");
54
+ export function isRealm(realm) {
55
+ return Object.hasOwn(registry, realm);
56
+ }
57
+ // An unrecognized realm is a misconfiguration. Falling back would silently resolve every vocabulary
58
+ // IRI against the wrong realm, so fail instead of shipping a broken vocabulary.
59
+ function assertRealm(realm, source) {
60
+ if (isRealm(realm))
61
+ return;
62
+ const known = knownRealms
63
+ ? `Use one of: ${knownRealms}.`
64
+ : "No realm registry is injected: set VITE_REALM_REGISTRY to the roster this application deploys.";
65
+ throw new Error(`@manta-eu/ldo/realm: unknown realm "${realm}" (${source}). Vocabulary IRIs would resolve against the ` +
66
+ `wrong realm. ${known}`);
67
+ }
68
+ let resolvedRealm;
69
+ export function activeRealm() {
70
+ if (resolvedRealm !== undefined)
71
+ return resolvedRealm;
72
+ const configuredRealm = environment().VITE_KEYCLOAK_REALM;
73
+ // Unset is the supported default: codegen scripts and tooling run without a realm pinned.
74
+ if (!configuredRealm) {
75
+ resolvedRealm = defaultRealm;
76
+ return resolvedRealm;
77
+ }
78
+ assertRealm(configuredRealm, "VITE_KEYCLOAK_REALM");
79
+ resolvedRealm = configuredRealm;
80
+ return resolvedRealm;
81
+ }
82
+ export function vocabRoot(realm = activeRealm()) {
83
+ if (!realm)
84
+ return canonicalVocabRoot;
85
+ assertRealm(realm, "vocabRoot argument");
86
+ return registry[realm].vocabRoot;
87
+ }
88
+ export const vocabBase = `${vocabRoot()}#`;
89
+ export function vocab(path, realm = activeRealm()) {
90
+ return `${vocabRoot(realm)}/${path}#`;
91
+ }
92
+ export function realmVocabLabel(realm = activeRealm()) {
93
+ if (!realm)
94
+ return canonicalVocabLabel;
95
+ assertRealm(realm, "realmVocabLabel argument");
96
+ return registry[realm].label;
97
+ }
@@ -0,0 +1,22 @@
1
+ import type { SparqlBinding } from "./sparql-types.js";
2
+ export type { SparqlBinding } from "./sparql-types.js";
3
+ export type SparqlFetcher = (query: string) => Promise<SparqlBinding[]>;
4
+ export type RedirectLookup = {
5
+ entityTypeUri: string;
6
+ externalId: string;
7
+ params: Record<string, string>;
8
+ };
9
+ export declare function redirectPath(iri: string, endpoint?: string): string;
10
+ export declare function buildEntityIdentityQuery(iri: string): string;
11
+ export declare function buildEntityExistsQuery(iri: string): string;
12
+ export declare function entityExists(iri: string, fetch: SparqlFetcher): Promise<boolean>;
13
+ export declare function parseEntityIdentity(bindings: SparqlBinding[], iri: string): {
14
+ entityTypeUri: string;
15
+ externalId: string;
16
+ } | undefined;
17
+ export declare function buildUrlParamsQuery(iri: string, entityTypeUri: string): {
18
+ query: string;
19
+ extractParams: (bindings: SparqlBinding[]) => Record<string, string>;
20
+ } | undefined;
21
+ export declare function resolveRedirectTarget(iri: string, fetch: SparqlFetcher): Promise<RedirectLookup | undefined>;
22
+ //# sourceMappingURL=redirect-queries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redirect-queries.d.ts","sourceRoot":"","sources":["../redirect-queries.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAIpD,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;AAExE,MAAM,MAAM,cAAc,GAAG;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC,CAAC;AAEF,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,SAAc,UAE/D;AAED,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAQ5D;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG1D;AAKD,wBAAsB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAGtF;AAQD,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,aAAa,EAAE,EACzB,GAAG,EAAE,MAAM,GACV;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAa3D;AAED,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,MAAM,EACX,aAAa,EAAE,MAAM,GACpB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,SAAS,CA0CrG;AAED,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAUlH"}
@@ -0,0 +1,93 @@
1
+ import { DataFactory } from "ldkit/rdf";
2
+ import { SELECT } from "ldkit/sparql";
3
+ import { match } from "ts-pattern";
4
+ import { figma } from "./.ldkit/namespaces.js";
5
+ import { metaEntityTypesNeedingAccountParam } from "./ad-platform-links.js";
6
+ const df = new DataFactory();
7
+ export function redirectPath(iri, endpoint = "/redirect") {
8
+ return `${endpoint}?iri=${encodeURIComponent(iri)}`;
9
+ }
10
+ export function buildEntityIdentityQuery(iri) {
11
+ const subject = df.namedNode(iri);
12
+ return SELECT `?type ?identifier`.WHERE `
13
+ ${subject} a ?type EXPLICIT TRUE .
14
+ OPTIONAL { ${subject} schema:identifier ?identifier }
15
+ `
16
+ .LIMIT(1)
17
+ .build();
18
+ }
19
+ export function buildEntityExistsQuery(iri) {
20
+ const subject = df.namedNode(iri);
21
+ return SELECT `?p`.WHERE `${subject} ?p ?o`.LIMIT(1).build();
22
+ }
23
+ // Identity resolution needs an explicit rdf:type, so an entity can be real and still unidentifiable
24
+ // (inference-only types, or a multi-typed entity whose picked type isn't the one in its IRI). This
25
+ // probe separates those from an IRI nothing describes at all.
26
+ export async function entityExists(iri, fetch) {
27
+ const bindings = await fetch(buildEntityExistsQuery(iri));
28
+ return bindings.length > 0;
29
+ }
30
+ function externalIdFromEntityIri(iri, entityTypeUri) {
31
+ const prefix = `${entityTypeUri}_`;
32
+ return iri.startsWith(prefix) && iri.length > prefix.length ? iri.slice(prefix.length) : undefined;
33
+ }
34
+ export function parseEntityIdentity(bindings, iri) {
35
+ const row = bindings[0];
36
+ const entityTypeUri = row?.type?.value;
37
+ if (!entityTypeUri)
38
+ return undefined;
39
+ const identifier = row?.identifier;
40
+ const externalId = identifier?.type === "literal" && identifier.value ? identifier.value : externalIdFromEntityIri(iri, entityTypeUri);
41
+ if (!externalId)
42
+ return undefined;
43
+ return { entityTypeUri, externalId };
44
+ }
45
+ export function buildUrlParamsQuery(iri, entityTypeUri) {
46
+ const subject = df.namedNode(iri);
47
+ return match(entityTypeUri)
48
+ .when((uri) => metaEntityTypesNeedingAccountParam.has(uri), () => ({
49
+ query: SELECT `?accountId`.WHERE `
50
+ ${subject} meta:account ?account .
51
+ ?account schema:identifier ?accountId
52
+ `
53
+ .LIMIT(1)
54
+ .build(),
55
+ extractParams: (bindings) => {
56
+ const accountId = bindings[0]?.accountId?.value;
57
+ return accountId ? { accountId } : {};
58
+ },
59
+ }))
60
+ .with(figma.Node, () => ({
61
+ query: SELECT `?fileKey`.WHERE `
62
+ ${subject} ${df.namedNode(figma.file)} ?file .
63
+ ?file schema:identifier ?fileKey
64
+ `
65
+ .LIMIT(1)
66
+ .build(),
67
+ extractParams: (bindings) => {
68
+ const fileKey = bindings[0]?.fileKey?.value;
69
+ return fileKey ? { fileKey } : {};
70
+ },
71
+ }))
72
+ .with(figma.File, () => ({
73
+ query: SELECT `?url`.WHERE `
74
+ ${subject} schema:url ?url
75
+ `
76
+ .LIMIT(1)
77
+ .build(),
78
+ extractParams: (bindings) => {
79
+ const url = bindings[0]?.url?.value;
80
+ return url ? { url } : {};
81
+ },
82
+ }))
83
+ .otherwise(() => undefined);
84
+ }
85
+ export async function resolveRedirectTarget(iri, fetch) {
86
+ const identityBindings = await fetch(buildEntityIdentityQuery(iri));
87
+ const identity = parseEntityIdentity(identityBindings, iri);
88
+ if (!identity)
89
+ return undefined;
90
+ const urlParamsQuery = buildUrlParamsQuery(iri, identity.entityTypeUri);
91
+ const params = urlParamsQuery ? urlParamsQuery.extractParams(await fetch(urlParamsQuery.query)) : {};
92
+ return { ...identity, params };
93
+ }