@undefineds.co/xpod 0.4.3 → 0.4.5
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/config/cloud.json +1 -1
- package/config/main.json +36 -2
- package/dist/api/ai-gateway/auth/GatewayApiKeyAuthenticator.d.ts +3 -0
- package/dist/api/ai-gateway/auth/GatewayApiKeyAuthenticator.js +1 -1
- package/dist/api/ai-gateway/auth/PodGatewayAccessKeyRepository.d.ts +2 -1
- package/dist/api/ai-gateway/auth/PodGatewayAccessKeyRepository.js +101 -32
- package/dist/api/ai-gateway/connect/DeviceCodeProtocol.d.ts +80 -0
- package/dist/api/ai-gateway/connect/DeviceCodeProtocol.js +3 -0
- package/dist/api/ai-gateway/connect/FileSessionImportAdapter.d.ts +38 -0
- package/dist/api/ai-gateway/connect/FileSessionImportAdapter.js +63 -0
- package/dist/api/ai-gateway/connect/LoopbackAuthorizationCallbackReceiver.d.ts +24 -0
- package/dist/api/ai-gateway/connect/LoopbackAuthorizationCallbackReceiver.js +136 -0
- package/dist/api/ai-gateway/connect/OAuthConnectAdapter.d.ts +2 -0
- package/dist/api/ai-gateway/connect/OAuthConnectAdapter.js +2 -1
- package/dist/api/ai-gateway/connect/OAuthIntegrationRegistry.d.ts +17 -13
- package/dist/api/ai-gateway/connect/OAuthIntegrationRegistry.js +52 -19
- package/dist/api/ai-gateway/connect/OpenAiSubscriptionSessionImportAdapter.d.ts +4 -28
- package/dist/api/ai-gateway/connect/OpenAiSubscriptionSessionImportAdapter.js +7 -58
- package/dist/api/ai-gateway/connect/ProviderAuthorizationProfiles.d.ts +4 -0
- package/dist/api/ai-gateway/connect/ProviderAuthorizationProfiles.js +116 -0
- package/dist/api/ai-gateway/connect/SessionImportProfiles.d.ts +10 -0
- package/dist/api/ai-gateway/connect/SessionImportProfiles.js +112 -0
- package/dist/api/ai-gateway/connect/index.d.ts +125 -23
- package/dist/api/ai-gateway/connect/index.js +1277 -260
- package/dist/api/ai-gateway/models/PodModelSelectionRepository.d.ts +4 -1
- package/dist/api/ai-gateway/models/PodModelSelectionRepository.js +154 -19
- package/dist/api/ai-gateway/providers/DeepSeekRuntimeAdapter.js +10 -6
- package/dist/api/ai-gateway/providers/ModelsDevCatalog.d.ts +7 -0
- package/dist/api/ai-gateway/providers/ModelsDevCatalog.js +25 -1
- package/dist/api/ai-gateway/providers/OfferingAuthorization.d.ts +24 -0
- package/dist/api/ai-gateway/providers/OfferingAuthorization.js +37 -0
- package/dist/api/ai-gateway/providers/OpenAiRuntimeAdapter.d.ts +1 -1
- package/dist/api/ai-gateway/providers/OpenAiRuntimeAdapter.js +5 -3
- package/dist/api/ai-gateway/providers/ProviderRegistry.d.ts +6 -3
- package/dist/api/ai-gateway/providers/ProviderRegistry.js +55 -16
- package/dist/api/ai-gateway/providers/ProviderRuntimeAdapter.d.ts +2 -0
- package/dist/api/ai-gateway/providers/ProviderRuntimeAdapter.js +37 -4
- package/dist/api/ai-gateway/providers/ProviderRuntimeRegistry.js +7 -0
- package/dist/api/ai-gateway/quota/SubscriptionQuotaAdapters.js +2 -1
- package/dist/api/ai-gateway/routing/ModelRouter.js +3 -1
- package/dist/api/container/common.js +30 -40
- package/dist/api/container/index.js +6 -2
- package/dist/api/container/routes.js +5 -22
- package/dist/api/handlers/AiClientConfigurationHandler.js +39 -1
- package/dist/api/handlers/AiGatewayManagementHandler.d.ts +3 -0
- package/dist/api/handlers/AiGatewayManagementHandler.js +173 -58
- package/dist/api/service/AiClientConfigurationService.d.ts +4 -15
- package/dist/api/service/AiClientConfigurationService.js +17 -64
- package/dist/cli/commands/start.js +2 -0
- package/dist/components/components.jsonld +1 -0
- package/dist/components/context.jsonld +80 -0
- package/dist/http/InternalPodDataHttpHandler.d.ts +3 -0
- package/dist/http/InternalPodDataHttpHandler.js +13 -2
- package/dist/http/InternalPodDataHttpHandler.jsonld +12 -0
- package/dist/identity/oidc/RememberedClientPromptFactory.d.ts +1 -1
- package/dist/identity/oidc/RememberedClientPromptFactory.js +5 -2
- package/dist/identity/oidc/RememberedConsentHandler.js +1 -1
- package/dist/identity/oidc/ScopedPickWebIdHandler.d.ts +1 -0
- package/dist/identity/oidc/ScopedPickWebIdHandler.js +26 -0
- package/dist/identity/oidc/ScopedPickWebIdHandler.jsonld +4 -0
- package/dist/identity/oidc/SessionBoundIdentityProviderFactory.d.ts +10 -0
- package/dist/identity/oidc/SessionBoundIdentityProviderFactory.js +21 -0
- package/dist/identity/oidc/SessionBoundIdentityProviderFactory.jsonld +172 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.js +4 -2
- package/dist/runtime/component-parameter-keys.js +18 -2
- package/dist/storage/accessors/MixDataAccessor.js +6 -2
- package/dist/storage/rdf/PostgresRdfEngine.js +10 -2
- package/dist/storage/rdf/RdfContentTypes.js +4 -0
- package/node_modules/@undefineds.co/ai-connections/dist/AiClientConfigurationSection.d.ts +3 -0
- package/node_modules/@undefineds.co/ai-connections/dist/AiClientConfigurationSection.js +13 -16
- package/node_modules/@undefineds.co/ai-connections/dist/AiConnectionsList.js +1 -3
- package/node_modules/@undefineds.co/ai-connections/dist/AiConnectionsMain.d.ts +2 -1
- package/node_modules/@undefineds.co/ai-connections/dist/AiConnectionsMain.js +2 -2
- package/node_modules/@undefineds.co/ai-connections/dist/AiConnectionsPanel.d.ts +4 -1
- package/node_modules/@undefineds.co/ai-connections/dist/AiConnectionsPanel.js +127 -57
- package/node_modules/@undefineds.co/ai-connections/dist/AiCredentialPoolSection.d.ts +6 -4
- package/node_modules/@undefineds.co/ai-connections/dist/AiCredentialPoolSection.js +436 -83
- package/node_modules/@undefineds.co/ai-connections/dist/AiGatewayKeysSection.d.ts +3 -2
- package/node_modules/@undefineds.co/ai-connections/dist/AiGatewayKeysSection.js +212 -76
- package/node_modules/@undefineds.co/ai-connections/dist/AiProviderCard.d.ts +6 -4
- package/node_modules/@undefineds.co/ai-connections/dist/AiProviderCard.js +58 -41
- package/node_modules/@undefineds.co/ai-connections/dist/AiQuotaCard.d.ts +4 -1
- package/node_modules/@undefineds.co/ai-connections/dist/AiQuotaCard.js +63 -4
- package/node_modules/@undefineds.co/ai-connections/dist/ai-connections-client.d.ts +46 -6
- package/node_modules/@undefineds.co/ai-connections/dist/ai-connections-client.js +143 -14
- package/node_modules/@undefineds.co/ai-connections/dist/client-config/base-adapter.d.ts +19 -3
- package/node_modules/@undefineds.co/ai-connections/dist/client-config/base-adapter.js +45 -7
- package/node_modules/@undefineds.co/ai-connections/dist/client-config/codex.d.ts +7 -1
- package/node_modules/@undefineds.co/ai-connections/dist/client-config/codex.js +305 -40
- package/node_modules/@undefineds.co/ai-connections/dist/client-config/index.cjs +383 -50
- package/node_modules/@undefineds.co/ai-connections/dist/client-config/json-env-adapter.js +3 -2
- package/node_modules/@undefineds.co/ai-connections/dist/client-config/pi.js +12 -3
- package/node_modules/@undefineds.co/ai-connections/dist/client-config/transaction.d.ts +2 -0
- package/node_modules/@undefineds.co/ai-connections/dist/client-config/transaction.js +39 -4
- package/node_modules/@undefineds.co/ai-connections/dist/client-config/types.d.ts +8 -1
- package/node_modules/@undefineds.co/ai-connections/dist/client-visuals.d.ts +2 -0
- package/node_modules/@undefineds.co/ai-connections/dist/client-visuals.js +14 -0
- package/node_modules/@undefineds.co/ai-connections/dist/controller.d.ts +2 -2
- package/node_modules/@undefineds.co/ai-connections/dist/controller.js +216 -57
- package/node_modules/@undefineds.co/ai-connections/dist/index.d.ts +3 -1
- package/node_modules/@undefineds.co/ai-connections/dist/index.js +16 -2
- package/node_modules/@undefineds.co/ai-connections/dist/provider-visuals.js +6 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-executor.js +27 -6
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-database.js +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/select-query-builder.js +2 -2
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql/builder/update-builder.js +12 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/triple/builder.js +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/triple/handlers/array.js +8 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/triple/handlers/default.js +9 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/triple/handlers/inline.js +3 -3
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-executor.js +27 -6
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-database.js +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/select-query-builder.js +2 -2
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql/builder/update-builder.js +12 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/builder.js +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/handlers/array.js +8 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/handlers/default.js +9 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/handlers/inline.js +3 -3
- package/node_modules/@undefineds.co/extension-sdk/dist/web.d.ts +31 -0
- package/package.json +2 -2
- package/static/app/assets/{index-BikOyGPu.js → index-BCZVzMpj.js} +44 -44
- package/static/app/assets/inrupt-smoke.js +2 -2
- package/static/app/assets/main.css +1 -1
- package/static/app/assets/main.js +10 -10
- package/static/auth-callback/assets/{AiConfigContext-DrCH6ckh.js → AiConfigContext-DVkh8Kg2.js} +1 -1
- package/static/auth-callback/assets/{AiConfigPage-DVrlSSdA.js → AiConfigPage-HWVWpe-P.js} +1 -1
- package/static/auth-callback/assets/{DocumentProcessingPanel-_Md-v2R2.js → DocumentProcessingPanel-DDq-mH17.js} +1 -1
- package/static/auth-callback/assets/{IndexLifecyclePanel-BbWwe23H.js → IndexLifecyclePanel-Cx4cjrdP.js} +1 -1
- package/static/auth-callback/assets/{IndexSubjectPanel-upH9MjU-.js → IndexSubjectPanel-DzSw8M9j.js} +1 -1
- package/static/auth-callback/assets/{ModelAssignmentsPanel-CVGH4t4g.js → ModelAssignmentsPanel-BsRxGc2p.js} +1 -1
- package/static/auth-callback/assets/ModelsPage-DEe1lo6Q.js +10 -0
- package/static/auth-callback/assets/{NetworkPage-Dcbrb1fd.js → NetworkPage-DBiEh1Oz.js} +1 -1
- package/static/auth-callback/assets/{PaneListHeader-DrY-1wBq.js → PaneListHeader-lEEgjyN9.js} +1 -1
- package/static/auth-callback/assets/{SearchIndexingPanel-Dw25y53v.js → SearchIndexingPanel-CZCUUGt6.js} +1 -1
- package/static/auth-callback/assets/{StatusSubjectPanel-BHlz9rNF.js → StatusSubjectPanel-21qdueMr.js} +1 -1
- package/static/auth-callback/assets/{StatusWorkspace-BH7exQP5.js → StatusWorkspace-R8RKsqVz.js} +1 -1
- package/static/auth-callback/assets/{SystemSettingsPage-BYLKnM9f.js → SystemSettingsPage-BQ4e-4Wy.js} +1 -1
- package/static/auth-callback/assets/{SystemSettingsSubjectPanel-DT34LKku.js → SystemSettingsSubjectPanel-BopXD7SE.js} +1 -1
- package/static/auth-callback/assets/{activity-DdULRcSI.js → activity-DSfmTGfY.js} +1 -1
- package/static/auth-callback/assets/ai-connections-C03UWyPh.js +1 -0
- package/static/auth-callback/assets/{auth-callback-D7l2P25I.js → auth-callback-DleaitAS.js} +91 -91
- package/static/auth-callback/assets/auth-callback-vPSC2d2F.css +1 -0
- package/static/auth-callback/assets/{badge-j4zjFnmg.js → badge-B0aLu1sl.js} +1 -1
- package/static/auth-callback/assets/{download-DGXoks01.js → download-D_bFwdYJ.js} +1 -1
- package/static/auth-callback/assets/{external-link-CvbgXXaI.js → external-link-DRfjTaQu.js} +1 -1
- package/static/auth-callback/assets/{index-LRWvKJ2i.js → index-CG23cLYQ.js} +1 -1
- package/static/auth-callback/assets/{index-BOK3j1dz.js → index-CyV9ejwx.js} +1 -1
- package/static/auth-callback/assets/{index-browser-C1Qpe0g4.js → index-browser-D70paxIg.js} +1 -1
- package/static/auth-callback/assets/{key-round-CmgS5UdQ.js → key-round-BjV_mVYH.js} +1 -1
- package/static/auth-callback/assets/{rotate-ccw-c4CSG6Rq.js → rotate-ccw-CKoOAfse.js} +1 -1
- package/static/auth-callback/assets/{skeleton-ZPMTiRSM.js → skeleton-BZNjZaHx.js} +1 -1
- package/static/auth-callback/assets/{waypoints-xjyBflU5.js → waypoints-DoaJVzZv.js} +1 -1
- package/static/auth-callback/assets/{workspace-layout-B9nj6F5J.js → workspace-layout-CaP46_ZR.js} +1 -1
- package/static/auth-callback/auth-callback.html +2 -2
- package/static/dashboard/assets/{AiConfigContext-BWOOSYNr.js → AiConfigContext-BSrR27yD.js} +1 -1
- package/static/dashboard/assets/{AiConfigPage-CG2kQ9Wy.js → AiConfigPage-D65Z2LET.js} +1 -1
- package/static/dashboard/assets/{DocumentProcessingPanel-B4VXajfj.js → DocumentProcessingPanel-DyTe7Nei.js} +1 -1
- package/static/dashboard/assets/{IndexLifecyclePanel-CWCy0CC8.js → IndexLifecyclePanel-fK8ZGlrL.js} +1 -1
- package/static/dashboard/assets/{IndexSubjectPanel-CSgyQnG_.js → IndexSubjectPanel-CZPGor7v.js} +1 -1
- package/static/dashboard/assets/{ModelAssignmentsPanel-CdGIGidT.js → ModelAssignmentsPanel-CfYn5LMQ.js} +1 -1
- package/static/dashboard/assets/ModelsPage-djlJsghe.js +25 -0
- package/static/dashboard/assets/{NetworkPage-COia9NCH.js → NetworkPage-Coj6GnPl.js} +1 -1
- package/static/dashboard/assets/{PaneListHeader-SZWyr602.js → PaneListHeader-CUuFNSsZ.js} +1 -1
- package/static/dashboard/assets/{SearchIndexingPanel-D6PZtG6k.js → SearchIndexingPanel-CyJLioXS.js} +1 -1
- package/static/dashboard/assets/{StatusSubjectPanel-CxRD4kv0.js → StatusSubjectPanel-Cv26GSVC.js} +1 -1
- package/static/dashboard/assets/{StatusWorkspace-D3PfmY9-.js → StatusWorkspace-CDjFrsmB.js} +1 -1
- package/static/dashboard/assets/{SystemSettingsPage-COg1MmMj.js → SystemSettingsPage-BuNOyNoa.js} +1 -1
- package/static/dashboard/assets/{SystemSettingsSubjectPanel-BSVVB9Ol.js → SystemSettingsSubjectPanel-B2dasdez.js} +1 -1
- package/static/dashboard/assets/{activity-BJJx5cN-.js → activity-D1d2j_4Z.js} +1 -1
- package/static/dashboard/assets/ai-connections-C03UWyPh.js +1 -0
- package/static/dashboard/assets/{badge-elmrFSCj.js → badge-BeAAv6sp.js} +1 -1
- package/static/dashboard/assets/{dashboard-IvQrNmru.js → dashboard-BnGrUGv8.js} +68 -68
- package/static/dashboard/assets/dashboard-vPSC2d2F.css +1 -0
- package/static/dashboard/assets/{download-C3FH2KzG.js → download-DfFGiZRn.js} +1 -1
- package/static/dashboard/assets/{external-link-Bx7F0uKb.js → external-link-IsjU_LC9.js} +1 -1
- package/static/dashboard/assets/{index-liRoRIP1.js → index-BWQTucPe.js} +1 -1
- package/static/dashboard/assets/{index-M4-kWiGz.js → index-Dj75OjnW.js} +1 -1
- package/static/dashboard/assets/{key-round-CXg0bKAj.js → key-round-BJ_9wmQ_.js} +1 -1
- package/static/dashboard/assets/{rotate-ccw-yxJKOBrX.js → rotate-ccw-D3JGiFbR.js} +1 -1
- package/static/dashboard/assets/{skeleton-x9jNGrQT.js → skeleton-CC4nc-z-.js} +1 -1
- package/static/dashboard/assets/{waypoints-CTKeRsGp.js → waypoints-h7sqFqiG.js} +1 -1
- package/static/dashboard/assets/{workspace-layout--YkgkS38.js → workspace-layout-ZAPTOHhs.js} +1 -1
- package/static/dashboard/dashboard.html +2 -2
- package/static/settings/assets/{AiConfigContext-CelxXFcQ.js → AiConfigContext-lGkWpvKP.js} +1 -1
- package/static/settings/assets/{AiConfigPage-BaP-EovM.js → AiConfigPage-BbZWIBZq.js} +1 -1
- package/static/settings/assets/{DocumentProcessingPanel-DzLZluFv.js → DocumentProcessingPanel-DvYdjT-V.js} +1 -1
- package/static/settings/assets/{IndexLifecyclePanel-Bzj1-_oI.js → IndexLifecyclePanel-W5OGQZj7.js} +1 -1
- package/static/settings/assets/{IndexSubjectPanel-B263QLUh.js → IndexSubjectPanel-g_Aa5soq.js} +1 -1
- package/static/settings/assets/{ModelAssignmentsPanel-BAdT4UR0.js → ModelAssignmentsPanel-COlMBKXj.js} +1 -1
- package/static/settings/assets/ModelsPage-mApKi-aw.js +10 -0
- package/static/settings/assets/{NetworkPage-BK6a7l4g.js → NetworkPage-BDT05JUq.js} +1 -1
- package/static/settings/assets/{PaneListHeader-BAS2ICPq.js → PaneListHeader-CByhNpMG.js} +1 -1
- package/static/settings/assets/{SearchIndexingPanel-Cb_p-NgW.js → SearchIndexingPanel-BFAyzXls.js} +1 -1
- package/static/settings/assets/{StatusSubjectPanel-CcjqUua6.js → StatusSubjectPanel-Bz_XZ3VU.js} +1 -1
- package/static/settings/assets/{StatusWorkspace-7Ibty3_k.js → StatusWorkspace-CeVypHcW.js} +1 -1
- package/static/settings/assets/{SystemSettingsPage-DPSz4dg4.js → SystemSettingsPage-Dh7cQIfx.js} +1 -1
- package/static/settings/assets/{SystemSettingsSubjectPanel-Cb4HkKT5.js → SystemSettingsSubjectPanel-CSnpciO0.js} +1 -1
- package/static/settings/assets/{activity-Qhsr5Pxu.js → activity-DXz3EfFN.js} +1 -1
- package/static/settings/assets/ai-connections-C03UWyPh.js +1 -0
- package/static/settings/assets/{badge-B1vf2qCl.js → badge-1ZA144i4.js} +1 -1
- package/static/settings/assets/{download-CYNt0aZ-.js → download-CUHimlYa.js} +1 -1
- package/static/settings/assets/{external-link-ClKb39NT.js → external-link-BYHSVj2Z.js} +1 -1
- package/static/settings/assets/{index-y8ew3MLM.js → index-DKPDMdW5.js} +1 -1
- package/static/settings/assets/{index-browser-DJhvgpNI.js → index-browser-BaEFz0e0.js} +1 -1
- package/static/settings/assets/{index-BgiIDSch.js → index-viSgSvbO.js} +1 -1
- package/static/settings/assets/{key-round-5d-DrJz-.js → key-round-COByPOg8.js} +1 -1
- package/static/settings/assets/{rotate-ccw-CHZY7kS5.js → rotate-ccw-BC2EN6cE.js} +1 -1
- package/static/settings/assets/{settings-D5VRWyx6.js → settings-DLH9XUoT.js} +86 -86
- package/static/settings/assets/settings-vPSC2d2F.css +1 -0
- package/static/settings/assets/{skeleton-FNabNxNE.js → skeleton-B0-FOhKL.js} +1 -1
- package/static/settings/assets/{waypoints-BnL_8ljo.js → waypoints-DGMsvqWo.js} +1 -1
- package/static/settings/assets/{workspace-layout-D5q3F59S.js → workspace-layout-B0SVrJIu.js} +1 -1
- package/static/settings/settings.html +2 -2
- package/static/auth-callback/assets/ModelsPage-BpkVFKbf.js +0 -10
- package/static/auth-callback/assets/ai-connections-Bm52UO7Y.js +0 -1
- package/static/auth-callback/assets/auth-callback-01yz-UDU.css +0 -1
- package/static/dashboard/assets/ModelsPage-Chd5UK0D.js +0 -25
- package/static/dashboard/assets/ai-connections-Bm52UO7Y.js +0 -1
- package/static/dashboard/assets/dashboard-01yz-UDU.css +0 -1
- package/static/settings/assets/ModelsPage-C0NFa1zq.js +0 -10
- package/static/settings/assets/ai-connections-Bm52UO7Y.js +0 -1
- package/static/settings/assets/settings-01yz-UDU.css +0 -1
|
@@ -3141,6 +3141,86 @@
|
|
|
3141
3141
|
}
|
|
3142
3142
|
}
|
|
3143
3143
|
},
|
|
3144
|
+
"SessionBoundIdentityProviderFactory": {
|
|
3145
|
+
"@id": "undefineds:dist/identity/oidc/SessionBoundIdentityProviderFactory.jsonld#SessionBoundIdentityProviderFactory",
|
|
3146
|
+
"@prefix": true,
|
|
3147
|
+
"@context": {
|
|
3148
|
+
"config": {
|
|
3149
|
+
"@id": "undefineds:dist/identity/oidc/SessionBoundIdentityProviderFactory.jsonld#SessionBoundIdentityProviderFactory_config",
|
|
3150
|
+
"@type": "@json"
|
|
3151
|
+
},
|
|
3152
|
+
"args_promptFactory": {
|
|
3153
|
+
"@id": "undefineds:dist/identity/oidc/SessionBoundIdentityProviderFactory.jsonld#SessionBoundIdentityProviderFactory_args_promptFactory"
|
|
3154
|
+
},
|
|
3155
|
+
"args_adapterFactory": {
|
|
3156
|
+
"@id": "undefineds:dist/identity/oidc/SessionBoundIdentityProviderFactory.jsonld#SessionBoundIdentityProviderFactory_args_adapterFactory"
|
|
3157
|
+
},
|
|
3158
|
+
"args_baseUrl": {
|
|
3159
|
+
"@id": "undefineds:dist/identity/oidc/SessionBoundIdentityProviderFactory.jsonld#SessionBoundIdentityProviderFactory_args_baseUrl"
|
|
3160
|
+
},
|
|
3161
|
+
"args_oidcPath": {
|
|
3162
|
+
"@id": "undefineds:dist/identity/oidc/SessionBoundIdentityProviderFactory.jsonld#SessionBoundIdentityProviderFactory_args_oidcPath"
|
|
3163
|
+
},
|
|
3164
|
+
"args_interactionRoute": {
|
|
3165
|
+
"@id": "undefineds:dist/identity/oidc/SessionBoundIdentityProviderFactory.jsonld#SessionBoundIdentityProviderFactory_args_interactionRoute"
|
|
3166
|
+
},
|
|
3167
|
+
"args_clientCredentialsStore": {
|
|
3168
|
+
"@id": "undefineds:dist/identity/oidc/SessionBoundIdentityProviderFactory.jsonld#SessionBoundIdentityProviderFactory_args_clientCredentialsStore"
|
|
3169
|
+
},
|
|
3170
|
+
"args_storage": {
|
|
3171
|
+
"@id": "undefineds:dist/identity/oidc/SessionBoundIdentityProviderFactory.jsonld#SessionBoundIdentityProviderFactory_args_storage"
|
|
3172
|
+
},
|
|
3173
|
+
"args_jwkGenerator": {
|
|
3174
|
+
"@id": "undefineds:dist/identity/oidc/SessionBoundIdentityProviderFactory.jsonld#SessionBoundIdentityProviderFactory_args_jwkGenerator"
|
|
3175
|
+
},
|
|
3176
|
+
"args_showStackTrace": {
|
|
3177
|
+
"@id": "undefineds:dist/identity/oidc/SessionBoundIdentityProviderFactory.jsonld#SessionBoundIdentityProviderFactory_args_showStackTrace"
|
|
3178
|
+
},
|
|
3179
|
+
"args_errorHandler": {
|
|
3180
|
+
"@id": "undefineds:dist/identity/oidc/SessionBoundIdentityProviderFactory.jsonld#SessionBoundIdentityProviderFactory_args_errorHandler"
|
|
3181
|
+
},
|
|
3182
|
+
"args_responseWriter": {
|
|
3183
|
+
"@id": "undefineds:dist/identity/oidc/SessionBoundIdentityProviderFactory.jsonld#SessionBoundIdentityProviderFactory_args_responseWriter"
|
|
3184
|
+
},
|
|
3185
|
+
"g": {
|
|
3186
|
+
"@id": "undefineds:dist/identity/oidc/SessionBoundIdentityProviderFactory.jsonld#SessionBoundIdentityProviderFactory_config",
|
|
3187
|
+
"@type": "@json"
|
|
3188
|
+
},
|
|
3189
|
+
"promptFactory": {
|
|
3190
|
+
"@id": "undefineds:dist/identity/oidc/SessionBoundIdentityProviderFactory.jsonld#SessionBoundIdentityProviderFactory_args_promptFactory"
|
|
3191
|
+
},
|
|
3192
|
+
"adapterFactory": {
|
|
3193
|
+
"@id": "undefineds:dist/identity/oidc/SessionBoundIdentityProviderFactory.jsonld#SessionBoundIdentityProviderFactory_args_adapterFactory"
|
|
3194
|
+
},
|
|
3195
|
+
"baseUrl": {
|
|
3196
|
+
"@id": "undefineds:dist/identity/oidc/SessionBoundIdentityProviderFactory.jsonld#SessionBoundIdentityProviderFactory_args_baseUrl"
|
|
3197
|
+
},
|
|
3198
|
+
"oidcPath": {
|
|
3199
|
+
"@id": "undefineds:dist/identity/oidc/SessionBoundIdentityProviderFactory.jsonld#SessionBoundIdentityProviderFactory_args_oidcPath"
|
|
3200
|
+
},
|
|
3201
|
+
"interactionRoute": {
|
|
3202
|
+
"@id": "undefineds:dist/identity/oidc/SessionBoundIdentityProviderFactory.jsonld#SessionBoundIdentityProviderFactory_args_interactionRoute"
|
|
3203
|
+
},
|
|
3204
|
+
"clientCredentialsStore": {
|
|
3205
|
+
"@id": "undefineds:dist/identity/oidc/SessionBoundIdentityProviderFactory.jsonld#SessionBoundIdentityProviderFactory_args_clientCredentialsStore"
|
|
3206
|
+
},
|
|
3207
|
+
"storage": {
|
|
3208
|
+
"@id": "undefineds:dist/identity/oidc/SessionBoundIdentityProviderFactory.jsonld#SessionBoundIdentityProviderFactory_args_storage"
|
|
3209
|
+
},
|
|
3210
|
+
"jwkGenerator": {
|
|
3211
|
+
"@id": "undefineds:dist/identity/oidc/SessionBoundIdentityProviderFactory.jsonld#SessionBoundIdentityProviderFactory_args_jwkGenerator"
|
|
3212
|
+
},
|
|
3213
|
+
"showStackTrace": {
|
|
3214
|
+
"@id": "undefineds:dist/identity/oidc/SessionBoundIdentityProviderFactory.jsonld#SessionBoundIdentityProviderFactory_args_showStackTrace"
|
|
3215
|
+
},
|
|
3216
|
+
"errorHandler": {
|
|
3217
|
+
"@id": "undefineds:dist/identity/oidc/SessionBoundIdentityProviderFactory.jsonld#SessionBoundIdentityProviderFactory_args_errorHandler"
|
|
3218
|
+
},
|
|
3219
|
+
"responseWriter": {
|
|
3220
|
+
"@id": "undefineds:dist/identity/oidc/SessionBoundIdentityProviderFactory.jsonld#SessionBoundIdentityProviderFactory_args_responseWriter"
|
|
3221
|
+
}
|
|
3222
|
+
}
|
|
3223
|
+
},
|
|
3144
3224
|
"ScopedPickWebIdHandler": {
|
|
3145
3225
|
"@id": "undefineds:dist/identity/oidc/ScopedPickWebIdHandler.jsonld#ScopedPickWebIdHandler",
|
|
3146
3226
|
"@prefix": true,
|
|
@@ -34,6 +34,8 @@ export declare class InternalPodDataHttpHandler extends HttpHandler {
|
|
|
34
34
|
private readonly deploymentBaseUrl?;
|
|
35
35
|
private readonly basePath;
|
|
36
36
|
private readonly seenNonces;
|
|
37
|
+
private readonly eTagHandler;
|
|
38
|
+
private readonly conditionsParser;
|
|
37
39
|
constructor(options: InternalPodDataHttpHandlerOptions);
|
|
38
40
|
canHandle({ request }: HttpHandlerInput): Promise<void>;
|
|
39
41
|
handle({ request, response }: HttpHandlerInput): Promise<void>;
|
|
@@ -44,6 +46,7 @@ export declare class InternalPodDataHttpHandler extends HttpHandler {
|
|
|
44
46
|
private isAllowedAiConnectionResource;
|
|
45
47
|
private delegate;
|
|
46
48
|
private createRepresentation;
|
|
49
|
+
private writeETag;
|
|
47
50
|
private createPatch;
|
|
48
51
|
private pipeRepresentation;
|
|
49
52
|
private writeNotFound;
|
|
@@ -18,6 +18,8 @@ class InternalPodDataHttpHandler extends community_server_1.HttpHandler {
|
|
|
18
18
|
constructor(options) {
|
|
19
19
|
super();
|
|
20
20
|
this.logger = (0, global_logger_factory_1.getLoggerFor)(this);
|
|
21
|
+
this.eTagHandler = new community_server_1.BasicETagHandler();
|
|
22
|
+
this.conditionsParser = new community_server_1.BasicConditionsParser(this.eTagHandler);
|
|
21
23
|
this.resourceStore = options.resourceStore;
|
|
22
24
|
this.gatewayAdminProxyAuthSecret = options.gatewayAdminProxyAuthSecret ?? process.env.XPOD_GATEWAY_ADMIN_PROXY_AUTH_SECRET;
|
|
23
25
|
this.patchBodyParser = options.patchBodyParser;
|
|
@@ -50,7 +52,7 @@ class InternalPodDataHttpHandler extends community_server_1.HttpHandler {
|
|
|
50
52
|
}
|
|
51
53
|
catch (error) {
|
|
52
54
|
if (isHttpNotFound(error)) {
|
|
53
|
-
if (intent.method === 'GET') {
|
|
55
|
+
if (intent.method === 'GET' && !isGatewayAccessKeySecretResource(intent)) {
|
|
54
56
|
this.writeEmptyGraph(response);
|
|
55
57
|
}
|
|
56
58
|
else {
|
|
@@ -217,6 +219,7 @@ class InternalPodDataHttpHandler extends community_server_1.HttpHandler {
|
|
|
217
219
|
const representation = await this.resourceStore.getRepresentation(identifier, resourceReadPreferences(intent));
|
|
218
220
|
response.statusCode = 200;
|
|
219
221
|
response.setHeader('Content-Type', representation.metadata.contentType ?? 'text/turtle');
|
|
222
|
+
this.writeETag(representation, response);
|
|
220
223
|
await this.pipeRepresentation(representation, response);
|
|
221
224
|
return;
|
|
222
225
|
}
|
|
@@ -224,12 +227,14 @@ class InternalPodDataHttpHandler extends community_server_1.HttpHandler {
|
|
|
224
227
|
const representation = await this.resourceStore.getRepresentation(identifier, resourceReadPreferences(intent));
|
|
225
228
|
response.statusCode = 200;
|
|
226
229
|
response.setHeader('Content-Type', representation.metadata.contentType ?? 'text/turtle');
|
|
230
|
+
this.writeETag(representation, response);
|
|
227
231
|
representation.data.destroy();
|
|
228
232
|
response.end();
|
|
229
233
|
return;
|
|
230
234
|
}
|
|
231
235
|
case 'PUT': {
|
|
232
|
-
await this.
|
|
236
|
+
const conditions = await this.conditionsParser.handleSafe(request);
|
|
237
|
+
await this.resourceStore.setRepresentation(identifier, this.createRepresentation(request, intent.resourceUrl), conditions);
|
|
233
238
|
response.statusCode = 204;
|
|
234
239
|
response.end();
|
|
235
240
|
return;
|
|
@@ -251,6 +256,12 @@ class InternalPodDataHttpHandler extends community_server_1.HttpHandler {
|
|
|
251
256
|
const contentType = firstHeader(request.headers['content-type']) ?? 'text/turtle';
|
|
252
257
|
return new community_server_1.BasicRepresentation(request, new community_server_1.RepresentationMetadata({ path: resourceUrl }, contentType));
|
|
253
258
|
}
|
|
259
|
+
writeETag(representation, response) {
|
|
260
|
+
const eTag = this.eTagHandler.getETag(representation.metadata);
|
|
261
|
+
if (eTag) {
|
|
262
|
+
response.setHeader('ETag', eTag);
|
|
263
|
+
}
|
|
264
|
+
}
|
|
254
265
|
async createPatch(request, resourceUrl) {
|
|
255
266
|
if (!this.patchBodyParser) {
|
|
256
267
|
throw new community_server_1.NotImplementedHttpError('Internal Pod data PATCH requires a PatchBodyParser.');
|
|
@@ -114,6 +114,14 @@
|
|
|
114
114
|
"@id": "undefineds:dist/http/InternalPodDataHttpHandler.jsonld#InternalPodDataHttpHandler__member_seenNonces",
|
|
115
115
|
"memberFieldName": "seenNonces"
|
|
116
116
|
},
|
|
117
|
+
{
|
|
118
|
+
"@id": "undefineds:dist/http/InternalPodDataHttpHandler.jsonld#InternalPodDataHttpHandler__member_eTagHandler",
|
|
119
|
+
"memberFieldName": "eTagHandler"
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
"@id": "undefineds:dist/http/InternalPodDataHttpHandler.jsonld#InternalPodDataHttpHandler__member_conditionsParser",
|
|
123
|
+
"memberFieldName": "conditionsParser"
|
|
124
|
+
},
|
|
117
125
|
{
|
|
118
126
|
"@id": "undefineds:dist/http/InternalPodDataHttpHandler.jsonld#InternalPodDataHttpHandler__member_constructor",
|
|
119
127
|
"memberFieldName": "constructor"
|
|
@@ -154,6 +162,10 @@
|
|
|
154
162
|
"@id": "undefineds:dist/http/InternalPodDataHttpHandler.jsonld#InternalPodDataHttpHandler__member_createRepresentation",
|
|
155
163
|
"memberFieldName": "createRepresentation"
|
|
156
164
|
},
|
|
165
|
+
{
|
|
166
|
+
"@id": "undefineds:dist/http/InternalPodDataHttpHandler.jsonld#InternalPodDataHttpHandler__member_writeETag",
|
|
167
|
+
"memberFieldName": "writeETag"
|
|
168
|
+
},
|
|
157
169
|
{
|
|
158
170
|
"@id": "undefineds:dist/http/InternalPodDataHttpHandler.jsonld#InternalPodDataHttpHandler__member_createPatch",
|
|
159
171
|
"memberFieldName": "createPatch"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PromptFactory } from '@solid/community-server';
|
|
2
|
-
import { interactionPolicy } from 'oidc-provider';
|
|
2
|
+
import type { interactionPolicy } from 'oidc-provider';
|
|
3
3
|
import { RememberedClientGrantStore } from './RememberedClientGrantStore';
|
|
4
4
|
/** Runs after the existing account and WebID checks, before any consent checks. */
|
|
5
5
|
export declare class RememberedClientPromptFactory extends PromptFactory {
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RememberedClientPromptFactory = void 0;
|
|
4
4
|
const community_server_1 = require("@solid/community-server");
|
|
5
|
-
const oidc_provider_1 = require("oidc-provider");
|
|
6
5
|
const RememberedClientGrantStore_1 = require("./RememberedClientGrantStore");
|
|
7
6
|
/** Runs after the existing account and WebID checks, before any consent checks. */
|
|
8
7
|
class RememberedClientPromptFactory extends community_server_1.PromptFactory {
|
|
@@ -21,7 +20,11 @@ class RememberedClientPromptFactory extends community_server_1.PromptFactory {
|
|
|
21
20
|
throw new community_server_1.InternalServerError('Missing ordered default login and consent policies.');
|
|
22
21
|
}
|
|
23
22
|
const remembered = new WeakSet();
|
|
24
|
-
|
|
23
|
+
// Bundled and external providers can have different class identities. Use
|
|
24
|
+
// the incoming policy's constructors so its instanceof checks accept both.
|
|
25
|
+
const PolicyPrompt = consent.constructor;
|
|
26
|
+
const PolicyCheck = native.constructor;
|
|
27
|
+
policy.add(new PolicyPrompt({ name: 'restore_remembered_client', requestable: false }, new PolicyCheck('restore_remembered_client', 'Restore previously remembered consent.', async (ctx) => {
|
|
25
28
|
const { oidc } = ctx;
|
|
26
29
|
const accountId = oidc.session?.accountId;
|
|
27
30
|
const clientId = oidc.client?.clientId;
|
|
@@ -23,7 +23,7 @@ class RememberedConsentHandler extends community_server_1.JsonInteractionHandler
|
|
|
23
23
|
return await this.source.handleSafe(input);
|
|
24
24
|
}
|
|
25
25
|
catch (error) {
|
|
26
|
-
if (!
|
|
26
|
+
if (!community_server_1.FoundHttpError.isInstance(error) || !interaction?.result?.consent ||
|
|
27
27
|
interaction.result === previousResult) {
|
|
28
28
|
throw error;
|
|
29
29
|
}
|
|
@@ -26,6 +26,7 @@ export declare class ScopedPickWebIdHandler extends JsonInteractionHandler imple
|
|
|
26
26
|
private readonly rememberedClientGrantStore?;
|
|
27
27
|
constructor(options: ScopedPickWebIdHandlerOptions);
|
|
28
28
|
getView({ accountId, oidcInteraction }: JsonInteractionHandlerInput): Promise<JsonRepresentation>;
|
|
29
|
+
private findResumeWebId;
|
|
29
30
|
handle({ oidcInteraction, accountId, json }: JsonInteractionHandlerInput): Promise<never>;
|
|
30
31
|
private clearSelectedWebId;
|
|
31
32
|
private resolveScopedEntries;
|
|
@@ -34,14 +34,40 @@ class ScopedPickWebIdHandler extends community_server_1.JsonInteractionHandler {
|
|
|
34
34
|
const description = (0, community_server_1.parseSchema)(inSchema);
|
|
35
35
|
const target = await this.resolveTargetStorage(provider, oidcInteraction);
|
|
36
36
|
const entries = await this.resolveScopedEntries(accountId, target);
|
|
37
|
+
const resumeWebId = await this.findResumeWebId(provider, oidcInteraction, entries);
|
|
37
38
|
return {
|
|
38
39
|
json: {
|
|
39
40
|
...description,
|
|
40
41
|
webIds: entries.map((entry) => entry.webId),
|
|
41
42
|
entries,
|
|
43
|
+
...(resumeWebId ? { resumeWebId } : {}),
|
|
42
44
|
},
|
|
43
45
|
};
|
|
44
46
|
}
|
|
47
|
+
async findResumeWebId(provider, interaction, entries) {
|
|
48
|
+
if (interaction?.params.client_id !== RememberedClientGrantStore_1.XPOD_DESKTOP_CLIENT_ID || interaction.prompt?.name !== 'login' ||
|
|
49
|
+
interaction.params.max_age !== undefined) {
|
|
50
|
+
return undefined;
|
|
51
|
+
}
|
|
52
|
+
const reasons = interaction.prompt.reasons;
|
|
53
|
+
// Other login checks require user input; resubmitting the same WebID cannot
|
|
54
|
+
// satisfy them and would repeatedly return to the same login interaction.
|
|
55
|
+
if (!Array.isArray(reasons) || reasons.length !== 1 || reasons[0] !== 'no_session') {
|
|
56
|
+
return undefined;
|
|
57
|
+
}
|
|
58
|
+
const prompt = interaction.params.prompt;
|
|
59
|
+
if (prompt !== undefined && (typeof prompt !== 'string' || /(?:^|\s)(?:login|select_account)(?:\s|$)/u.test(prompt))) {
|
|
60
|
+
return undefined;
|
|
61
|
+
}
|
|
62
|
+
const webIds = [...new Set(entries.map((entry) => entry.webId))];
|
|
63
|
+
if (webIds.length !== 1) {
|
|
64
|
+
return undefined;
|
|
65
|
+
}
|
|
66
|
+
// This only offers a login choice. OIDC still evaluates consent prompts and
|
|
67
|
+
// missing scopes after the client submits that choice and resumes the flow.
|
|
68
|
+
const grant = await this.rememberedClientGrantStore?.find(provider, webIds[0], RememberedClientGrantStore_1.XPOD_DESKTOP_CLIENT_ID);
|
|
69
|
+
return grant ? webIds[0] : undefined;
|
|
70
|
+
}
|
|
45
71
|
async handle({ oidcInteraction, accountId, json }) {
|
|
46
72
|
(0, community_server_1.assertOidcInteraction)(oidcInteraction);
|
|
47
73
|
(0, community_server_1.assertAccountId)(accountId);
|
|
@@ -93,6 +93,10 @@
|
|
|
93
93
|
"@id": "undefineds:dist/identity/oidc/ScopedPickWebIdHandler.jsonld#ScopedPickWebIdHandler__member_getView",
|
|
94
94
|
"memberFieldName": "getView"
|
|
95
95
|
},
|
|
96
|
+
{
|
|
97
|
+
"@id": "undefineds:dist/identity/oidc/ScopedPickWebIdHandler.jsonld#ScopedPickWebIdHandler__member_findResumeWebId",
|
|
98
|
+
"memberFieldName": "findResumeWebId"
|
|
99
|
+
},
|
|
96
100
|
{
|
|
97
101
|
"@id": "undefineds:dist/identity/oidc/ScopedPickWebIdHandler.jsonld#ScopedPickWebIdHandler__member_handle",
|
|
98
102
|
"memberFieldName": "handle"
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { IdentityProviderFactory, type IdentityProviderFactoryArgs } from '@solid/community-server';
|
|
2
|
+
import type { Configuration } from 'oidc-provider';
|
|
3
|
+
/** Retain the IdP session boundary while allowing Desktop to renew online access. */
|
|
4
|
+
export declare class SessionBoundIdentityProviderFactory extends IdentityProviderFactory {
|
|
5
|
+
/**
|
|
6
|
+
* @param config - JSON config for the OIDC library @range {json}
|
|
7
|
+
* @param args - Remaining parameters required for the factory.
|
|
8
|
+
*/
|
|
9
|
+
constructor(config: Configuration, args: IdentityProviderFactoryArgs);
|
|
10
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SessionBoundIdentityProviderFactory = void 0;
|
|
4
|
+
const community_server_1 = require("@solid/community-server");
|
|
5
|
+
const RememberedClientGrantStore_1 = require("./RememberedClientGrantStore");
|
|
6
|
+
/** Retain the IdP session boundary while allowing Desktop to renew online access. */
|
|
7
|
+
class SessionBoundIdentityProviderFactory extends community_server_1.IdentityProviderFactory {
|
|
8
|
+
/**
|
|
9
|
+
* @param config - JSON config for the OIDC library @range {json}
|
|
10
|
+
* @param args - Remaining parameters required for the factory.
|
|
11
|
+
*/
|
|
12
|
+
constructor(config, args) {
|
|
13
|
+
super({
|
|
14
|
+
...config,
|
|
15
|
+
issueRefreshToken: config.issueRefreshToken ?? (async (_ctx, client, code) => client.grantTypeAllowed('refresh_token') && (code.scopes.has('offline_access') ||
|
|
16
|
+
(client.clientId === RememberedClientGrantStore_1.XPOD_DESKTOP_CLIENT_ID && 'expiresWithSession' in code && code.expiresWithSession === true))),
|
|
17
|
+
}, args);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.SessionBoundIdentityProviderFactory = SessionBoundIdentityProviderFactory;
|
|
21
|
+
//# sourceMappingURL=SessionBoundIdentityProviderFactory.js.map
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
{
|
|
2
|
+
"@context": [
|
|
3
|
+
"https://linkedsoftwaredependencies.org/bundles/npm/@undefineds.co/xpod/^0.0.0/components/context.jsonld",
|
|
4
|
+
"https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^8.0.0/components/context.jsonld"
|
|
5
|
+
],
|
|
6
|
+
"@id": "npmd:@undefineds.co/xpod",
|
|
7
|
+
"components": [
|
|
8
|
+
{
|
|
9
|
+
"@id": "undefineds:dist/identity/oidc/SessionBoundIdentityProviderFactory.jsonld#SessionBoundIdentityProviderFactory",
|
|
10
|
+
"@type": "Class",
|
|
11
|
+
"requireElement": "SessionBoundIdentityProviderFactory",
|
|
12
|
+
"extends": [
|
|
13
|
+
"css:dist/identity/configuration/IdentityProviderFactory.jsonld#IdentityProviderFactory"
|
|
14
|
+
],
|
|
15
|
+
"comment": "Retain the IdP session boundary while allowing Desktop to renew online access.",
|
|
16
|
+
"parameters": [
|
|
17
|
+
{
|
|
18
|
+
"@id": "undefineds:dist/identity/oidc/SessionBoundIdentityProviderFactory.jsonld#SessionBoundIdentityProviderFactory_config",
|
|
19
|
+
"range": "rdf:JSON",
|
|
20
|
+
"comment": "JSON config for the OIDC library"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"@id": "undefineds:dist/identity/oidc/SessionBoundIdentityProviderFactory.jsonld#SessionBoundIdentityProviderFactory_args_promptFactory",
|
|
24
|
+
"range": "css:dist/identity/configuration/PromptFactory.jsonld#PromptFactory",
|
|
25
|
+
"comment": "Used to generate new prompt that are needed in addition to the defaults prompts."
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"@id": "undefineds:dist/identity/oidc/SessionBoundIdentityProviderFactory.jsonld#SessionBoundIdentityProviderFactory_args_adapterFactory",
|
|
29
|
+
"range": "css:dist/identity/storage/AdapterFactory.jsonld#AdapterFactory",
|
|
30
|
+
"comment": "Factory that creates the adapter used for OIDC data storage."
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"@id": "undefineds:dist/identity/oidc/SessionBoundIdentityProviderFactory.jsonld#SessionBoundIdentityProviderFactory_args_baseUrl",
|
|
34
|
+
"range": "xsd:string",
|
|
35
|
+
"comment": "Base URL of the server."
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"@id": "undefineds:dist/identity/oidc/SessionBoundIdentityProviderFactory.jsonld#SessionBoundIdentityProviderFactory_args_oidcPath",
|
|
39
|
+
"range": "xsd:string",
|
|
40
|
+
"comment": "Path for all requests targeting the OIDC library."
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"@id": "undefineds:dist/identity/oidc/SessionBoundIdentityProviderFactory.jsonld#SessionBoundIdentityProviderFactory_args_interactionRoute",
|
|
44
|
+
"range": "css:dist/identity/interaction/routing/InteractionRoute.jsonld#InteractionRoute",
|
|
45
|
+
"comment": "The route where requests should be redirected to in case of an OIDC interaction."
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"@id": "undefineds:dist/identity/oidc/SessionBoundIdentityProviderFactory.jsonld#SessionBoundIdentityProviderFactory_args_clientCredentialsStore",
|
|
49
|
+
"range": "ClientCredentials:Store",
|
|
50
|
+
"comment": "Store containing the generated client credentials with their associated WebID."
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"@id": "undefineds:dist/identity/oidc/SessionBoundIdentityProviderFactory.jsonld#SessionBoundIdentityProviderFactory_args_storage",
|
|
54
|
+
"range": {
|
|
55
|
+
"@type": "ParameterRangeGenericComponent",
|
|
56
|
+
"component": "css:dist/storage/keyvalue/KeyValueStorage.jsonld#KeyValueStorage",
|
|
57
|
+
"genericTypeInstances": [
|
|
58
|
+
"xsd:string",
|
|
59
|
+
{
|
|
60
|
+
"@type": "ParameterRangeArray",
|
|
61
|
+
"parameterRangeValue": "xsd:string"
|
|
62
|
+
}
|
|
63
|
+
]
|
|
64
|
+
},
|
|
65
|
+
"comment": "Storage used to store cookie keys, so they can be re-used in case of multithreading."
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"@id": "undefineds:dist/identity/oidc/SessionBoundIdentityProviderFactory.jsonld#SessionBoundIdentityProviderFactory_args_jwkGenerator",
|
|
69
|
+
"range": "css:dist/identity/configuration/JwkGenerator.jsonld#JwkGenerator",
|
|
70
|
+
"comment": "Generates the JWK used for signing and decryption."
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"@id": "undefineds:dist/identity/oidc/SessionBoundIdentityProviderFactory.jsonld#SessionBoundIdentityProviderFactory_args_showStackTrace",
|
|
74
|
+
"range": "xsd:boolean",
|
|
75
|
+
"comment": "Extra information will be added to the error output if this is true."
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"@id": "undefineds:dist/identity/oidc/SessionBoundIdentityProviderFactory.jsonld#SessionBoundIdentityProviderFactory_args_errorHandler",
|
|
79
|
+
"range": "css:dist/http/output/error/ErrorHandler.jsonld#ErrorHandler",
|
|
80
|
+
"comment": "Used to convert errors thrown by the OIDC library."
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"@id": "undefineds:dist/identity/oidc/SessionBoundIdentityProviderFactory.jsonld#SessionBoundIdentityProviderFactory_args_responseWriter",
|
|
84
|
+
"range": "css:dist/http/output/ResponseWriter.jsonld#ResponseWriter",
|
|
85
|
+
"comment": "Used to write out errors thrown by the OIDC library."
|
|
86
|
+
}
|
|
87
|
+
],
|
|
88
|
+
"memberFields": [
|
|
89
|
+
{
|
|
90
|
+
"@id": "undefineds:dist/identity/oidc/SessionBoundIdentityProviderFactory.jsonld#SessionBoundIdentityProviderFactory__member_constructor",
|
|
91
|
+
"memberFieldName": "constructor"
|
|
92
|
+
}
|
|
93
|
+
],
|
|
94
|
+
"constructorArguments": [
|
|
95
|
+
{
|
|
96
|
+
"@id": "undefineds:dist/identity/oidc/SessionBoundIdentityProviderFactory.jsonld#SessionBoundIdentityProviderFactory_config"
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"@id": "undefineds:dist/identity/oidc/SessionBoundIdentityProviderFactory.jsonld#SessionBoundIdentityProviderFactory_args__constructorArgument",
|
|
100
|
+
"fields": [
|
|
101
|
+
{
|
|
102
|
+
"keyRaw": "promptFactory",
|
|
103
|
+
"value": {
|
|
104
|
+
"@id": "undefineds:dist/identity/oidc/SessionBoundIdentityProviderFactory.jsonld#SessionBoundIdentityProviderFactory_args_promptFactory"
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"keyRaw": "adapterFactory",
|
|
109
|
+
"value": {
|
|
110
|
+
"@id": "undefineds:dist/identity/oidc/SessionBoundIdentityProviderFactory.jsonld#SessionBoundIdentityProviderFactory_args_adapterFactory"
|
|
111
|
+
}
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"keyRaw": "baseUrl",
|
|
115
|
+
"value": {
|
|
116
|
+
"@id": "undefineds:dist/identity/oidc/SessionBoundIdentityProviderFactory.jsonld#SessionBoundIdentityProviderFactory_args_baseUrl"
|
|
117
|
+
}
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"keyRaw": "oidcPath",
|
|
121
|
+
"value": {
|
|
122
|
+
"@id": "undefineds:dist/identity/oidc/SessionBoundIdentityProviderFactory.jsonld#SessionBoundIdentityProviderFactory_args_oidcPath"
|
|
123
|
+
}
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
"keyRaw": "interactionRoute",
|
|
127
|
+
"value": {
|
|
128
|
+
"@id": "undefineds:dist/identity/oidc/SessionBoundIdentityProviderFactory.jsonld#SessionBoundIdentityProviderFactory_args_interactionRoute"
|
|
129
|
+
}
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"keyRaw": "clientCredentialsStore",
|
|
133
|
+
"value": {
|
|
134
|
+
"@id": "undefineds:dist/identity/oidc/SessionBoundIdentityProviderFactory.jsonld#SessionBoundIdentityProviderFactory_args_clientCredentialsStore"
|
|
135
|
+
}
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
"keyRaw": "storage",
|
|
139
|
+
"value": {
|
|
140
|
+
"@id": "undefineds:dist/identity/oidc/SessionBoundIdentityProviderFactory.jsonld#SessionBoundIdentityProviderFactory_args_storage"
|
|
141
|
+
}
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
"keyRaw": "jwkGenerator",
|
|
145
|
+
"value": {
|
|
146
|
+
"@id": "undefineds:dist/identity/oidc/SessionBoundIdentityProviderFactory.jsonld#SessionBoundIdentityProviderFactory_args_jwkGenerator"
|
|
147
|
+
}
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
"keyRaw": "showStackTrace",
|
|
151
|
+
"value": {
|
|
152
|
+
"@id": "undefineds:dist/identity/oidc/SessionBoundIdentityProviderFactory.jsonld#SessionBoundIdentityProviderFactory_args_showStackTrace"
|
|
153
|
+
}
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
"keyRaw": "errorHandler",
|
|
157
|
+
"value": {
|
|
158
|
+
"@id": "undefineds:dist/identity/oidc/SessionBoundIdentityProviderFactory.jsonld#SessionBoundIdentityProviderFactory_args_errorHandler"
|
|
159
|
+
}
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
"keyRaw": "responseWriter",
|
|
163
|
+
"value": {
|
|
164
|
+
"@id": "undefineds:dist/identity/oidc/SessionBoundIdentityProviderFactory.jsonld#SessionBoundIdentityProviderFactory_args_responseWriter"
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
]
|
|
168
|
+
}
|
|
169
|
+
]
|
|
170
|
+
}
|
|
171
|
+
]
|
|
172
|
+
}
|
package/dist/index.d.ts
CHANGED
|
@@ -96,6 +96,7 @@ import { AutoDetectIdentityProviderHandler } from './identity/oidc/AutoDetectIde
|
|
|
96
96
|
import { LoopbackClientIdAdapterFactory } from './identity/oidc/LoopbackClientIdAdapterFactory';
|
|
97
97
|
import { RememberedClientGrantStore } from './identity/oidc/RememberedClientGrantStore';
|
|
98
98
|
import { RememberedConsentHandler } from './identity/oidc/RememberedConsentHandler';
|
|
99
|
+
import { SessionBoundIdentityProviderFactory } from './identity/oidc/SessionBoundIdentityProviderFactory';
|
|
99
100
|
import { RememberedClientPromptFactory } from './identity/oidc/RememberedClientPromptFactory';
|
|
100
101
|
import { ScopedPickWebIdHandler } from './identity/oidc/ScopedPickWebIdHandler';
|
|
101
102
|
import { ConfiguredLoopbackDPoPWebIdExtractor } from './authentication/ConfiguredLoopbackDPoPWebIdExtractor';
|
|
@@ -122,5 +123,5 @@ export type { OwnedWebIdEntry, PodOwnershipResolver, PodOwnershipTarget, CssPodO
|
|
|
122
123
|
export type { TunnelProvider, TunnelConfig, TunnelSetupOptions, TunnelStatus, } from './tunnel/TunnelProvider';
|
|
123
124
|
export type { SubdomainRegistration, ConnectivityResult, SubdomainServiceOptions, } from './subdomain/SubdomainService';
|
|
124
125
|
export { AppStaticAssetHandler } from './http/AppStaticAssetHandler';
|
|
125
|
-
export { RepresentationPartialConvertingStore, MinioDataAccessor, SolidRdfDataAccessor, MixDataAccessor, ConfigurableLoggerFactory, SparqlUpdateResourceStore, SubgraphQueryEngine, SubgraphSparqlHttpHandler, InternalPodDataHttpHandler, QuotaAdminHttpHandler, ClusterIngressRouter, ClusterWebSocketConfigurator, EdgeNodeDirectDebugHttpHandler, EdgeNodeProxyHttpHandler, RouterHttpHandler, RouterHttpRoute, TracingHandler, EdgeNodeCertificateHttpHandler, TerminalHttpHandler, DeviceNotificationHub, DeviceNotificationResourceListener, DeviceNotificationWebSocketServer, DeviceNotificationTicketHandler, registerDeviceNotificationRuntime, ReservedSuffixIdentifierGenerator, DrizzleIndexedStorage, ValidatingIdentityProviderHttpHandler, PostgresKeyValueStorage, RedisKeyValueStorage, SqliteKeyValueStorage, BaseKeyValueStorage, DrizzleQuotaService, NoopQuotaService, HttpEntitlementProvider, NoopEntitlementProvider, PerAccountQuotaStrategy, TencentDnsProvider, EdgeNodeDnsCoordinator, Dns01CertificateProvisioner, SimpleEdgeNodeTunnelManager, NoopEdgeNodeTunnelManager, FrpTunnelManager, EdgeNodeHealthProbeService, EdgeNodeAgent, EdgeNodeAgentInitializer, EdgeNodeCertificateService, AcmeCertificateManager, EdgeNodeModeDetector, ClusterIdentifierStrategy, UsageTrackingStore, CenterNodeRegistrationService, PodRoutingHttpHandler, ReactAppViewHandler, QuintStore, SqliteQuintStore, PgQuintStore, RdfTermDictionary, RdfQuadIndex, Rdf3xIndex, RdfTextIndex, RdfVectorIndex, PostgresRdfTextIndex, PostgresRdfVectorIndex, SolidRdfEngine, LocalQleverNativeSparqlClient, QleverSparqlEngine, RdfQuerySparqlEngine, PostgresRdfEngine, VectorStore, SqliteVectorStore, PostgresVectorStore, VectorHttpHandler, ProviderRegistry, ProviderRegistryImpl, EmbeddingService, EmbeddingServiceImpl, CredentialReader, CredentialReaderImpl, CloudflareTunnelProvider, LocalTunnelProvider, NgrokTunnelProvider, SubdomainService, MultiDomainIdentifierStrategy, SubdomainPodIdentifierStrategy, DisabledOidcHandler, DisabledIdentityProviderHandler, AutoDetectOidcHandler, AutoDetectIdentityProviderHandler, LoopbackClientIdAdapterFactory, RememberedClientGrantStore, RememberedConsentHandler, RememberedClientPromptFactory, ScopedPickWebIdHandler, ConfiguredLoopbackDPoPWebIdExtractor, AccountStorageBindingsHandler, CssPodOwnershipResolver, UrlAwareRedisLocker, ProvisionPodCreator, ProvisionPodStore, ProvisionCodeCodec, LocalPodProvisioningService, SqliteSolidFsSyncJournal, RootedSolidFsSyncJournal, LocalRdfAuthorityRecoveryInitializer, ObservableResourceStore, RdfSearchReconciliationIntentSink, };
|
|
126
|
+
export { RepresentationPartialConvertingStore, MinioDataAccessor, SolidRdfDataAccessor, MixDataAccessor, ConfigurableLoggerFactory, SparqlUpdateResourceStore, SubgraphQueryEngine, SubgraphSparqlHttpHandler, InternalPodDataHttpHandler, QuotaAdminHttpHandler, ClusterIngressRouter, ClusterWebSocketConfigurator, EdgeNodeDirectDebugHttpHandler, EdgeNodeProxyHttpHandler, RouterHttpHandler, RouterHttpRoute, TracingHandler, EdgeNodeCertificateHttpHandler, TerminalHttpHandler, DeviceNotificationHub, DeviceNotificationResourceListener, DeviceNotificationWebSocketServer, DeviceNotificationTicketHandler, registerDeviceNotificationRuntime, ReservedSuffixIdentifierGenerator, DrizzleIndexedStorage, ValidatingIdentityProviderHttpHandler, PostgresKeyValueStorage, RedisKeyValueStorage, SqliteKeyValueStorage, BaseKeyValueStorage, DrizzleQuotaService, NoopQuotaService, HttpEntitlementProvider, NoopEntitlementProvider, PerAccountQuotaStrategy, TencentDnsProvider, EdgeNodeDnsCoordinator, Dns01CertificateProvisioner, SimpleEdgeNodeTunnelManager, NoopEdgeNodeTunnelManager, FrpTunnelManager, EdgeNodeHealthProbeService, EdgeNodeAgent, EdgeNodeAgentInitializer, EdgeNodeCertificateService, AcmeCertificateManager, EdgeNodeModeDetector, ClusterIdentifierStrategy, UsageTrackingStore, CenterNodeRegistrationService, PodRoutingHttpHandler, ReactAppViewHandler, QuintStore, SqliteQuintStore, PgQuintStore, RdfTermDictionary, RdfQuadIndex, Rdf3xIndex, RdfTextIndex, RdfVectorIndex, PostgresRdfTextIndex, PostgresRdfVectorIndex, SolidRdfEngine, LocalQleverNativeSparqlClient, QleverSparqlEngine, RdfQuerySparqlEngine, PostgresRdfEngine, VectorStore, SqliteVectorStore, PostgresVectorStore, VectorHttpHandler, ProviderRegistry, ProviderRegistryImpl, EmbeddingService, EmbeddingServiceImpl, CredentialReader, CredentialReaderImpl, CloudflareTunnelProvider, LocalTunnelProvider, NgrokTunnelProvider, SubdomainService, MultiDomainIdentifierStrategy, SubdomainPodIdentifierStrategy, DisabledOidcHandler, DisabledIdentityProviderHandler, AutoDetectOidcHandler, AutoDetectIdentityProviderHandler, LoopbackClientIdAdapterFactory, RememberedClientGrantStore, RememberedConsentHandler, RememberedClientPromptFactory, SessionBoundIdentityProviderFactory, ScopedPickWebIdHandler, ConfiguredLoopbackDPoPWebIdExtractor, AccountStorageBindingsHandler, CssPodOwnershipResolver, UrlAwareRedisLocker, ProvisionPodCreator, ProvisionPodStore, ProvisionCodeCodec, LocalPodProvisioningService, SqliteSolidFsSyncJournal, RootedSolidFsSyncJournal, LocalRdfAuthorityRecoveryInitializer, ObservableResourceStore, RdfSearchReconciliationIntentSink, };
|
|
126
127
|
export type { ResourceChangeEvent, ResourceChangeListener, ResourceChangeRecorder, } from './storage/ObservableResourceStore';
|
package/dist/index.js
CHANGED
|
@@ -15,8 +15,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
exports.ClusterIdentifierStrategy = exports.EdgeNodeModeDetector = exports.AcmeCertificateManager = exports.EdgeNodeCertificateService = exports.EdgeNodeAgentInitializer = exports.EdgeNodeAgent = exports.EdgeNodeHealthProbeService = exports.FrpTunnelManager = exports.NoopEdgeNodeTunnelManager = exports.SimpleEdgeNodeTunnelManager = exports.Dns01CertificateProvisioner = exports.EdgeNodeDnsCoordinator = exports.TencentDnsProvider = exports.PerAccountQuotaStrategy = exports.NoopEntitlementProvider = exports.HttpEntitlementProvider = exports.NoopQuotaService = exports.DrizzleQuotaService = exports.BaseKeyValueStorage = exports.SqliteKeyValueStorage = exports.RedisKeyValueStorage = exports.PostgresKeyValueStorage = exports.ValidatingIdentityProviderHttpHandler = exports.DrizzleIndexedStorage = exports.ReservedSuffixIdentifierGenerator = exports.registerDeviceNotificationRuntime = exports.DeviceNotificationTicketHandler = exports.DeviceNotificationWebSocketServer = exports.DeviceNotificationResourceListener = exports.DeviceNotificationHub = exports.TerminalHttpHandler = exports.EdgeNodeCertificateHttpHandler = exports.TracingHandler = exports.RouterHttpRoute = exports.RouterHttpHandler = exports.EdgeNodeProxyHttpHandler = exports.EdgeNodeDirectDebugHttpHandler = exports.ClusterWebSocketConfigurator = exports.ClusterIngressRouter = exports.QuotaAdminHttpHandler = exports.InternalPodDataHttpHandler = exports.SubgraphSparqlHttpHandler = exports.SubgraphQueryEngine = exports.SparqlUpdateResourceStore = exports.ConfigurableLoggerFactory = exports.MixDataAccessor = exports.SolidRdfDataAccessor = exports.MinioDataAccessor = exports.RepresentationPartialConvertingStore = exports.AppStaticAssetHandler = void 0;
|
|
18
|
-
exports.
|
|
19
|
-
exports.RdfSearchReconciliationIntentSink = exports.ObservableResourceStore = exports.LocalRdfAuthorityRecoveryInitializer = exports.RootedSolidFsSyncJournal = exports.SqliteSolidFsSyncJournal = exports.LocalPodProvisioningService = exports.ProvisionCodeCodec = void 0;
|
|
18
|
+
exports.ProvisionPodCreator = exports.UrlAwareRedisLocker = exports.CssPodOwnershipResolver = exports.AccountStorageBindingsHandler = exports.ConfiguredLoopbackDPoPWebIdExtractor = exports.ScopedPickWebIdHandler = exports.SessionBoundIdentityProviderFactory = exports.RememberedClientPromptFactory = exports.RememberedConsentHandler = exports.RememberedClientGrantStore = exports.LoopbackClientIdAdapterFactory = exports.AutoDetectIdentityProviderHandler = exports.AutoDetectOidcHandler = exports.DisabledIdentityProviderHandler = exports.DisabledOidcHandler = exports.SubdomainPodIdentifierStrategy = exports.MultiDomainIdentifierStrategy = exports.SubdomainService = exports.NgrokTunnelProvider = exports.LocalTunnelProvider = exports.CloudflareTunnelProvider = exports.CredentialReaderImpl = exports.CredentialReader = exports.EmbeddingServiceImpl = exports.EmbeddingService = exports.ProviderRegistryImpl = exports.ProviderRegistry = exports.VectorHttpHandler = exports.PostgresVectorStore = exports.SqliteVectorStore = exports.VectorStore = exports.PostgresRdfEngine = exports.RdfQuerySparqlEngine = exports.QleverSparqlEngine = exports.LocalQleverNativeSparqlClient = exports.SolidRdfEngine = exports.PostgresRdfVectorIndex = exports.PostgresRdfTextIndex = exports.RdfVectorIndex = exports.RdfTextIndex = exports.Rdf3xIndex = exports.RdfQuadIndex = exports.RdfTermDictionary = exports.PgQuintStore = exports.SqliteQuintStore = exports.QuintStore = exports.ReactAppViewHandler = exports.PodRoutingHttpHandler = exports.CenterNodeRegistrationService = exports.UsageTrackingStore = void 0;
|
|
19
|
+
exports.RdfSearchReconciliationIntentSink = exports.ObservableResourceStore = exports.LocalRdfAuthorityRecoveryInitializer = exports.RootedSolidFsSyncJournal = exports.SqliteSolidFsSyncJournal = exports.LocalPodProvisioningService = exports.ProvisionCodeCodec = exports.ProvisionPodStore = void 0;
|
|
20
20
|
require("./runtime/configure-drizzle-solid");
|
|
21
21
|
const RepresentationPartialConvertingStore_1 = require("./storage/RepresentationPartialConvertingStore");
|
|
22
22
|
Object.defineProperty(exports, "RepresentationPartialConvertingStore", { enumerable: true, get: function () { return RepresentationPartialConvertingStore_1.RepresentationPartialConvertingStore; } });
|
|
@@ -203,6 +203,8 @@ const RememberedClientGrantStore_1 = require("./identity/oidc/RememberedClientGr
|
|
|
203
203
|
Object.defineProperty(exports, "RememberedClientGrantStore", { enumerable: true, get: function () { return RememberedClientGrantStore_1.RememberedClientGrantStore; } });
|
|
204
204
|
const RememberedConsentHandler_1 = require("./identity/oidc/RememberedConsentHandler");
|
|
205
205
|
Object.defineProperty(exports, "RememberedConsentHandler", { enumerable: true, get: function () { return RememberedConsentHandler_1.RememberedConsentHandler; } });
|
|
206
|
+
const SessionBoundIdentityProviderFactory_1 = require("./identity/oidc/SessionBoundIdentityProviderFactory");
|
|
207
|
+
Object.defineProperty(exports, "SessionBoundIdentityProviderFactory", { enumerable: true, get: function () { return SessionBoundIdentityProviderFactory_1.SessionBoundIdentityProviderFactory; } });
|
|
206
208
|
const RememberedClientPromptFactory_1 = require("./identity/oidc/RememberedClientPromptFactory");
|
|
207
209
|
Object.defineProperty(exports, "RememberedClientPromptFactory", { enumerable: true, get: function () { return RememberedClientPromptFactory_1.RememberedClientPromptFactory; } });
|
|
208
210
|
const ScopedPickWebIdHandler_1 = require("./identity/oidc/ScopedPickWebIdHandler");
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.extractComponentParameterContext = extractComponentParameterContext;
|
|
4
4
|
exports.normalizeComponentParameterKeys = normalizeComponentParameterKeys;
|
|
5
|
+
const RDF_JSON = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#JSON';
|
|
5
6
|
function isObject(value) {
|
|
6
7
|
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
7
8
|
}
|
|
@@ -39,6 +40,10 @@ function normalizeComponentParameterKeys(document, componentContext) {
|
|
|
39
40
|
if (!isObject(value)) {
|
|
40
41
|
return;
|
|
41
42
|
}
|
|
43
|
+
// JSON literals are opaque data, even if their payload resembles a component.
|
|
44
|
+
if ((value['@type'] === '@json' || value['@type'] === RDF_JSON) && '@value' in value) {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
42
47
|
const type = value['@type'];
|
|
43
48
|
if (typeof type === 'string') {
|
|
44
49
|
const typeDefinition = componentContext[type];
|
|
@@ -61,7 +66,7 @@ function normalizeComponentParameterKeys(document, componentContext) {
|
|
|
61
66
|
continue;
|
|
62
67
|
}
|
|
63
68
|
if (!(normalized.key in value)) {
|
|
64
|
-
value[normalized.key] = normalizeComponentValue(value[key], normalized.container);
|
|
69
|
+
value[normalized.key] = normalizeComponentValue(value[key], normalized.container, normalized.type);
|
|
65
70
|
}
|
|
66
71
|
delete value[key];
|
|
67
72
|
}
|
|
@@ -87,9 +92,20 @@ function normalizedComponentKey(type, typeDefinition, typeContext, key) {
|
|
|
87
92
|
return localName ? {
|
|
88
93
|
key: `${type}:${localName}`,
|
|
89
94
|
container: termDefinition['@container'],
|
|
95
|
+
type: termDefinition['@type'],
|
|
90
96
|
} : undefined;
|
|
91
97
|
}
|
|
92
|
-
function normalizeComponentValue(value, container) {
|
|
98
|
+
function normalizeComponentValue(value, container, type) {
|
|
99
|
+
if (type === '@json') {
|
|
100
|
+
if (isObject(value) && value['@type'] === RDF_JSON && '@value' in value) {
|
|
101
|
+
return value;
|
|
102
|
+
}
|
|
103
|
+
const literal = isObject(value) && value['@type'] === '@json' && '@value' in value
|
|
104
|
+
? value['@value']
|
|
105
|
+
: value;
|
|
106
|
+
// The streaming RDF parser needs the lexical RDF JSON form for explicit literals.
|
|
107
|
+
return { '@type': RDF_JSON, '@value': JSON.stringify(literal) };
|
|
108
|
+
}
|
|
93
109
|
if (container === '@list' &&
|
|
94
110
|
Array.isArray(value) &&
|
|
95
111
|
!(value.length === 1 && isObject(value[0]) && '@list' in value[0])) {
|
|
@@ -457,7 +457,9 @@ class MixDataAccessor {
|
|
|
457
457
|
* refreshed as query/index state.
|
|
458
458
|
*/
|
|
459
459
|
async syncLocalRdfDocument(identifier, data, contentType, options) {
|
|
460
|
-
|
|
460
|
+
// CSS maps Turtle files such as profile/card$.ttl to extensionless URLs.
|
|
461
|
+
// Recovery already supplies the authority file's RDF content type.
|
|
462
|
+
if (!(0, RdfContentTypes_1.isRdfDocumentContentType)(contentType) && !this.isRdfDocumentIdentifier(identifier)) {
|
|
461
463
|
throw new Error(`Cannot sync non RDF document into RDF index: ${identifier.path}`);
|
|
462
464
|
}
|
|
463
465
|
const source = data ?? await this.rdfFileDataAccessor.getData(identifier);
|
|
@@ -465,7 +467,9 @@ class MixDataAccessor {
|
|
|
465
467
|
const text = await this.readStreamText(source);
|
|
466
468
|
if (data) {
|
|
467
469
|
await this.ensureRdfFileParentContainers(identifier);
|
|
468
|
-
|
|
470
|
+
const localMetadata = this.createLocalRdfMetadata(identifier, new community_server_1.RepresentationMetadata(identifier));
|
|
471
|
+
localMetadata.contentType = localContentType;
|
|
472
|
+
await this.rdfFileDataAccessor.writeDocument(identifier, (0, community_server_1.guardStream)(stream_1.Readable.from([text])), localMetadata);
|
|
469
473
|
}
|
|
470
474
|
const quads = await this.parseLocalRdf(identifier, text, localContentType);
|
|
471
475
|
await this.writeStructuredRdfIndex(identifier, quads, new community_server_1.RepresentationMetadata(identifier), {
|