@undefineds.co/xpod 0.3.6 → 0.3.15
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/cli.json +1 -1
- package/config/cloud.json +54 -22
- package/config/local.json +56 -12
- package/config/resolver.json +10 -2
- package/config/xpod.base.json +50 -0
- package/config/xpod.json +8 -8
- package/dist/agents/config/resolve.js +10 -10
- package/dist/agents/config/resolve.js.map +1 -1
- package/dist/api/chatkit/index.d.ts +1 -1
- package/dist/api/chatkit/index.js.map +1 -1
- package/dist/api/chatkit/pod-store.d.ts +14 -11
- package/dist/api/chatkit/pod-store.js +114 -78
- package/dist/api/chatkit/pod-store.js.map +1 -1
- package/dist/api/chatkit/runtime/AcpAgentRuntime.js +1 -1
- package/dist/api/chatkit/runtime/AcpAgentRuntime.js.map +1 -1
- package/dist/api/chatkit/service.js +1 -1
- package/dist/api/chatkit/service.js.map +1 -1
- package/dist/api/chatkit/types.d.ts +11 -11
- package/dist/api/chatkit/types.js +3 -3
- package/dist/api/chatkit/types.js.map +1 -1
- package/dist/api/container/cloud.js +0 -8
- package/dist/api/container/cloud.js.map +1 -1
- package/dist/api/container/index.js +2 -1
- package/dist/api/container/index.js.map +1 -1
- package/dist/api/container/local.js +0 -7
- package/dist/api/container/local.js.map +1 -1
- package/dist/api/container/routes.js +3 -17
- package/dist/api/container/routes.js.map +1 -1
- package/dist/api/container/types.d.ts +0 -2
- package/dist/api/container/types.js.map +1 -1
- package/dist/api/handlers/PodManagementHandler.d.ts +3 -0
- package/dist/api/handlers/PodManagementHandler.js +71 -1
- package/dist/api/handlers/PodManagementHandler.js.map +1 -1
- package/dist/api/handlers/RunHandler.js +5 -5
- package/dist/api/handlers/RunHandler.js.map +1 -1
- package/dist/api/runs/AgentRuntimeTypes.d.ts +7 -8
- package/dist/api/runs/AgentRuntimeTypes.js.map +1 -1
- package/dist/api/runs/InngestRunExecutionBackend.d.ts +2 -2
- package/dist/api/runs/ManagedRunWorker.d.ts +1 -1
- package/dist/api/runs/ManagedRunWorker.js +6 -6
- package/dist/api/runs/ManagedRunWorker.js.map +1 -1
- package/dist/api/runs/PiAgentRuntimeDriver.d.ts +16 -1
- package/dist/api/runs/PiAgentRuntimeDriver.js +182 -23
- package/dist/api/runs/PiAgentRuntimeDriver.js.map +1 -1
- package/dist/api/runs/RunStateCenter.d.ts +3 -3
- package/dist/api/runs/RunStateCenter.js +13 -13
- package/dist/api/runs/RunStateCenter.js.map +1 -1
- package/dist/api/runs/store.d.ts +4 -4
- package/dist/api/runs/store.js +2 -2
- package/dist/api/runs/store.js.map +1 -1
- package/dist/api/service/VectorStoreService.d.ts +1 -1
- package/dist/api/service/VectorStoreService.js +16 -16
- package/dist/api/service/VectorStoreService.js.map +1 -1
- package/dist/api/tasks/InngestTaskScheduler.d.ts +4 -4
- package/dist/api/tasks/TaskMaterializer.d.ts +3 -3
- package/dist/api/tasks/TaskMaterializer.js +11 -11
- package/dist/api/tasks/TaskMaterializer.js.map +1 -1
- package/dist/api/tasks/TaskService.d.ts +3 -3
- package/dist/api/tasks/TaskService.js +11 -7
- package/dist/api/tasks/TaskService.js.map +1 -1
- package/dist/api/tasks/store.d.ts +10 -4
- package/dist/api/tasks/store.js +14 -4
- package/dist/api/tasks/store.js.map +1 -1
- package/dist/api/workspace/types.d.ts +3 -3
- package/dist/api/workspace/types.js +6 -6
- package/dist/api/workspace/types.js.map +1 -1
- package/dist/cli/commands/config.js +2 -2
- package/dist/cli/commands/config.js.map +1 -1
- package/dist/cli/commands/start.js +9 -3
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/components/components.jsonld +8 -2
- package/dist/components/context.jsonld +308 -51
- package/dist/http/search/SearchHttpHandler.js +8 -8
- package/dist/http/search/SearchHttpHandler.js.map +1 -1
- package/dist/identity/drizzle/PodLookupRepository.d.ts +11 -1
- package/dist/identity/drizzle/PodLookupRepository.js +95 -4
- package/dist/identity/drizzle/PodLookupRepository.js.map +1 -1
- package/dist/identity/drizzle/db.js +4 -43
- package/dist/identity/drizzle/db.js.map +1 -1
- package/dist/identity/drizzle/schema.pg.d.ts +0 -5
- package/dist/identity/drizzle/schema.pg.js +2 -16
- package/dist/identity/drizzle/schema.pg.js.map +1 -1
- package/dist/identity/drizzle/schema.sqlite.d.ts +19 -176
- package/dist/identity/drizzle/schema.sqlite.js +2 -16
- package/dist/identity/drizzle/schema.sqlite.js.map +1 -1
- package/dist/identity/oidc/AutoDetectIdentityProviderHandler.d.ts +4 -4
- package/dist/identity/oidc/AutoDetectIdentityProviderHandler.js +7 -7
- package/dist/identity/oidc/AutoDetectIdentityProviderHandler.js.map +1 -1
- package/dist/identity/oidc/AutoDetectIdentityProviderHandler.jsonld +6 -6
- package/dist/identity/oidc/AutoDetectOidcHandler.d.ts +4 -4
- package/dist/identity/oidc/AutoDetectOidcHandler.js +6 -6
- package/dist/identity/oidc/AutoDetectOidcHandler.js.map +1 -1
- package/dist/identity/oidc/AutoDetectOidcHandler.jsonld +6 -6
- package/dist/identity/oidc/ScopedPickWebIdHandler.d.ts +37 -0
- package/dist/identity/oidc/ScopedPickWebIdHandler.js +211 -0
- package/dist/identity/oidc/ScopedPickWebIdHandler.js.map +1 -0
- package/dist/identity/oidc/ScopedPickWebIdHandler.jsonld +158 -0
- package/dist/index.d.ts +12 -2
- package/dist/index.js +16 -4
- package/dist/index.js.map +1 -1
- package/dist/main.js +8 -2
- package/dist/main.js.map +1 -1
- package/dist/provision/ProvisionPodCreator.d.ts +3 -4
- package/dist/provision/ProvisionPodCreator.js +8 -13
- package/dist/provision/ProvisionPodCreator.js.map +1 -1
- package/dist/provision/ProvisionPodCreator.jsonld +7 -7
- package/dist/runtime/Proxy.d.ts +0 -1
- package/dist/runtime/Proxy.js +0 -9
- package/dist/runtime/Proxy.js.map +1 -1
- package/dist/runtime/bootstrap.d.ts +1 -0
- package/dist/runtime/bootstrap.js +5 -2
- package/dist/runtime/bootstrap.js.map +1 -1
- package/dist/runtime/css-process.d.ts +12 -4
- package/dist/runtime/css-process.js +61 -14
- package/dist/runtime/css-process.js.map +1 -1
- package/dist/runtime/oidc-issuer.d.ts +3 -2
- package/dist/runtime/oidc-issuer.js +3 -2
- package/dist/runtime/oidc-issuer.js.map +1 -1
- package/dist/runtime/runtime-types.d.ts +1 -0
- package/dist/runtime/runtime-types.js.map +1 -1
- package/dist/solidfs/LocalFirstRdfRepresentationResolver.d.ts +21 -0
- package/dist/solidfs/LocalFirstRdfRepresentationResolver.js +38 -0
- package/dist/solidfs/LocalFirstRdfRepresentationResolver.js.map +1 -0
- package/dist/solidfs/LocalSolidFS.d.ts +18 -0
- package/dist/solidfs/LocalSolidFS.js +539 -0
- package/dist/solidfs/LocalSolidFS.js.map +1 -0
- package/dist/solidfs/PodSolidFsHttpClient.d.ts +16 -0
- package/dist/solidfs/PodSolidFsHttpClient.js +93 -0
- package/dist/solidfs/PodSolidFsHttpClient.js.map +1 -0
- package/dist/solidfs/PodSolidFsHydrator.d.ts +27 -0
- package/dist/solidfs/PodSolidFsHydrator.js +127 -0
- package/dist/solidfs/PodSolidFsHydrator.js.map +1 -0
- package/dist/solidfs/PodSolidFsSyncer.d.ts +21 -0
- package/dist/solidfs/PodSolidFsSyncer.js +78 -0
- package/dist/solidfs/PodSolidFsSyncer.js.map +1 -0
- package/dist/solidfs/RdfIndexSolidFsSyncer.d.ts +22 -0
- package/dist/solidfs/RdfIndexSolidFsSyncer.js +131 -0
- package/dist/solidfs/RdfIndexSolidFsSyncer.js.map +1 -0
- package/dist/solidfs/index.d.ts +7 -0
- package/dist/solidfs/index.js +24 -0
- package/dist/solidfs/index.js.map +1 -0
- package/dist/solidfs/types.d.ts +131 -0
- package/dist/solidfs/types.js +19 -0
- package/dist/solidfs/types.js.map +1 -0
- package/dist/storage/RepresentationPartialConvertingStore.js +6 -13
- package/dist/storage/RepresentationPartialConvertingStore.js.map +1 -1
- package/dist/storage/SparqlUpdateResourceStore.d.ts +4 -0
- package/dist/storage/SparqlUpdateResourceStore.js +13 -0
- package/dist/storage/SparqlUpdateResourceStore.js.map +1 -1
- package/dist/storage/SparqlUpdateResourceStore.jsonld +26 -0
- package/dist/storage/accessors/MixDataAccessor.d.ts +85 -4
- package/dist/storage/accessors/MixDataAccessor.js +511 -16
- package/dist/storage/accessors/MixDataAccessor.js.map +1 -1
- package/dist/storage/accessors/MixDataAccessor.jsonld +176 -1
- package/dist/storage/accessors/QuintStoreSparqlDataAccessor.d.ts +7 -0
- package/dist/storage/accessors/QuintStoreSparqlDataAccessor.js +72 -4
- package/dist/storage/accessors/QuintStoreSparqlDataAccessor.js.map +1 -1
- package/dist/storage/accessors/QuintStoreSparqlDataAccessor.jsonld +24 -0
- package/dist/storage/quint/BaseQuintStore.d.ts +3 -0
- package/dist/storage/quint/BaseQuintStore.js +51 -27
- package/dist/storage/quint/BaseQuintStore.js.map +1 -1
- package/dist/storage/quint/PgQuintStore.d.ts +1 -0
- package/dist/storage/quint/PgQuintStore.js +50 -32
- package/dist/storage/quint/PgQuintStore.js.map +1 -1
- package/dist/storage/quint/PgQuintStore.jsonld +4 -3
- package/dist/storage/quint/SqliteQuintStore.d.ts +5 -0
- package/dist/storage/quint/SqliteQuintStore.js +100 -0
- package/dist/storage/quint/SqliteQuintStore.js.map +1 -1
- package/dist/storage/quint/SqliteQuintStore.jsonld +20 -0
- package/dist/storage/quint/types.d.ts +16 -0
- package/dist/storage/quint/types.js.map +1 -1
- package/dist/storage/rdf/Rdf3xTripleIndex.d.ts +55 -0
- package/dist/storage/rdf/Rdf3xTripleIndex.js +1235 -0
- package/dist/storage/rdf/Rdf3xTripleIndex.js.map +1 -0
- package/dist/storage/rdf/RdfContentTypes.d.ts +9 -0
- package/dist/storage/rdf/RdfContentTypes.js +79 -0
- package/dist/storage/rdf/RdfContentTypes.js.map +1 -0
- package/dist/storage/rdf/RdfLocalQueryEngine.d.ts +79 -0
- package/dist/storage/rdf/RdfLocalQueryEngine.js +2705 -0
- package/dist/storage/rdf/RdfLocalQueryEngine.js.map +1 -0
- package/dist/storage/rdf/RdfQuadIndex.d.ts +98 -0
- package/dist/storage/rdf/RdfQuadIndex.js +1840 -0
- package/dist/storage/rdf/RdfQuadIndex.js.map +1 -0
- package/dist/storage/rdf/RdfQuadIndex.jsonld +416 -0
- package/dist/storage/rdf/RdfShadowComparator.d.ts +12 -0
- package/dist/storage/rdf/RdfShadowComparator.js +47 -0
- package/dist/storage/rdf/RdfShadowComparator.js.map +1 -0
- package/dist/storage/rdf/RdfSparqlAdapter.d.ts +147 -0
- package/dist/storage/rdf/RdfSparqlAdapter.js +2420 -0
- package/dist/storage/rdf/RdfSparqlAdapter.js.map +1 -0
- package/dist/storage/rdf/RdfSparqlAdapter.jsonld +414 -0
- package/dist/storage/rdf/RdfTermDictionary.d.ts +27 -0
- package/dist/storage/rdf/RdfTermDictionary.js +352 -0
- package/dist/storage/rdf/RdfTermDictionary.js.map +1 -0
- package/dist/storage/rdf/RdfTermDictionary.jsonld +114 -0
- package/dist/storage/rdf/RdfTermSemantics.d.ts +6 -0
- package/dist/storage/rdf/RdfTermSemantics.js +40 -0
- package/dist/storage/rdf/RdfTermSemantics.js.map +1 -0
- package/dist/storage/rdf/RdfTextIndex.d.ts +23 -0
- package/dist/storage/rdf/RdfTextIndex.js +569 -0
- package/dist/storage/rdf/RdfTextIndex.js.map +1 -0
- package/dist/storage/rdf/RdfVectorIndex.d.ts +22 -0
- package/dist/storage/rdf/RdfVectorIndex.js +631 -0
- package/dist/storage/rdf/RdfVectorIndex.js.map +1 -0
- package/dist/storage/rdf/RdfXmlSerializer.d.ts +2 -0
- package/dist/storage/rdf/RdfXmlSerializer.js +123 -0
- package/dist/storage/rdf/RdfXmlSerializer.js.map +1 -0
- package/dist/storage/rdf/ShadowRdfQuintStore.d.ts +58 -0
- package/dist/storage/rdf/ShadowRdfQuintStore.js +202 -0
- package/dist/storage/rdf/ShadowRdfQuintStore.js.map +1 -0
- package/dist/storage/rdf/ShadowRdfQuintStore.jsonld +308 -0
- package/dist/storage/rdf/SolidRdfEngine.d.ts +56 -0
- package/dist/storage/rdf/SolidRdfEngine.js +292 -0
- package/dist/storage/rdf/SolidRdfEngine.js.map +1 -0
- package/dist/storage/rdf/SolidRdfEngine.jsonld +372 -0
- package/dist/storage/rdf/SolidRdfSparqlEngine.d.ts +92 -0
- package/dist/storage/rdf/SolidRdfSparqlEngine.js +477 -0
- package/dist/storage/rdf/SolidRdfSparqlEngine.js.map +1 -0
- package/dist/storage/rdf/SolidRdfSparqlEngine.jsonld +257 -0
- package/dist/storage/rdf/index.d.ts +15 -0
- package/dist/storage/rdf/index.js +61 -0
- package/dist/storage/rdf/index.js.map +1 -0
- package/dist/storage/rdf/models-benchmark.d.ts +260 -0
- package/dist/storage/rdf/models-benchmark.js +1405 -0
- package/dist/storage/rdf/models-benchmark.js.map +1 -0
- package/dist/storage/rdf/types.d.ts +726 -0
- package/dist/storage/rdf/types.js +3 -0
- package/dist/storage/rdf/types.js.map +1 -0
- package/dist/storage/rdf/types.jsonld +316 -0
- package/dist/storage/vector/VectorIndexingListener.d.ts +5 -5
- package/dist/storage/vector/VectorIndexingListener.js +19 -19
- package/dist/storage/vector/VectorIndexingListener.js.map +1 -1
- package/package.json +3 -2
- package/templates/pod/acp/.acr.hbs +39 -0
- package/templates/pod/acp/README.acr +18 -0
- package/templates/pod/acp/profile/card.acr +22 -0
- package/templates/pod/base/README$.md.hbs +27 -0
- package/templates/pod/base/profile/card$.ttl.hbs +13 -0
- package/templates/pod/wac/.acl.hbs +26 -0
- package/templates/pod/wac/README.acl.hbs +14 -0
- package/templates/pod/wac/profile/card.acl.hbs +19 -0
- package/dist/api/handlers/WebIdProfileHandler.d.ts +0 -16
- package/dist/api/handlers/WebIdProfileHandler.js +0 -423
- package/dist/api/handlers/WebIdProfileHandler.js.map +0 -1
- package/dist/identity/drizzle/WebIdProfileRepository.d.ts +0 -63
- package/dist/identity/drizzle/WebIdProfileRepository.js +0 -168
- package/dist/identity/drizzle/WebIdProfileRepository.js.map +0 -1
- package/dist/identity/drizzle/WebIdProfileRepository.jsonld +0 -112
- package/dist/storage/quint/BaseQuintStore.jsonld +0 -257
|
@@ -0,0 +1,158 @@
|
|
|
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/ScopedPickWebIdHandler.jsonld#ScopedPickWebIdHandler",
|
|
10
|
+
"@type": "Class",
|
|
11
|
+
"requireElement": "ScopedPickWebIdHandler",
|
|
12
|
+
"extends": [
|
|
13
|
+
"css:dist/identity/interaction/JsonInteractionHandler.jsonld#JsonInteractionHandler",
|
|
14
|
+
"css:dist/identity/interaction/JsonView.jsonld#JsonView"
|
|
15
|
+
],
|
|
16
|
+
"comment": "CSS-compatible WebID picker scoped to the current storage provider. The upstream handler lists every WebID linked to the IdP account. In an IDP/SP split flow that lets a Local SP login pick a Cloud Pod again, so this replacement keeps consent choices constrained by the selected SP's Pod facts.",
|
|
17
|
+
"parameters": [
|
|
18
|
+
{
|
|
19
|
+
"@id": "undefineds:dist/identity/oidc/ScopedPickWebIdHandler.jsonld#ScopedPickWebIdHandler_options_webIdStore",
|
|
20
|
+
"range": "css:dist/identity/interaction/webid/util/WebIdStore.jsonld#WebIdStore"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"@id": "undefineds:dist/identity/oidc/ScopedPickWebIdHandler.jsonld#ScopedPickWebIdHandler_options_providerFactory",
|
|
24
|
+
"range": "css:dist/identity/configuration/ProviderFactory.jsonld#ProviderFactory"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"@id": "undefineds:dist/identity/oidc/ScopedPickWebIdHandler.jsonld#ScopedPickWebIdHandler_options_identityDbUrl",
|
|
28
|
+
"range": {
|
|
29
|
+
"@type": "ParameterRangeUnion",
|
|
30
|
+
"parameterRangeElements": [
|
|
31
|
+
"xsd:string",
|
|
32
|
+
{
|
|
33
|
+
"@type": "ParameterRangeUndefined"
|
|
34
|
+
}
|
|
35
|
+
]
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"@id": "undefineds:dist/identity/oidc/ScopedPickWebIdHandler.jsonld#ScopedPickWebIdHandler_options_podLookupRepository",
|
|
40
|
+
"range": {
|
|
41
|
+
"@type": "ParameterRangeUnion",
|
|
42
|
+
"parameterRangeElements": [
|
|
43
|
+
"undefineds:dist/identity/oidc/ScopedPickWebIdHandler.jsonld#PodWebIdLookupRepository",
|
|
44
|
+
{
|
|
45
|
+
"@type": "ParameterRangeUndefined"
|
|
46
|
+
}
|
|
47
|
+
]
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"@id": "undefineds:dist/identity/oidc/ScopedPickWebIdHandler.jsonld#ScopedPickWebIdHandler_options_fetch",
|
|
52
|
+
"range": {
|
|
53
|
+
"@type": "ParameterRangeUnion",
|
|
54
|
+
"parameterRangeElements": [
|
|
55
|
+
{
|
|
56
|
+
"@type": "ParameterRangeWildcard"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"@type": "ParameterRangeUndefined"
|
|
60
|
+
}
|
|
61
|
+
]
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
],
|
|
65
|
+
"memberFields": [
|
|
66
|
+
{
|
|
67
|
+
"@id": "undefineds:dist/identity/oidc/ScopedPickWebIdHandler.jsonld#ScopedPickWebIdHandler__member_logger",
|
|
68
|
+
"memberFieldName": "logger"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"@id": "undefineds:dist/identity/oidc/ScopedPickWebIdHandler.jsonld#ScopedPickWebIdHandler__member_webIdStore",
|
|
72
|
+
"memberFieldName": "webIdStore"
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"@id": "undefineds:dist/identity/oidc/ScopedPickWebIdHandler.jsonld#ScopedPickWebIdHandler__member_providerFactory",
|
|
76
|
+
"memberFieldName": "providerFactory"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"@id": "undefineds:dist/identity/oidc/ScopedPickWebIdHandler.jsonld#ScopedPickWebIdHandler__member_podLookupRepository",
|
|
80
|
+
"memberFieldName": "podLookupRepository"
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"@id": "undefineds:dist/identity/oidc/ScopedPickWebIdHandler.jsonld#ScopedPickWebIdHandler__member_fetch",
|
|
84
|
+
"memberFieldName": "fetch"
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"@id": "undefineds:dist/identity/oidc/ScopedPickWebIdHandler.jsonld#ScopedPickWebIdHandler__member_constructor",
|
|
88
|
+
"memberFieldName": "constructor"
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"@id": "undefineds:dist/identity/oidc/ScopedPickWebIdHandler.jsonld#ScopedPickWebIdHandler__member_getView",
|
|
92
|
+
"memberFieldName": "getView"
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"@id": "undefineds:dist/identity/oidc/ScopedPickWebIdHandler.jsonld#ScopedPickWebIdHandler__member_handle",
|
|
96
|
+
"memberFieldName": "handle"
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"@id": "undefineds:dist/identity/oidc/ScopedPickWebIdHandler.jsonld#ScopedPickWebIdHandler__member_resolveScopedEntries",
|
|
100
|
+
"memberFieldName": "resolveScopedEntries"
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"@id": "undefineds:dist/identity/oidc/ScopedPickWebIdHandler.jsonld#ScopedPickWebIdHandler__member_isResolvableByCurrentSp",
|
|
104
|
+
"memberFieldName": "isResolvableByCurrentSp"
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"@id": "undefineds:dist/identity/oidc/ScopedPickWebIdHandler.jsonld#ScopedPickWebIdHandler__member_findSpPod",
|
|
108
|
+
"memberFieldName": "findSpPod"
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"@id": "undefineds:dist/identity/oidc/ScopedPickWebIdHandler.jsonld#ScopedPickWebIdHandler__member_resolveTargetStorage",
|
|
112
|
+
"memberFieldName": "resolveTargetStorage"
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"@id": "undefineds:dist/identity/oidc/ScopedPickWebIdHandler.jsonld#ScopedPickWebIdHandler__member_resolveRemoteSpEntries",
|
|
116
|
+
"memberFieldName": "resolveRemoteSpEntries"
|
|
117
|
+
}
|
|
118
|
+
],
|
|
119
|
+
"constructorArguments": [
|
|
120
|
+
{
|
|
121
|
+
"@id": "undefineds:dist/identity/oidc/ScopedPickWebIdHandler.jsonld#ScopedPickWebIdHandler_options__constructorArgument",
|
|
122
|
+
"fields": [
|
|
123
|
+
{
|
|
124
|
+
"keyRaw": "webIdStore",
|
|
125
|
+
"value": {
|
|
126
|
+
"@id": "undefineds:dist/identity/oidc/ScopedPickWebIdHandler.jsonld#ScopedPickWebIdHandler_options_webIdStore"
|
|
127
|
+
}
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
"keyRaw": "providerFactory",
|
|
131
|
+
"value": {
|
|
132
|
+
"@id": "undefineds:dist/identity/oidc/ScopedPickWebIdHandler.jsonld#ScopedPickWebIdHandler_options_providerFactory"
|
|
133
|
+
}
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
"keyRaw": "identityDbUrl",
|
|
137
|
+
"value": {
|
|
138
|
+
"@id": "undefineds:dist/identity/oidc/ScopedPickWebIdHandler.jsonld#ScopedPickWebIdHandler_options_identityDbUrl"
|
|
139
|
+
}
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
"keyRaw": "podLookupRepository",
|
|
143
|
+
"value": {
|
|
144
|
+
"@id": "undefineds:dist/identity/oidc/ScopedPickWebIdHandler.jsonld#ScopedPickWebIdHandler_options_podLookupRepository"
|
|
145
|
+
}
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
"keyRaw": "fetch",
|
|
149
|
+
"value": {
|
|
150
|
+
"@id": "undefineds:dist/identity/oidc/ScopedPickWebIdHandler.jsonld#ScopedPickWebIdHandler_options_fetch"
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
]
|
|
154
|
+
}
|
|
155
|
+
]
|
|
156
|
+
}
|
|
157
|
+
]
|
|
158
|
+
}
|
package/dist/index.d.ts
CHANGED
|
@@ -7,6 +7,10 @@ import { MixDataAccessor } from './storage/accessors/MixDataAccessor';
|
|
|
7
7
|
import { ConfigurableLoggerFactory } from './logging/ConfigurableLoggerFactory';
|
|
8
8
|
import { SubgraphQueryEngine, QuadstoreSparqlEngine, QuintstoreSparqlEngine } from './storage/sparql/SubgraphQueryEngine';
|
|
9
9
|
export type { SparqlEngine } from './storage/sparql/SubgraphQueryEngine';
|
|
10
|
+
export type { RdfIndexStats, RdfIndexSpaceObject, RdfIndexMetrics, RdfIndexPutOptions, RdfPatternQuery, RdfQuadIndexOptions, RdfQuadIndexScanResult, RdfShadowBackfillOptions, RdfShadowBackfillResult, RdfShadowDiff, RdfShadowScanResult, RdfSourceInput, } from './storage/rdf/types';
|
|
11
|
+
export type { RdfSparqlCompileResult } from './storage/rdf/RdfSparqlAdapter';
|
|
12
|
+
export type { ShadowRdfQuintStoreOptions } from './storage/rdf/ShadowRdfQuintStore';
|
|
13
|
+
export type { SolidRdfSparqlEngineOptions, SolidRdfSparqlFallback, } from './storage/rdf/SolidRdfSparqlEngine';
|
|
10
14
|
import { SubgraphSparqlHttpHandler } from './http/SubgraphSparqlHttpHandler';
|
|
11
15
|
import { QuotaAdminHttpHandler } from './http/quota/QuotaAdminHttpHandler';
|
|
12
16
|
import { SparqlUpdateResourceStore } from './storage/SparqlUpdateResourceStore';
|
|
@@ -21,7 +25,6 @@ import { TerminalHttpHandler } from './http/terminal/TerminalHttpHandler';
|
|
|
21
25
|
import { EdgeNodeCertificateHttpHandler } from './http/admin/EdgeNodeCertificateHttpHandler';
|
|
22
26
|
import { ReservedSuffixIdentifierGenerator } from './pods/ReservedSuffixIdentifierGenerator';
|
|
23
27
|
import { DrizzleIndexedStorage } from './identity/drizzle/DrizzleIndexedStorage';
|
|
24
|
-
import { WebIdProfileRepository } from './identity/drizzle/WebIdProfileRepository';
|
|
25
28
|
import { ValidatingIdentityProviderHttpHandler } from './identity/ValidatingIdentityProviderHttpHandler';
|
|
26
29
|
import { PostgresKeyValueStorage } from './storage/keyvalue/PostgresKeyValueStorage';
|
|
27
30
|
import { RedisKeyValueStorage } from './storage/keyvalue/RedisKeyValueStorage';
|
|
@@ -49,6 +52,12 @@ import { SqliteQuintStore } from './storage/quint/SqliteQuintStore';
|
|
|
49
52
|
import { PgQuintStore } from './storage/quint/PgQuintStore';
|
|
50
53
|
import { BaseQuintStore } from './storage/quint/BaseQuintStore';
|
|
51
54
|
import { QuintStore } from './storage/quint/types';
|
|
55
|
+
import { RdfQuadIndex } from './storage/rdf/RdfQuadIndex';
|
|
56
|
+
import { RdfSparqlAdapter } from './storage/rdf/RdfSparqlAdapter';
|
|
57
|
+
import { RdfTermDictionary } from './storage/rdf/RdfTermDictionary';
|
|
58
|
+
import { ShadowRdfQuintStore } from './storage/rdf/ShadowRdfQuintStore';
|
|
59
|
+
import { SolidRdfEngine } from './storage/rdf/SolidRdfEngine';
|
|
60
|
+
import { SolidRdfSparqlEngine } from './storage/rdf/SolidRdfSparqlEngine';
|
|
52
61
|
import { SqliteVectorStore, PostgresVectorStore } from './storage/vector/index';
|
|
53
62
|
import { VectorHttpHandler } from './http/vector/VectorHttpHandler';
|
|
54
63
|
import { ProviderRegistry } from './ai/service/ProviderRegistry';
|
|
@@ -69,6 +78,7 @@ import { DisabledIdentityProviderHandler } from './identity/oidc/DisabledIdentit
|
|
|
69
78
|
import { AutoDetectOidcHandler } from './identity/oidc/AutoDetectOidcHandler';
|
|
70
79
|
import { AutoDetectIdentityProviderHandler } from './identity/oidc/AutoDetectIdentityProviderHandler';
|
|
71
80
|
import { LoopbackClientIdAdapterFactory } from './identity/oidc/LoopbackClientIdAdapterFactory';
|
|
81
|
+
import { ScopedPickWebIdHandler } from './identity/oidc/ScopedPickWebIdHandler';
|
|
72
82
|
import { ProvisionPodCreator } from './provision/ProvisionPodCreator';
|
|
73
83
|
import { ProvisionCodeCodec } from './provision/ProvisionCodeCodec';
|
|
74
84
|
import { LocalPodProvisioningService } from './provision/LocalPodProvisioningService';
|
|
@@ -81,4 +91,4 @@ export type { EntitlementProvider, AccountEntitlement } from './quota/Entitlemen
|
|
|
81
91
|
export type { TunnelProvider, TunnelConfig, TunnelSetupOptions, TunnelStatus, } from './tunnel/TunnelProvider';
|
|
82
92
|
export type { SubdomainRegistration, ConnectivityResult, SubdomainServiceOptions, } from './subdomain/SubdomainService';
|
|
83
93
|
export { AppStaticAssetHandler } from './http/AppStaticAssetHandler';
|
|
84
|
-
export { RepresentationPartialConvertingStore, MinioDataAccessor, QuadstoreSparqlDataAccessor, QuintStoreSparqlDataAccessor, MixDataAccessor, ConfigurableLoggerFactory, SparqlUpdateResourceStore, SubgraphQueryEngine, QuadstoreSparqlEngine, QuintstoreSparqlEngine, SubgraphSparqlHttpHandler, QuotaAdminHttpHandler, ClusterIngressRouter, ClusterWebSocketConfigurator, EdgeNodeDirectDebugHttpHandler, EdgeNodeProxyHttpHandler, RouterHttpHandler, RouterHttpRoute, TracingHandler, EdgeNodeCertificateHttpHandler, TerminalHttpHandler, ReservedSuffixIdentifierGenerator, DrizzleIndexedStorage,
|
|
94
|
+
export { RepresentationPartialConvertingStore, MinioDataAccessor, QuadstoreSparqlDataAccessor, QuintStoreSparqlDataAccessor, MixDataAccessor, ConfigurableLoggerFactory, SparqlUpdateResourceStore, SubgraphQueryEngine, QuadstoreSparqlEngine, QuintstoreSparqlEngine, SubgraphSparqlHttpHandler, QuotaAdminHttpHandler, ClusterIngressRouter, ClusterWebSocketConfigurator, EdgeNodeDirectDebugHttpHandler, EdgeNodeProxyHttpHandler, RouterHttpHandler, RouterHttpRoute, TracingHandler, EdgeNodeCertificateHttpHandler, TerminalHttpHandler, ReservedSuffixIdentifierGenerator, DrizzleIndexedStorage, ValidatingIdentityProviderHttpHandler, PostgresKeyValueStorage, RedisKeyValueStorage, SqliteKeyValueStorage, DrizzleQuotaService, NoopQuotaService, HttpEntitlementProvider, NoopEntitlementProvider, PerAccountQuotaStrategy, TencentDnsProvider, EdgeNodeDnsCoordinator, Dns01CertificateProvisioner, SimpleEdgeNodeTunnelManager, NoopEdgeNodeTunnelManager, FrpTunnelManager, EdgeNodeHealthProbeService, EdgeNodeAgent, EdgeNodeCertificateService, AcmeCertificateManager, EdgeNodeModeDetector, ClusterIdentifierStrategy, UsageTrackingStore, CenterNodeRegistrationService, PodRoutingHttpHandler, ReactAppViewHandler, QuintStore, SqliteQuintStore, PgQuintStore, BaseQuintStore, RdfTermDictionary, RdfQuadIndex, RdfSparqlAdapter, ShadowRdfQuintStore, SolidRdfEngine, SolidRdfSparqlEngine, VectorStore, SqliteVectorStore, PostgresVectorStore, VectorHttpHandler, ProviderRegistry, ProviderRegistryImpl, EmbeddingService, EmbeddingServiceImpl, CredentialReader, CredentialReaderImpl, CloudflareTunnelProvider, LocalTunnelProvider, SubdomainService, MultiDomainIdentifierStrategy, SubdomainPodIdentifierStrategy, DisabledOidcHandler, DisabledIdentityProviderHandler, AutoDetectOidcHandler, AutoDetectIdentityProviderHandler, LoopbackClientIdAdapterFactory, ScopedPickWebIdHandler, UrlAwareRedisLocker, ProvisionPodCreator, ProvisionCodeCodec, LocalPodProvisioningService, AuthModeSelector, };
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ReactAppViewHandler = exports.PodRoutingHttpHandler = exports.CenterNodeRegistrationService = exports.UsageTrackingStore = exports.ClusterIdentifierStrategy = exports.EdgeNodeModeDetector = exports.AcmeCertificateManager = exports.EdgeNodeCertificateService = 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.SqliteKeyValueStorage = exports.RedisKeyValueStorage = exports.PostgresKeyValueStorage = exports.ValidatingIdentityProviderHttpHandler = exports.
|
|
4
|
-
exports.AuthModeSelector = exports.LocalPodProvisioningService = exports.ProvisionCodeCodec = exports.ProvisionPodCreator = exports.UrlAwareRedisLocker = exports.LoopbackClientIdAdapterFactory = exports.AutoDetectIdentityProviderHandler = exports.AutoDetectOidcHandler = exports.DisabledIdentityProviderHandler = exports.DisabledOidcHandler = exports.SubdomainPodIdentifierStrategy = exports.MultiDomainIdentifierStrategy = exports.SubdomainService = 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.
|
|
3
|
+
exports.QuintStore = exports.ReactAppViewHandler = exports.PodRoutingHttpHandler = exports.CenterNodeRegistrationService = exports.UsageTrackingStore = exports.ClusterIdentifierStrategy = exports.EdgeNodeModeDetector = exports.AcmeCertificateManager = exports.EdgeNodeCertificateService = 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.SqliteKeyValueStorage = exports.RedisKeyValueStorage = exports.PostgresKeyValueStorage = exports.ValidatingIdentityProviderHttpHandler = exports.DrizzleIndexedStorage = exports.ReservedSuffixIdentifierGenerator = exports.TerminalHttpHandler = exports.EdgeNodeCertificateHttpHandler = exports.TracingHandler = exports.RouterHttpRoute = exports.RouterHttpHandler = exports.EdgeNodeProxyHttpHandler = exports.EdgeNodeDirectDebugHttpHandler = exports.ClusterWebSocketConfigurator = exports.ClusterIngressRouter = exports.QuotaAdminHttpHandler = exports.SubgraphSparqlHttpHandler = exports.QuintstoreSparqlEngine = exports.QuadstoreSparqlEngine = exports.SubgraphQueryEngine = exports.SparqlUpdateResourceStore = exports.ConfigurableLoggerFactory = exports.MixDataAccessor = exports.QuintStoreSparqlDataAccessor = exports.QuadstoreSparqlDataAccessor = exports.MinioDataAccessor = exports.RepresentationPartialConvertingStore = exports.AppStaticAssetHandler = void 0;
|
|
4
|
+
exports.AuthModeSelector = exports.LocalPodProvisioningService = exports.ProvisionCodeCodec = exports.ProvisionPodCreator = exports.UrlAwareRedisLocker = exports.ScopedPickWebIdHandler = exports.LoopbackClientIdAdapterFactory = exports.AutoDetectIdentityProviderHandler = exports.AutoDetectOidcHandler = exports.DisabledIdentityProviderHandler = exports.DisabledOidcHandler = exports.SubdomainPodIdentifierStrategy = exports.MultiDomainIdentifierStrategy = exports.SubdomainService = 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.SolidRdfSparqlEngine = exports.SolidRdfEngine = exports.ShadowRdfQuintStore = exports.RdfSparqlAdapter = exports.RdfQuadIndex = exports.RdfTermDictionary = exports.BaseQuintStore = exports.PgQuintStore = exports.SqliteQuintStore = void 0;
|
|
5
5
|
require("./runtime/configure-drizzle-solid");
|
|
6
6
|
const RepresentationPartialConvertingStore_1 = require("./storage/RepresentationPartialConvertingStore");
|
|
7
7
|
Object.defineProperty(exports, "RepresentationPartialConvertingStore", { enumerable: true, get: function () { return RepresentationPartialConvertingStore_1.RepresentationPartialConvertingStore; } });
|
|
@@ -47,8 +47,6 @@ const ReservedSuffixIdentifierGenerator_1 = require("./pods/ReservedSuffixIdenti
|
|
|
47
47
|
Object.defineProperty(exports, "ReservedSuffixIdentifierGenerator", { enumerable: true, get: function () { return ReservedSuffixIdentifierGenerator_1.ReservedSuffixIdentifierGenerator; } });
|
|
48
48
|
const DrizzleIndexedStorage_1 = require("./identity/drizzle/DrizzleIndexedStorage");
|
|
49
49
|
Object.defineProperty(exports, "DrizzleIndexedStorage", { enumerable: true, get: function () { return DrizzleIndexedStorage_1.DrizzleIndexedStorage; } });
|
|
50
|
-
const WebIdProfileRepository_1 = require("./identity/drizzle/WebIdProfileRepository");
|
|
51
|
-
Object.defineProperty(exports, "WebIdProfileRepository", { enumerable: true, get: function () { return WebIdProfileRepository_1.WebIdProfileRepository; } });
|
|
52
50
|
const ValidatingIdentityProviderHttpHandler_1 = require("./identity/ValidatingIdentityProviderHttpHandler");
|
|
53
51
|
Object.defineProperty(exports, "ValidatingIdentityProviderHttpHandler", { enumerable: true, get: function () { return ValidatingIdentityProviderHttpHandler_1.ValidatingIdentityProviderHttpHandler; } });
|
|
54
52
|
const PostgresKeyValueStorage_1 = require("./storage/keyvalue/PostgresKeyValueStorage");
|
|
@@ -105,6 +103,18 @@ const BaseQuintStore_1 = require("./storage/quint/BaseQuintStore");
|
|
|
105
103
|
Object.defineProperty(exports, "BaseQuintStore", { enumerable: true, get: function () { return BaseQuintStore_1.BaseQuintStore; } });
|
|
106
104
|
const types_1 = require("./storage/quint/types");
|
|
107
105
|
Object.defineProperty(exports, "QuintStore", { enumerable: true, get: function () { return types_1.QuintStore; } });
|
|
106
|
+
const RdfQuadIndex_1 = require("./storage/rdf/RdfQuadIndex");
|
|
107
|
+
Object.defineProperty(exports, "RdfQuadIndex", { enumerable: true, get: function () { return RdfQuadIndex_1.RdfQuadIndex; } });
|
|
108
|
+
const RdfSparqlAdapter_1 = require("./storage/rdf/RdfSparqlAdapter");
|
|
109
|
+
Object.defineProperty(exports, "RdfSparqlAdapter", { enumerable: true, get: function () { return RdfSparqlAdapter_1.RdfSparqlAdapter; } });
|
|
110
|
+
const RdfTermDictionary_1 = require("./storage/rdf/RdfTermDictionary");
|
|
111
|
+
Object.defineProperty(exports, "RdfTermDictionary", { enumerable: true, get: function () { return RdfTermDictionary_1.RdfTermDictionary; } });
|
|
112
|
+
const ShadowRdfQuintStore_1 = require("./storage/rdf/ShadowRdfQuintStore");
|
|
113
|
+
Object.defineProperty(exports, "ShadowRdfQuintStore", { enumerable: true, get: function () { return ShadowRdfQuintStore_1.ShadowRdfQuintStore; } });
|
|
114
|
+
const SolidRdfEngine_1 = require("./storage/rdf/SolidRdfEngine");
|
|
115
|
+
Object.defineProperty(exports, "SolidRdfEngine", { enumerable: true, get: function () { return SolidRdfEngine_1.SolidRdfEngine; } });
|
|
116
|
+
const SolidRdfSparqlEngine_1 = require("./storage/rdf/SolidRdfSparqlEngine");
|
|
117
|
+
Object.defineProperty(exports, "SolidRdfSparqlEngine", { enumerable: true, get: function () { return SolidRdfSparqlEngine_1.SolidRdfSparqlEngine; } });
|
|
108
118
|
// Vector components
|
|
109
119
|
const index_1 = require("./storage/vector/index");
|
|
110
120
|
Object.defineProperty(exports, "SqliteVectorStore", { enumerable: true, get: function () { return index_1.SqliteVectorStore; } });
|
|
@@ -149,6 +159,8 @@ const AutoDetectIdentityProviderHandler_1 = require("./identity/oidc/AutoDetectI
|
|
|
149
159
|
Object.defineProperty(exports, "AutoDetectIdentityProviderHandler", { enumerable: true, get: function () { return AutoDetectIdentityProviderHandler_1.AutoDetectIdentityProviderHandler; } });
|
|
150
160
|
const LoopbackClientIdAdapterFactory_1 = require("./identity/oidc/LoopbackClientIdAdapterFactory");
|
|
151
161
|
Object.defineProperty(exports, "LoopbackClientIdAdapterFactory", { enumerable: true, get: function () { return LoopbackClientIdAdapterFactory_1.LoopbackClientIdAdapterFactory; } });
|
|
162
|
+
const ScopedPickWebIdHandler_1 = require("./identity/oidc/ScopedPickWebIdHandler");
|
|
163
|
+
Object.defineProperty(exports, "ScopedPickWebIdHandler", { enumerable: true, get: function () { return ScopedPickWebIdHandler_1.ScopedPickWebIdHandler; } });
|
|
152
164
|
// Provision components
|
|
153
165
|
const ProvisionPodCreator_1 = require("./provision/ProvisionPodCreator");
|
|
154
166
|
Object.defineProperty(exports, "ProvisionPodCreator", { enumerable: true, get: function () { return ProvisionPodCreator_1.ProvisionPodCreator; } });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["import './runtime/configure-drizzle-solid';\nimport { RepresentationPartialConvertingStore } from './storage/RepresentationPartialConvertingStore';\nimport { MinioDataAccessor } from './storage/accessors/MinioDataAccessor';\nimport { QuadstoreSparqlDataAccessor } from './storage/accessors/QuadstoreSparqlDataAccessor';\nimport { QuintStoreSparqlDataAccessor } from './storage/accessors/QuintStoreSparqlDataAccessor';\nimport { MixDataAccessor } from './storage/accessors/MixDataAccessor';\nimport { ConfigurableLoggerFactory } from './logging/ConfigurableLoggerFactory';\nimport { SubgraphQueryEngine, QuadstoreSparqlEngine, QuintstoreSparqlEngine } from './storage/sparql/SubgraphQueryEngine';\nexport type { SparqlEngine } from './storage/sparql/SubgraphQueryEngine';\nimport { SubgraphSparqlHttpHandler } from './http/SubgraphSparqlHttpHandler';\nimport { QuotaAdminHttpHandler } from './http/quota/QuotaAdminHttpHandler';\nimport { SparqlUpdateResourceStore } from './storage/SparqlUpdateResourceStore';\nimport { ClusterIngressRouter } from './http/ClusterIngressRouter';\nimport { ClusterWebSocketConfigurator } from './http/ClusterWebSocketConfigurator';\nimport { EdgeNodeDirectDebugHttpHandler } from './http/EdgeNodeDirectDebugHttpHandler';\nimport { EdgeNodeProxyHttpHandler } from './http/EdgeNodeProxyHttpHandler';\nimport { RouterHttpHandler } from './http/RouterHttpHandler';\nimport { RouterHttpRoute } from './http/RouterHttpRoute';\nimport { TracingHandler } from './http/TracingHandler';\nimport { TerminalHttpHandler } from './http/terminal/TerminalHttpHandler';\nimport { EdgeNodeCertificateHttpHandler } from './http/admin/EdgeNodeCertificateHttpHandler';\nimport { ReservedSuffixIdentifierGenerator } from './pods/ReservedSuffixIdentifierGenerator';\nimport { DrizzleIndexedStorage } from './identity/drizzle/DrizzleIndexedStorage';\nimport { WebIdProfileRepository } from './identity/drizzle/WebIdProfileRepository';\nimport { ValidatingIdentityProviderHttpHandler } from './identity/ValidatingIdentityProviderHttpHandler';\nimport { PostgresKeyValueStorage } from './storage/keyvalue/PostgresKeyValueStorage';\nimport { RedisKeyValueStorage } from './storage/keyvalue/RedisKeyValueStorage';\nimport { SqliteKeyValueStorage } from './storage/keyvalue/SqliteKeyValueStorage';\nimport { DrizzleQuotaService } from './quota/DrizzleQuotaService';\nimport { NoopQuotaService } from './quota/NoopQuotaService';\nimport { HttpEntitlementProvider, NoopEntitlementProvider } from './quota/EntitlementProvider';\nimport { PerAccountQuotaStrategy } from './storage/quota/PerAccountQuotaStrategy';\nimport { TencentDnsProvider } from './dns/tencent/TencentDnsProvider';\nimport { EdgeNodeDnsCoordinator } from './edge/EdgeNodeDnsCoordinator';\nimport { Dns01CertificateProvisioner } from './edge/Dns01CertificateProvisioner';\nimport { SimpleEdgeNodeTunnelManager, NoopEdgeNodeTunnelManager } from './edge/EdgeNodeTunnelManager';\nimport { FrpTunnelManager } from './edge/FrpTunnelManager';\nimport { AcmeCertificateManager } from './edge/acme/AcmeCertificateManager';\nimport { EdgeNodeHealthProbeService } from './edge/EdgeNodeHealthProbeService';\nimport { EdgeNodeAgent } from './edge/EdgeNodeAgent';\nimport { EdgeNodeCertificateService } from './service/EdgeNodeCertificateService';\nimport { createBandwidthThrottleTransform } from './util/stream/BandwidthThrottleTransform';\nimport { UsageTrackingStore } from './storage/quota/UsageTrackingStore';\nimport { EdgeNodeModeDetector } from './edge/EdgeNodeModeDetector';\nimport { ClusterIdentifierStrategy } from './util/identifiers/ClusterIdentifierStrategy';\nimport { CenterNodeRegistrationService } from './identity/CenterNodeRegistrationService';\nimport { PodRoutingHttpHandler } from './http/PodRoutingHttpHandler';\nimport { ReactAppViewHandler } from './identity/ReactAppViewHandler';\nimport { SqliteQuintStore } from './storage/quint/SqliteQuintStore';\nimport { PgQuintStore } from './storage/quint/PgQuintStore';\nimport { BaseQuintStore } from './storage/quint/BaseQuintStore';\nimport { QuintStore } from './storage/quint/types';\nimport type { EdgeNodeCertificateProvisioner } from './edge/EdgeNodeCertificateProvisioner';\n// Vector components\nimport { SqliteVectorStore, PostgresVectorStore } from './storage/vector/index';\nimport { VectorHttpHandler } from './http/vector/VectorHttpHandler';\nimport { ProviderRegistry } from './ai/service/ProviderRegistry';\nimport { ProviderRegistryImpl } from './ai/service/ProviderRegistryImpl';\nimport { EmbeddingService } from './ai/service/EmbeddingService';\nimport { EmbeddingServiceImpl } from './ai/service/EmbeddingServiceImpl';\nimport { CredentialReader } from './ai/service/CredentialReader';\nimport { CredentialReaderImpl } from './ai/service/CredentialReaderImpl';\nimport { VectorStore } from './storage/vector/VectorStore';\n// Tunnel and Subdomain components\nimport { CloudflareTunnelProvider } from './tunnel/CloudflareTunnelProvider';\nimport { LocalTunnelProvider } from './tunnel/LocalTunnelProvider';\nimport { SubdomainService } from './subdomain/SubdomainService';\nimport { UrlAwareRedisLocker } from './storage/locking/UrlAwareRedisLocker';\n// IdP/SP separation components\nimport { MultiDomainIdentifierStrategy } from './util/identifiers/MultiDomainIdentifierStrategy';\nimport { SubdomainPodIdentifierStrategy } from './util/identifiers/SubdomainPodIdentifierStrategy';\nimport { DisabledOidcHandler } from './identity/oidc/DisabledOidcHandler';\nimport { DisabledIdentityProviderHandler } from './identity/oidc/DisabledIdentityProviderHandler';\nimport { AutoDetectOidcHandler } from './identity/oidc/AutoDetectOidcHandler';\nimport { AutoDetectIdentityProviderHandler } from './identity/oidc/AutoDetectIdentityProviderHandler';\nimport { LoopbackClientIdAdapterFactory } from './identity/oidc/LoopbackClientIdAdapterFactory';\n// Provision components\nimport { ProvisionPodCreator } from './provision/ProvisionPodCreator';\nimport { ProvisionCodeCodec } from './provision/ProvisionCodeCodec';\nimport { LocalPodProvisioningService } from './provision/LocalPodProvisioningService';\n// Authorization components\nimport { AuthModeSelector } from './authorization/AuthModeSelector';\nexport type {\n DnsProvider,\n ListDnsRecordsInput,\n ListableDnsProvider,\n DeleteDnsRecordInput,\n DnsRecordSummary,\n UpsertDnsRecordInput,\n} from './dns/DnsProvider';\nexport type { EdgeNodeCertificateProvisioner } from './edge/EdgeNodeCertificateProvisioner';\nexport type { EdgeNodeTunnelManager } from './edge/interfaces/EdgeNodeTunnelManager';\nexport type { QuotaService, AccountQuota } from './quota/QuotaService';\nexport type { EntitlementProvider, AccountEntitlement } from './quota/EntitlementProvider';\n// Tunnel and Subdomain types\nexport type {\n TunnelProvider,\n TunnelConfig,\n TunnelSetupOptions,\n TunnelStatus,\n} from './tunnel/TunnelProvider';\nexport type {\n SubdomainRegistration,\n ConnectivityResult,\n SubdomainServiceOptions,\n} from './subdomain/SubdomainService';\n// Export the new AppStaticAssetHandler\nexport { AppStaticAssetHandler } from './http/AppStaticAssetHandler';\n\nexport { \n RepresentationPartialConvertingStore,\n MinioDataAccessor, \n QuadstoreSparqlDataAccessor,\n QuintStoreSparqlDataAccessor,\n MixDataAccessor,\n ConfigurableLoggerFactory,\n SparqlUpdateResourceStore,\n SubgraphQueryEngine,\n QuadstoreSparqlEngine,\n QuintstoreSparqlEngine,\n SubgraphSparqlHttpHandler,\n QuotaAdminHttpHandler,\n ClusterIngressRouter,\n ClusterWebSocketConfigurator,\n EdgeNodeDirectDebugHttpHandler,\n EdgeNodeProxyHttpHandler,\n RouterHttpHandler,\n RouterHttpRoute,\n TracingHandler,\n EdgeNodeCertificateHttpHandler,\n TerminalHttpHandler,\n ReservedSuffixIdentifierGenerator,\n DrizzleIndexedStorage,\n WebIdProfileRepository,\n ValidatingIdentityProviderHttpHandler,\n PostgresKeyValueStorage,\n RedisKeyValueStorage,\n SqliteKeyValueStorage,\n DrizzleQuotaService,\n NoopQuotaService,\n HttpEntitlementProvider,\n NoopEntitlementProvider,\n PerAccountQuotaStrategy,\n TencentDnsProvider,\n EdgeNodeDnsCoordinator,\n Dns01CertificateProvisioner,\n SimpleEdgeNodeTunnelManager,\n NoopEdgeNodeTunnelManager,\n FrpTunnelManager,\n EdgeNodeHealthProbeService,\n EdgeNodeAgent,\n EdgeNodeCertificateService,\n AcmeCertificateManager,\n EdgeNodeModeDetector,\n ClusterIdentifierStrategy,\n UsageTrackingStore,\n CenterNodeRegistrationService,\n PodRoutingHttpHandler,\n ReactAppViewHandler,\n // Quint exports\n QuintStore,\n SqliteQuintStore,\n PgQuintStore,\n BaseQuintStore,\n // Vector exports\n VectorStore,\n SqliteVectorStore,\n PostgresVectorStore,\n VectorHttpHandler,\n // Embedding exports\n ProviderRegistry,\n ProviderRegistryImpl,\n EmbeddingService,\n EmbeddingServiceImpl,\n CredentialReader,\n CredentialReaderImpl,\n // Tunnel and Subdomain exports\n CloudflareTunnelProvider,\n LocalTunnelProvider,\n SubdomainService,\n // IdP/SP separation exports\n MultiDomainIdentifierStrategy,\n SubdomainPodIdentifierStrategy,\n DisabledOidcHandler,\n DisabledIdentityProviderHandler,\n AutoDetectOidcHandler,\n AutoDetectIdentityProviderHandler,\n LoopbackClientIdAdapterFactory,\n UrlAwareRedisLocker,\n // Provision exports\n ProvisionPodCreator,\n ProvisionCodeCodec,\n LocalPodProvisioningService,\n // Authorization exports\n AuthModeSelector,\n};\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["import './runtime/configure-drizzle-solid';\nimport { RepresentationPartialConvertingStore } from './storage/RepresentationPartialConvertingStore';\nimport { MinioDataAccessor } from './storage/accessors/MinioDataAccessor';\nimport { QuadstoreSparqlDataAccessor } from './storage/accessors/QuadstoreSparqlDataAccessor';\nimport { QuintStoreSparqlDataAccessor } from './storage/accessors/QuintStoreSparqlDataAccessor';\nimport { MixDataAccessor } from './storage/accessors/MixDataAccessor';\nimport { ConfigurableLoggerFactory } from './logging/ConfigurableLoggerFactory';\nimport { SubgraphQueryEngine, QuadstoreSparqlEngine, QuintstoreSparqlEngine } from './storage/sparql/SubgraphQueryEngine';\nexport type { SparqlEngine } from './storage/sparql/SubgraphQueryEngine';\nexport type {\n RdfIndexStats,\n RdfIndexSpaceObject,\n RdfIndexMetrics,\n RdfIndexPutOptions,\n RdfPatternQuery,\n RdfQuadIndexOptions,\n RdfQuadIndexScanResult,\n RdfShadowBackfillOptions,\n RdfShadowBackfillResult,\n RdfShadowDiff,\n RdfShadowScanResult,\n RdfSourceInput,\n} from './storage/rdf/types';\nexport type { RdfSparqlCompileResult } from './storage/rdf/RdfSparqlAdapter';\nexport type { ShadowRdfQuintStoreOptions } from './storage/rdf/ShadowRdfQuintStore';\nexport type {\n SolidRdfSparqlEngineOptions,\n SolidRdfSparqlFallback,\n} from './storage/rdf/SolidRdfSparqlEngine';\nimport { SubgraphSparqlHttpHandler } from './http/SubgraphSparqlHttpHandler';\nimport { QuotaAdminHttpHandler } from './http/quota/QuotaAdminHttpHandler';\nimport { SparqlUpdateResourceStore } from './storage/SparqlUpdateResourceStore';\nimport { ClusterIngressRouter } from './http/ClusterIngressRouter';\nimport { ClusterWebSocketConfigurator } from './http/ClusterWebSocketConfigurator';\nimport { EdgeNodeDirectDebugHttpHandler } from './http/EdgeNodeDirectDebugHttpHandler';\nimport { EdgeNodeProxyHttpHandler } from './http/EdgeNodeProxyHttpHandler';\nimport { RouterHttpHandler } from './http/RouterHttpHandler';\nimport { RouterHttpRoute } from './http/RouterHttpRoute';\nimport { TracingHandler } from './http/TracingHandler';\nimport { TerminalHttpHandler } from './http/terminal/TerminalHttpHandler';\nimport { EdgeNodeCertificateHttpHandler } from './http/admin/EdgeNodeCertificateHttpHandler';\nimport { ReservedSuffixIdentifierGenerator } from './pods/ReservedSuffixIdentifierGenerator';\nimport { DrizzleIndexedStorage } from './identity/drizzle/DrizzleIndexedStorage';\nimport { ValidatingIdentityProviderHttpHandler } from './identity/ValidatingIdentityProviderHttpHandler';\nimport { PostgresKeyValueStorage } from './storage/keyvalue/PostgresKeyValueStorage';\nimport { RedisKeyValueStorage } from './storage/keyvalue/RedisKeyValueStorage';\nimport { SqliteKeyValueStorage } from './storage/keyvalue/SqliteKeyValueStorage';\nimport { DrizzleQuotaService } from './quota/DrizzleQuotaService';\nimport { NoopQuotaService } from './quota/NoopQuotaService';\nimport { HttpEntitlementProvider, NoopEntitlementProvider } from './quota/EntitlementProvider';\nimport { PerAccountQuotaStrategy } from './storage/quota/PerAccountQuotaStrategy';\nimport { TencentDnsProvider } from './dns/tencent/TencentDnsProvider';\nimport { EdgeNodeDnsCoordinator } from './edge/EdgeNodeDnsCoordinator';\nimport { Dns01CertificateProvisioner } from './edge/Dns01CertificateProvisioner';\nimport { SimpleEdgeNodeTunnelManager, NoopEdgeNodeTunnelManager } from './edge/EdgeNodeTunnelManager';\nimport { FrpTunnelManager } from './edge/FrpTunnelManager';\nimport { AcmeCertificateManager } from './edge/acme/AcmeCertificateManager';\nimport { EdgeNodeHealthProbeService } from './edge/EdgeNodeHealthProbeService';\nimport { EdgeNodeAgent } from './edge/EdgeNodeAgent';\nimport { EdgeNodeCertificateService } from './service/EdgeNodeCertificateService';\nimport { createBandwidthThrottleTransform } from './util/stream/BandwidthThrottleTransform';\nimport { UsageTrackingStore } from './storage/quota/UsageTrackingStore';\nimport { EdgeNodeModeDetector } from './edge/EdgeNodeModeDetector';\nimport { ClusterIdentifierStrategy } from './util/identifiers/ClusterIdentifierStrategy';\nimport { CenterNodeRegistrationService } from './identity/CenterNodeRegistrationService';\nimport { PodRoutingHttpHandler } from './http/PodRoutingHttpHandler';\nimport { ReactAppViewHandler } from './identity/ReactAppViewHandler';\nimport { SqliteQuintStore } from './storage/quint/SqliteQuintStore';\nimport { PgQuintStore } from './storage/quint/PgQuintStore';\nimport { BaseQuintStore } from './storage/quint/BaseQuintStore';\nimport { QuintStore } from './storage/quint/types';\nimport { RdfQuadIndex } from './storage/rdf/RdfQuadIndex';\nimport { RdfSparqlAdapter } from './storage/rdf/RdfSparqlAdapter';\nimport { RdfTermDictionary } from './storage/rdf/RdfTermDictionary';\nimport { ShadowRdfQuintStore } from './storage/rdf/ShadowRdfQuintStore';\nimport { SolidRdfEngine } from './storage/rdf/SolidRdfEngine';\nimport { SolidRdfSparqlEngine } from './storage/rdf/SolidRdfSparqlEngine';\nimport type { EdgeNodeCertificateProvisioner } from './edge/EdgeNodeCertificateProvisioner';\n// Vector components\nimport { SqliteVectorStore, PostgresVectorStore } from './storage/vector/index';\nimport { VectorHttpHandler } from './http/vector/VectorHttpHandler';\nimport { ProviderRegistry } from './ai/service/ProviderRegistry';\nimport { ProviderRegistryImpl } from './ai/service/ProviderRegistryImpl';\nimport { EmbeddingService } from './ai/service/EmbeddingService';\nimport { EmbeddingServiceImpl } from './ai/service/EmbeddingServiceImpl';\nimport { CredentialReader } from './ai/service/CredentialReader';\nimport { CredentialReaderImpl } from './ai/service/CredentialReaderImpl';\nimport { VectorStore } from './storage/vector/VectorStore';\n// Tunnel and Subdomain components\nimport { CloudflareTunnelProvider } from './tunnel/CloudflareTunnelProvider';\nimport { LocalTunnelProvider } from './tunnel/LocalTunnelProvider';\nimport { SubdomainService } from './subdomain/SubdomainService';\nimport { UrlAwareRedisLocker } from './storage/locking/UrlAwareRedisLocker';\n// IdP/SP separation components\nimport { MultiDomainIdentifierStrategy } from './util/identifiers/MultiDomainIdentifierStrategy';\nimport { SubdomainPodIdentifierStrategy } from './util/identifiers/SubdomainPodIdentifierStrategy';\nimport { DisabledOidcHandler } from './identity/oidc/DisabledOidcHandler';\nimport { DisabledIdentityProviderHandler } from './identity/oidc/DisabledIdentityProviderHandler';\nimport { AutoDetectOidcHandler } from './identity/oidc/AutoDetectOidcHandler';\nimport { AutoDetectIdentityProviderHandler } from './identity/oidc/AutoDetectIdentityProviderHandler';\nimport { LoopbackClientIdAdapterFactory } from './identity/oidc/LoopbackClientIdAdapterFactory';\nimport { ScopedPickWebIdHandler } from './identity/oidc/ScopedPickWebIdHandler';\n// Provision components\nimport { ProvisionPodCreator } from './provision/ProvisionPodCreator';\nimport { ProvisionCodeCodec } from './provision/ProvisionCodeCodec';\nimport { LocalPodProvisioningService } from './provision/LocalPodProvisioningService';\n// Authorization components\nimport { AuthModeSelector } from './authorization/AuthModeSelector';\nexport type {\n DnsProvider,\n ListDnsRecordsInput,\n ListableDnsProvider,\n DeleteDnsRecordInput,\n DnsRecordSummary,\n UpsertDnsRecordInput,\n} from './dns/DnsProvider';\nexport type { EdgeNodeCertificateProvisioner } from './edge/EdgeNodeCertificateProvisioner';\nexport type { EdgeNodeTunnelManager } from './edge/interfaces/EdgeNodeTunnelManager';\nexport type { QuotaService, AccountQuota } from './quota/QuotaService';\nexport type { EntitlementProvider, AccountEntitlement } from './quota/EntitlementProvider';\n// Tunnel and Subdomain types\nexport type {\n TunnelProvider,\n TunnelConfig,\n TunnelSetupOptions,\n TunnelStatus,\n} from './tunnel/TunnelProvider';\nexport type {\n SubdomainRegistration,\n ConnectivityResult,\n SubdomainServiceOptions,\n} from './subdomain/SubdomainService';\n// Export the new AppStaticAssetHandler\nexport { AppStaticAssetHandler } from './http/AppStaticAssetHandler';\n\nexport { \n RepresentationPartialConvertingStore,\n MinioDataAccessor, \n QuadstoreSparqlDataAccessor,\n QuintStoreSparqlDataAccessor,\n MixDataAccessor,\n ConfigurableLoggerFactory,\n SparqlUpdateResourceStore,\n SubgraphQueryEngine,\n QuadstoreSparqlEngine,\n QuintstoreSparqlEngine,\n SubgraphSparqlHttpHandler,\n QuotaAdminHttpHandler,\n ClusterIngressRouter,\n ClusterWebSocketConfigurator,\n EdgeNodeDirectDebugHttpHandler,\n EdgeNodeProxyHttpHandler,\n RouterHttpHandler,\n RouterHttpRoute,\n TracingHandler,\n EdgeNodeCertificateHttpHandler,\n TerminalHttpHandler,\n ReservedSuffixIdentifierGenerator,\n DrizzleIndexedStorage,\n ValidatingIdentityProviderHttpHandler,\n PostgresKeyValueStorage,\n RedisKeyValueStorage,\n SqliteKeyValueStorage,\n DrizzleQuotaService,\n NoopQuotaService,\n HttpEntitlementProvider,\n NoopEntitlementProvider,\n PerAccountQuotaStrategy,\n TencentDnsProvider,\n EdgeNodeDnsCoordinator,\n Dns01CertificateProvisioner,\n SimpleEdgeNodeTunnelManager,\n NoopEdgeNodeTunnelManager,\n FrpTunnelManager,\n EdgeNodeHealthProbeService,\n EdgeNodeAgent,\n EdgeNodeCertificateService,\n AcmeCertificateManager,\n EdgeNodeModeDetector,\n ClusterIdentifierStrategy,\n UsageTrackingStore,\n CenterNodeRegistrationService,\n PodRoutingHttpHandler,\n ReactAppViewHandler,\n // Quint exports\n QuintStore,\n SqliteQuintStore,\n PgQuintStore,\n BaseQuintStore,\n // RDF engine exports\n RdfTermDictionary,\n RdfQuadIndex,\n RdfSparqlAdapter,\n ShadowRdfQuintStore,\n SolidRdfEngine,\n SolidRdfSparqlEngine,\n // Vector exports\n VectorStore,\n SqliteVectorStore,\n PostgresVectorStore,\n VectorHttpHandler,\n // Embedding exports\n ProviderRegistry,\n ProviderRegistryImpl,\n EmbeddingService,\n EmbeddingServiceImpl,\n CredentialReader,\n CredentialReaderImpl,\n // Tunnel and Subdomain exports\n CloudflareTunnelProvider,\n LocalTunnelProvider,\n SubdomainService,\n // IdP/SP separation exports\n MultiDomainIdentifierStrategy,\n SubdomainPodIdentifierStrategy,\n DisabledOidcHandler,\n DisabledIdentityProviderHandler,\n AutoDetectOidcHandler,\n AutoDetectIdentityProviderHandler,\n LoopbackClientIdAdapterFactory,\n ScopedPickWebIdHandler,\n UrlAwareRedisLocker,\n // Provision exports\n ProvisionPodCreator,\n ProvisionCodeCodec,\n LocalPodProvisioningService,\n // Authorization exports\n AuthModeSelector,\n};\n"]}
|
package/dist/main.js
CHANGED
|
@@ -225,18 +225,24 @@ async function startRuntime(options) {
|
|
|
225
225
|
if (externalOidcIssuer) {
|
|
226
226
|
logger.info(` - SP mode external IdP: ${externalOidcIssuer}`);
|
|
227
227
|
}
|
|
228
|
+
const cssRuntimeConfig = (0, css_process_1.createCssChildRuntimeConfig)({
|
|
229
|
+
configPath,
|
|
230
|
+
runtimeRoot: path_1.default.join(process.cwd(), '.xpod/runtime/legacy-css'),
|
|
231
|
+
externalOidcIssuer,
|
|
232
|
+
});
|
|
228
233
|
supervisor.register({
|
|
229
234
|
name: 'css',
|
|
230
235
|
command: childJsRuntime,
|
|
231
236
|
args: (0, css_process_1.buildCssArgs)({
|
|
232
237
|
cssBinary,
|
|
233
|
-
configPath,
|
|
238
|
+
configPath: cssRuntimeConfig.configPath,
|
|
234
239
|
cssModuleRoot,
|
|
235
240
|
cssPort,
|
|
236
241
|
baseUrl,
|
|
237
242
|
externalOidcIssuer,
|
|
238
243
|
}),
|
|
239
|
-
|
|
244
|
+
cwd: cssRuntimeConfig.cwd,
|
|
245
|
+
env: (0, css_process_1.buildCssChildEnv)(baseUrl, cssPort, externalOidcIssuer),
|
|
240
246
|
});
|
|
241
247
|
// API server: resolve the entry point dynamically
|
|
242
248
|
// In dev (ts-node): use ts-node to run the .ts file
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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","sourcesContent":["#!/usr/bin/env node\nimport './runtime/configure-drizzle-solid';\nimport { createHash } from 'crypto';\nimport { spawn } from 'child_process';\nimport fs from 'fs';\nimport path from 'path';\nimport { setGlobalLoggerFactory, getLoggerFor } from 'global-logger-factory';\nimport yargs from 'yargs';\nimport { hideBin } from 'yargs/helpers';\nimport { GatewayProxy, getFreePort, PACKAGE_ROOT } from './runtime';\nimport { buildApiChildEnv, buildCssArgs, buildCssChildEnv } from './runtime/css-process';\nimport { resolveExternalOidcIssuer } from './runtime/oidc-issuer';\nimport { ConfigurableLoggerFactory } from './logging/ConfigurableLoggerFactory';\nimport { Supervisor } from './supervisor';\n\ninterface RuntimeRecord {\n schemaVersion: '1.0';\n pid: number;\n mode: 'local' | 'cloud';\n port: number;\n baseUrl: string;\n publicUrl?: string;\n envPath?: string;\n configPath: string;\n startTime: string;\n}\n\ninterface HealthReport {\n schemaVersion: '1.0';\n healthy: boolean;\n checks: {\n gateway: 'pass' | 'fail';\n css: 'pass' | 'fail';\n api: 'pass' | 'fail';\n };\n timestamp: string;\n}\n\ninterface RunOptions {\n mode?: 'local' | 'cloud';\n config?: string;\n env?: string;\n port?: number;\n host?: string;\n}\n\nconst EXIT_OK = 0;\nconst EXIT_NOT_RUNNING = 10;\nconst EXIT_CONFIG_ERROR = 20;\nconst EXIT_INTERNAL_ERROR = 50;\n\nlet logger = getLoggerFor('Main');\nconst childJsRuntime = typeof (globalThis as { Bun?: unknown }).Bun !== 'undefined'\n ? (process.env.XPOD_NODE_BINARY ?? 'node')\n : process.execPath;\n\nfunction initLogger(): void {\n const loggerFactory = new ConfigurableLoggerFactory(process.env.CSS_LOGGING_LEVEL || 'info', {\n fileName: path.join(process.cwd(), 'logs/xpod-%DATE%.log'),\n showLocation: true,\n });\n setGlobalLoggerFactory(loggerFactory);\n logger = getLoggerFor('Main');\n}\n\nfunction loadEnvFile(envPath: string): void {\n if (!fs.existsSync(envPath)) {\n throw new Error(`Env file not found: ${envPath}`);\n }\n\n const content = fs.readFileSync(envPath, 'utf-8');\n for (const line of content.split('\\n')) {\n const trimmed = line.trim();\n if (!trimmed || trimmed.startsWith('#')) continue;\n\n const eqIndex = trimmed.indexOf('=');\n if (eqIndex === -1) continue;\n\n const key = trimmed.slice(0, eqIndex).trim();\n let value = trimmed.slice(eqIndex + 1).trim();\n if ((value.startsWith('\"') && value.endsWith('\"')) ||\n (value.startsWith(\"'\") && value.endsWith(\"'\"))) {\n value = value.slice(1, -1);\n }\n\n // Only set if not already defined — CLI / parent env takes precedence.\n if (process.env[key] === undefined) {\n process.env[key] = value;\n }\n }\n}\n\nfunction ensureTrailingSlash(url: string): string {\n return url.endsWith('/') ? url : `${url}/`;\n}\n\nfunction resolveInstanceKey(envPath?: string): string {\n if (!envPath) {\n return 'default';\n }\n const abs = path.resolve(envPath);\n return createHash('sha256').update(abs).digest('hex').slice(0, 12);\n}\n\nfunction getRuntimeFilePath(envPath?: string): string {\n const dir = path.join(process.cwd(), '.xpod/runtime');\n return path.join(dir, `${resolveInstanceKey(envPath)}.json`);\n}\n\nfunction saveRuntimeRecord(record: RuntimeRecord): void {\n const filePath = getRuntimeFilePath(record.envPath);\n fs.mkdirSync(path.dirname(filePath), { recursive: true });\n fs.writeFileSync(filePath, JSON.stringify(record, null, 2), 'utf-8');\n}\n\nfunction loadRuntimeRecord(envPath?: string): RuntimeRecord | undefined {\n const filePath = getRuntimeFilePath(envPath);\n if (!fs.existsSync(filePath)) {\n return undefined;\n }\n\n try {\n return JSON.parse(fs.readFileSync(filePath, 'utf-8')) as RuntimeRecord;\n } catch {\n return undefined;\n }\n}\n\nfunction deleteRuntimeRecord(envPath?: string): void {\n const filePath = getRuntimeFilePath(envPath);\n if (fs.existsSync(filePath)) {\n fs.unlinkSync(filePath);\n }\n}\n\nfunction isProcessRunning(pid?: number): boolean {\n if (!pid || pid <= 0) {\n return false;\n }\n\n try {\n process.kill(pid, 0);\n return true;\n } catch {\n return false;\n }\n}\n\nfunction getVersion(): string {\n try {\n const pkg = JSON.parse(fs.readFileSync(path.join(PACKAGE_ROOT, 'package.json'), 'utf-8')) as { version?: string };\n return pkg.version ?? 'unknown';\n } catch {\n return 'unknown';\n }\n}\n\nasync function checkGateway(baseUrl: string): Promise<boolean> {\n try {\n // Gateway internal endpoints are exposed under /service/* (legacy /_gateway/* has been removed).\n const res = await fetch(new URL('/service/status', ensureTrailingSlash(baseUrl)), {\n signal: AbortSignal.timeout(3000),\n });\n return res.ok;\n } catch {\n return false;\n }\n}\nasync function checkCss(baseUrl: string): Promise<boolean> {\n try {\n // Prefer supervisor status rather than probing CSS routes which can fail on identifier-space/host mismatch.\n const res = await fetch(new URL('/service/status', ensureTrailingSlash(baseUrl)), {\n signal: AbortSignal.timeout(3000),\n });\n if (!res.ok) {\n return false;\n }\n const items = (await res.json()) as Array<{ name?: string; status?: string }>;\n const css = items.find((it) => it?.name === 'css');\n return css?.status === 'running';\n } catch {\n return false;\n }\n}\nasync function checkApi(baseUrl: string): Promise<boolean> {\n try {\n const res = await fetch(new URL('/service/status', ensureTrailingSlash(baseUrl)), {\n signal: AbortSignal.timeout(3000),\n });\n if (!res.ok) {\n return false;\n }\n const items = (await res.json()) as Array<{ name?: string; status?: string }>;\n const api = items.find((it) => it?.name === 'api');\n return api?.status === 'running';\n } catch {\n return false;\n }\n}\nasync function buildHealth(baseUrl: string): Promise<HealthReport> {\n const gateway = await checkGateway(baseUrl);\n const css = await checkCss(baseUrl);\n const api = await checkApi(baseUrl);\n\n return {\n schemaVersion: '1.0',\n healthy: gateway && css && api,\n checks: {\n gateway: gateway ? 'pass' : 'fail',\n css: css ? 'pass' : 'fail',\n api: api ? 'pass' : 'fail',\n },\n timestamp: new Date().toISOString(),\n };\n}\n\nfunction outputJson(payload: unknown): void {\n process.stdout.write(`${JSON.stringify(payload)}\\n`);\n}\n\nfunction exitForCliError(error: unknown): never {\n const message = error instanceof Error ? error.message : String(error);\n console.error(`Failed to start: ${message}`);\n if (message.includes('Env file not found:') || message.includes('Config file not found:')) {\n process.exit(EXIT_CONFIG_ERROR);\n }\n process.exit(EXIT_INTERNAL_ERROR);\n}\n\nasync function startRuntime(options: RunOptions): Promise<void> {\n initLogger();\n const resolvedEnvPath = options.env ? path.resolve(options.env) : undefined;\n if (resolvedEnvPath) {\n process.env.XPOD_ENV_PATH = resolvedEnvPath;\n loadEnvFile(resolvedEnvPath);\n }\n\n const requestedPort = options.port !== undefined ? Number(options.port) : Number.NaN;\n const mainPort = Number.isFinite(requestedPort)\n ? requestedPort\n : parseInt(process.env.XPOD_PORT ?? process.env.PORT ?? '3000', 10);\n const host = options.host ?? '127.0.0.1';\n\n let configPath = path.join(PACKAGE_ROOT, 'config/local.json');\n if (options.config) {\n configPath = options.config;\n } else if (options.mode) {\n configPath = path.join(PACKAGE_ROOT, `config/${options.mode}.json`);\n }\n\n if (!fs.existsSync(configPath)) {\n throw new Error(`Config file not found: ${configPath}`);\n }\n\n const mode: 'local' | 'cloud' = options.mode ?? (configPath.includes('cloud') ? 'cloud' : 'local');\n\n const baseUrl = ensureTrailingSlash(process.env.CSS_BASE_URL || `http://${host}:${mainPort}`);\n const cssPort = await getFreePort(mainPort + 1, host);\n const apiPort = await getFreePort(cssPort + 1, host);\n\n // Make sure GatewayProxy has access to the effective baseUrl for host rewrites.\n process.env.CSS_BASE_URL = baseUrl;\n\n logger.info('Orchestration Plan:');\n logger.info(` - Main Entry: ${baseUrl} (${host}:${mainPort})`);\n logger.info(` - CSS (internal): http://localhost:${cssPort}`);\n logger.info(` - API (internal): http://localhost:${apiPort}`);\n\n const supervisor = new Supervisor();\n const cssBinary = require.resolve('@solid/community-server/bin/server.js');\n const cssModuleRoot = path.dirname(require.resolve('@solid/community-server/package.json'));\n const externalOidcIssuer = resolveExternalOidcIssuer(process.env);\n if (externalOidcIssuer) {\n logger.info(` - SP mode external IdP: ${externalOidcIssuer}`);\n }\n\n supervisor.register({\n name: 'css',\n command: childJsRuntime,\n args: buildCssArgs({\n cssBinary,\n configPath,\n cssModuleRoot,\n cssPort,\n baseUrl,\n externalOidcIssuer,\n }),\n env: buildCssChildEnv(baseUrl, cssPort),\n });\n\n // API server: resolve the entry point dynamically\n // In dev (ts-node): use ts-node to run the .ts file\n // In production: use the compiled .js file\n const isDevMode = __filename.endsWith('.ts');\n const apiArgs = isDevMode\n ? [\n '-r',\n require.resolve('ts-node/register/transpile-only'),\n path.join(__dirname, 'api', 'main.ts'),\n ]\n : [path.join(__dirname, 'api', 'main.js')];\n\n supervisor.register({\n name: 'api',\n command: childJsRuntime,\n args: apiArgs,\n env: buildApiChildEnv({\n apiPort,\n mainPort,\n cssPort,\n baseUrl,\n externalOidcIssuer,\n }),\n });\n\n // Bind host: use CLI --host value; if not explicitly set, derive from the public Base URL.\n // In local dev/sandboxed environments, binding 0.0.0.0 can fail with EPERM.\n const bindHost = options.host || (() => {\n try {\n const hostname = new URL(baseUrl).hostname;\n if (hostname === 'localhost') return '127.0.0.1';\n if (hostname === '::1') return '::1';\n if (hostname.startsWith('127.')) return hostname;\n } catch {\n // ignore\n }\n return '0.0.0.0';\n })();\n\n const proxy = new GatewayProxy(mainPort, supervisor, bindHost, {\n exitOnStop: true,\n baseUrl,\n });\n proxy.setTargets({\n css: `http://localhost:${cssPort}`,\n api: `http://localhost:${apiPort}`,\n });\n\n await supervisor.startAll();\n await proxy.start();\n\n let restarting = false;\n const restart = async(): Promise<void> => {\n if (restarting) {\n return;\n }\n restarting = true;\n\n logger.info('Received SIGUSR1, restarting...');\n\n // Remove runtime record first so status does not point at a process going down.\n deleteRuntimeRecord(resolvedEnvPath);\n\n try {\n await proxy.stop();\n } catch (err) {\n logger.warn(`Failed to stop gateway server: ${String(err)}`);\n }\n\n await supervisor.stopAll();\n\n // Reload env from file (dashboard writes into the env file).\n if (resolvedEnvPath) {\n loadEnvFile(resolvedEnvPath);\n process.env.XPOD_ENV_PATH = resolvedEnvPath;\n }\n\n const child = spawn(process.execPath, process.argv.slice(1), {\n stdio: 'inherit',\n env: process.env,\n });\n child.unref();\n process.exit(EXIT_OK);\n };\n\n process.on('SIGUSR1', () => {\n void restart();\n });\n\n saveRuntimeRecord({\n schemaVersion: '1.0',\n pid: process.pid,\n mode,\n port: mainPort,\n baseUrl,\n publicUrl: process.env.CSS_PUBLIC_URL,\n envPath: resolvedEnvPath,\n configPath,\n startTime: new Date().toISOString(),\n });\n\n const shutdown = async(signal: string): Promise<void> => {\n logger.info(`Received ${signal}, shutting down...`);\n deleteRuntimeRecord(resolvedEnvPath);\n await proxy.stop();\n await supervisor.stopAll();\n process.exit(EXIT_OK);\n };\n\n process.on('SIGTERM', () => shutdown('SIGTERM'));\n process.on('SIGINT', () => shutdown('SIGINT'));\n}\n\nasync function commandStatus(envPath?: string, asJson = false): Promise<void> {\n const resolvedEnvPath = envPath ? path.resolve(envPath) : undefined;\n const runtime = loadRuntimeRecord(resolvedEnvPath);\n if (!runtime) {\n const payload = {\n schemaVersion: '1.0',\n running: false,\n ready: false,\n baseUrl: '',\n port: 0,\n mode: 'local',\n version: getVersion(),\n };\n if (asJson) {\n outputJson(payload);\n } else {\n console.log('xpod is not running');\n }\n process.exit(EXIT_NOT_RUNNING);\n }\n\n const running = isProcessRunning(runtime.pid);\n const health = running ? await buildHealth(runtime.baseUrl) : undefined;\n\n const payload = {\n schemaVersion: '1.0',\n running,\n ready: Boolean(health?.healthy),\n baseUrl: runtime.baseUrl,\n publicUrl: runtime.publicUrl,\n port: runtime.port,\n mode: runtime.mode,\n pid: running ? runtime.pid : undefined,\n version: getVersion(),\n };\n\n if (asJson) {\n outputJson(payload);\n } else {\n console.log(payload);\n }\n\n process.exit(running ? EXIT_OK : EXIT_NOT_RUNNING);\n}\n\nasync function commandHealth(envPath?: string, asJson = false): Promise<void> {\n const resolvedEnvPath = envPath ? path.resolve(envPath) : undefined;\n const runtime = loadRuntimeRecord(resolvedEnvPath);\n if (!runtime || !isProcessRunning(runtime.pid)) {\n const payload: HealthReport = {\n schemaVersion: '1.0',\n healthy: false,\n checks: {\n gateway: 'fail',\n css: 'fail',\n api: 'fail',\n },\n timestamp: new Date().toISOString(),\n };\n\n if (asJson) {\n outputJson(payload);\n } else {\n console.log(payload);\n }\n process.exit(EXIT_NOT_RUNNING);\n }\n\n const payload = await buildHealth(runtime.baseUrl);\n if (asJson) {\n outputJson(payload);\n } else {\n console.log(payload);\n }\n process.exit(payload.healthy ? EXIT_OK : EXIT_INTERNAL_ERROR);\n}\n\nasync function commandStop(envPath?: string, timeoutMs = 10000, asJson = false): Promise<void> {\n const resolvedEnvPath = envPath ? path.resolve(envPath) : undefined;\n const runtime = loadRuntimeRecord(resolvedEnvPath);\n\n if (!runtime || !isProcessRunning(runtime.pid)) {\n deleteRuntimeRecord(resolvedEnvPath);\n const payload = { stopped: true, running: false };\n if (asJson) {\n outputJson(payload);\n } else {\n console.log('xpod is already stopped');\n }\n process.exit(EXIT_OK);\n }\n\n process.kill(runtime.pid, 'SIGTERM');\n const start = Date.now();\n while (Date.now() - start < timeoutMs) {\n if (!isProcessRunning(runtime.pid)) {\n deleteRuntimeRecord(resolvedEnvPath);\n const payload = { stopped: true, pid: runtime.pid };\n if (asJson) {\n outputJson(payload);\n } else {\n console.log(`xpod stopped (pid=${runtime.pid})`);\n }\n process.exit(EXIT_OK);\n }\n await new Promise((resolve) => setTimeout(resolve, 200));\n }\n\n const payload = {\n stopped: false,\n pid: runtime.pid,\n message: `timeout waiting for process to stop (${timeoutMs}ms)`,\n };\n if (asJson) {\n outputJson(payload);\n } else {\n console.error(payload.message);\n }\n process.exit(EXIT_INTERNAL_ERROR);\n}\n\nasync function main(): Promise<void> {\n const rawArgs = hideBin(process.argv);\n const commandMode = [ 'run', 'status', 'health', 'stop' ].includes(rawArgs[0] ?? '');\n\n if (!commandMode) {\n // Backward-compatible legacy invocation: xpod --mode local --port 3000\n const argv = await yargs(rawArgs)\n .option('mode', { alias: 'm', type: 'string', choices: [ 'local', 'cloud' ], description: 'Run mode' })\n .option('config', { alias: 'c', type: 'string', description: 'Path to config file (overrides --mode)' })\n .option('env', { alias: 'e', type: 'string', description: 'Path to .env file' })\n .option('port', { alias: 'p', type: 'number', description: 'Gateway port', default: 3000 })\n .option('host', { type: 'string', description: 'Gateway bind host' })\n .help()\n .parse();\n\n try {\n await startRuntime({\n mode: argv.mode as 'local' | 'cloud' | undefined,\n config: argv.config,\n env: argv.env,\n port: argv.port,\n host: argv.host,\n });\n } catch (error: unknown) {\n exitForCliError(error);\n }\n return;\n }\n\n await yargs(rawArgs)\n .scriptName('xpod')\n .command(\n 'run',\n 'Run xpod runtime',\n (y) => y\n .option('env', { alias: 'e', type: 'string', description: 'Path to .env file' })\n .option('mode', { alias: 'm', type: 'string', choices: [ 'local', 'cloud' ], description: 'Run mode' })\n .option('config', { alias: 'c', type: 'string', description: 'Path to config file (overrides --mode)' })\n .option('port', { alias: 'p', type: 'number', description: 'Gateway port', default: 3000 })\n .option('host', { type: 'string', description: 'Gateway bind host' }),\n async(argv) => {\n try {\n await startRuntime({\n mode: argv.mode as 'local' | 'cloud' | undefined,\n config: argv.config,\n env: argv.env,\n port: argv.port,\n host: argv.host,\n });\n } catch (error: unknown) {\n exitForCliError(error);\n }\n },\n )\n .command(\n 'status',\n 'Show runtime status',\n (y) => y\n .option('env', { alias: 'e', type: 'string', description: 'Path to .env file' })\n .option('json', { type: 'boolean', default: false, description: 'Output JSON' }),\n async(argv) => {\n await commandStatus(argv.env, Boolean(argv.json));\n },\n )\n .command(\n 'health',\n 'Show runtime health',\n (y) => y\n .option('env', { alias: 'e', type: 'string', description: 'Path to .env file' })\n .option('json', { type: 'boolean', default: false, description: 'Output JSON' }),\n async(argv) => {\n await commandHealth(argv.env, Boolean(argv.json));\n },\n )\n .command(\n 'stop',\n 'Stop runtime process',\n (y) => y\n .option('env', { alias: 'e', type: 'string', description: 'Path to .env file' })\n .option('timeout', { type: 'number', default: 10000, description: 'Stop timeout in milliseconds' })\n .option('json', { type: 'boolean', default: false, description: 'Output JSON' }),\n async(argv) => {\n await commandStop(argv.env, argv.timeout as number, Boolean(argv.json));\n },\n )\n .demandCommand(1)\n .strict()\n .help()\n .parseAsync();\n}\n\nmain().catch(exitForCliError);\n"]}
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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","sourcesContent":["#!/usr/bin/env node\nimport './runtime/configure-drizzle-solid';\nimport { createHash } from 'crypto';\nimport { spawn } from 'child_process';\nimport fs from 'fs';\nimport path from 'path';\nimport { setGlobalLoggerFactory, getLoggerFor } from 'global-logger-factory';\nimport yargs from 'yargs';\nimport { hideBin } from 'yargs/helpers';\nimport { GatewayProxy, getFreePort, PACKAGE_ROOT } from './runtime';\nimport { buildApiChildEnv, buildCssArgs, buildCssChildEnv, createCssChildRuntimeConfig } from './runtime/css-process';\nimport { resolveExternalOidcIssuer } from './runtime/oidc-issuer';\nimport { ConfigurableLoggerFactory } from './logging/ConfigurableLoggerFactory';\nimport { Supervisor } from './supervisor';\n\ninterface RuntimeRecord {\n schemaVersion: '1.0';\n pid: number;\n mode: 'local' | 'cloud';\n port: number;\n baseUrl: string;\n publicUrl?: string;\n envPath?: string;\n configPath: string;\n startTime: string;\n}\n\ninterface HealthReport {\n schemaVersion: '1.0';\n healthy: boolean;\n checks: {\n gateway: 'pass' | 'fail';\n css: 'pass' | 'fail';\n api: 'pass' | 'fail';\n };\n timestamp: string;\n}\n\ninterface RunOptions {\n mode?: 'local' | 'cloud';\n config?: string;\n env?: string;\n port?: number;\n host?: string;\n}\n\nconst EXIT_OK = 0;\nconst EXIT_NOT_RUNNING = 10;\nconst EXIT_CONFIG_ERROR = 20;\nconst EXIT_INTERNAL_ERROR = 50;\n\nlet logger = getLoggerFor('Main');\nconst childJsRuntime = typeof (globalThis as { Bun?: unknown }).Bun !== 'undefined'\n ? (process.env.XPOD_NODE_BINARY ?? 'node')\n : process.execPath;\n\nfunction initLogger(): void {\n const loggerFactory = new ConfigurableLoggerFactory(process.env.CSS_LOGGING_LEVEL || 'info', {\n fileName: path.join(process.cwd(), 'logs/xpod-%DATE%.log'),\n showLocation: true,\n });\n setGlobalLoggerFactory(loggerFactory);\n logger = getLoggerFor('Main');\n}\n\nfunction loadEnvFile(envPath: string): void {\n if (!fs.existsSync(envPath)) {\n throw new Error(`Env file not found: ${envPath}`);\n }\n\n const content = fs.readFileSync(envPath, 'utf-8');\n for (const line of content.split('\\n')) {\n const trimmed = line.trim();\n if (!trimmed || trimmed.startsWith('#')) continue;\n\n const eqIndex = trimmed.indexOf('=');\n if (eqIndex === -1) continue;\n\n const key = trimmed.slice(0, eqIndex).trim();\n let value = trimmed.slice(eqIndex + 1).trim();\n if ((value.startsWith('\"') && value.endsWith('\"')) ||\n (value.startsWith(\"'\") && value.endsWith(\"'\"))) {\n value = value.slice(1, -1);\n }\n\n // Only set if not already defined — CLI / parent env takes precedence.\n if (process.env[key] === undefined) {\n process.env[key] = value;\n }\n }\n}\n\nfunction ensureTrailingSlash(url: string): string {\n return url.endsWith('/') ? url : `${url}/`;\n}\n\nfunction resolveInstanceKey(envPath?: string): string {\n if (!envPath) {\n return 'default';\n }\n const abs = path.resolve(envPath);\n return createHash('sha256').update(abs).digest('hex').slice(0, 12);\n}\n\nfunction getRuntimeFilePath(envPath?: string): string {\n const dir = path.join(process.cwd(), '.xpod/runtime');\n return path.join(dir, `${resolveInstanceKey(envPath)}.json`);\n}\n\nfunction saveRuntimeRecord(record: RuntimeRecord): void {\n const filePath = getRuntimeFilePath(record.envPath);\n fs.mkdirSync(path.dirname(filePath), { recursive: true });\n fs.writeFileSync(filePath, JSON.stringify(record, null, 2), 'utf-8');\n}\n\nfunction loadRuntimeRecord(envPath?: string): RuntimeRecord | undefined {\n const filePath = getRuntimeFilePath(envPath);\n if (!fs.existsSync(filePath)) {\n return undefined;\n }\n\n try {\n return JSON.parse(fs.readFileSync(filePath, 'utf-8')) as RuntimeRecord;\n } catch {\n return undefined;\n }\n}\n\nfunction deleteRuntimeRecord(envPath?: string): void {\n const filePath = getRuntimeFilePath(envPath);\n if (fs.existsSync(filePath)) {\n fs.unlinkSync(filePath);\n }\n}\n\nfunction isProcessRunning(pid?: number): boolean {\n if (!pid || pid <= 0) {\n return false;\n }\n\n try {\n process.kill(pid, 0);\n return true;\n } catch {\n return false;\n }\n}\n\nfunction getVersion(): string {\n try {\n const pkg = JSON.parse(fs.readFileSync(path.join(PACKAGE_ROOT, 'package.json'), 'utf-8')) as { version?: string };\n return pkg.version ?? 'unknown';\n } catch {\n return 'unknown';\n }\n}\n\nasync function checkGateway(baseUrl: string): Promise<boolean> {\n try {\n // Gateway internal endpoints are exposed under /service/* (legacy /_gateway/* has been removed).\n const res = await fetch(new URL('/service/status', ensureTrailingSlash(baseUrl)), {\n signal: AbortSignal.timeout(3000),\n });\n return res.ok;\n } catch {\n return false;\n }\n}\nasync function checkCss(baseUrl: string): Promise<boolean> {\n try {\n // Prefer supervisor status rather than probing CSS routes which can fail on identifier-space/host mismatch.\n const res = await fetch(new URL('/service/status', ensureTrailingSlash(baseUrl)), {\n signal: AbortSignal.timeout(3000),\n });\n if (!res.ok) {\n return false;\n }\n const items = (await res.json()) as Array<{ name?: string; status?: string }>;\n const css = items.find((it) => it?.name === 'css');\n return css?.status === 'running';\n } catch {\n return false;\n }\n}\nasync function checkApi(baseUrl: string): Promise<boolean> {\n try {\n const res = await fetch(new URL('/service/status', ensureTrailingSlash(baseUrl)), {\n signal: AbortSignal.timeout(3000),\n });\n if (!res.ok) {\n return false;\n }\n const items = (await res.json()) as Array<{ name?: string; status?: string }>;\n const api = items.find((it) => it?.name === 'api');\n return api?.status === 'running';\n } catch {\n return false;\n }\n}\nasync function buildHealth(baseUrl: string): Promise<HealthReport> {\n const gateway = await checkGateway(baseUrl);\n const css = await checkCss(baseUrl);\n const api = await checkApi(baseUrl);\n\n return {\n schemaVersion: '1.0',\n healthy: gateway && css && api,\n checks: {\n gateway: gateway ? 'pass' : 'fail',\n css: css ? 'pass' : 'fail',\n api: api ? 'pass' : 'fail',\n },\n timestamp: new Date().toISOString(),\n };\n}\n\nfunction outputJson(payload: unknown): void {\n process.stdout.write(`${JSON.stringify(payload)}\\n`);\n}\n\nfunction exitForCliError(error: unknown): never {\n const message = error instanceof Error ? error.message : String(error);\n console.error(`Failed to start: ${message}`);\n if (message.includes('Env file not found:') || message.includes('Config file not found:')) {\n process.exit(EXIT_CONFIG_ERROR);\n }\n process.exit(EXIT_INTERNAL_ERROR);\n}\n\nasync function startRuntime(options: RunOptions): Promise<void> {\n initLogger();\n const resolvedEnvPath = options.env ? path.resolve(options.env) : undefined;\n if (resolvedEnvPath) {\n process.env.XPOD_ENV_PATH = resolvedEnvPath;\n loadEnvFile(resolvedEnvPath);\n }\n\n const requestedPort = options.port !== undefined ? Number(options.port) : Number.NaN;\n const mainPort = Number.isFinite(requestedPort)\n ? requestedPort\n : parseInt(process.env.XPOD_PORT ?? process.env.PORT ?? '3000', 10);\n const host = options.host ?? '127.0.0.1';\n\n let configPath = path.join(PACKAGE_ROOT, 'config/local.json');\n if (options.config) {\n configPath = options.config;\n } else if (options.mode) {\n configPath = path.join(PACKAGE_ROOT, `config/${options.mode}.json`);\n }\n\n if (!fs.existsSync(configPath)) {\n throw new Error(`Config file not found: ${configPath}`);\n }\n\n const mode: 'local' | 'cloud' = options.mode ?? (configPath.includes('cloud') ? 'cloud' : 'local');\n\n const baseUrl = ensureTrailingSlash(process.env.CSS_BASE_URL || `http://${host}:${mainPort}`);\n const cssPort = await getFreePort(mainPort + 1, host);\n const apiPort = await getFreePort(cssPort + 1, host);\n\n // Make sure GatewayProxy has access to the effective baseUrl for host rewrites.\n process.env.CSS_BASE_URL = baseUrl;\n\n logger.info('Orchestration Plan:');\n logger.info(` - Main Entry: ${baseUrl} (${host}:${mainPort})`);\n logger.info(` - CSS (internal): http://localhost:${cssPort}`);\n logger.info(` - API (internal): http://localhost:${apiPort}`);\n\n const supervisor = new Supervisor();\n const cssBinary = require.resolve('@solid/community-server/bin/server.js');\n const cssModuleRoot = path.dirname(require.resolve('@solid/community-server/package.json'));\n const externalOidcIssuer = resolveExternalOidcIssuer(process.env);\n if (externalOidcIssuer) {\n logger.info(` - SP mode external IdP: ${externalOidcIssuer}`);\n }\n\n const cssRuntimeConfig = createCssChildRuntimeConfig({\n configPath,\n runtimeRoot: path.join(process.cwd(), '.xpod/runtime/legacy-css'),\n externalOidcIssuer,\n });\n\n supervisor.register({\n name: 'css',\n command: childJsRuntime,\n args: buildCssArgs({\n cssBinary,\n configPath: cssRuntimeConfig.configPath,\n cssModuleRoot,\n cssPort,\n baseUrl,\n externalOidcIssuer,\n }),\n cwd: cssRuntimeConfig.cwd,\n env: buildCssChildEnv(baseUrl, cssPort, externalOidcIssuer),\n });\n\n // API server: resolve the entry point dynamically\n // In dev (ts-node): use ts-node to run the .ts file\n // In production: use the compiled .js file\n const isDevMode = __filename.endsWith('.ts');\n const apiArgs = isDevMode\n ? [\n '-r',\n require.resolve('ts-node/register/transpile-only'),\n path.join(__dirname, 'api', 'main.ts'),\n ]\n : [path.join(__dirname, 'api', 'main.js')];\n\n supervisor.register({\n name: 'api',\n command: childJsRuntime,\n args: apiArgs,\n env: buildApiChildEnv({\n apiPort,\n mainPort,\n cssPort,\n baseUrl,\n externalOidcIssuer,\n }),\n });\n\n // Bind host: use CLI --host value; if not explicitly set, derive from the public Base URL.\n // In local dev/sandboxed environments, binding 0.0.0.0 can fail with EPERM.\n const bindHost = options.host || (() => {\n try {\n const hostname = new URL(baseUrl).hostname;\n if (hostname === 'localhost') return '127.0.0.1';\n if (hostname === '::1') return '::1';\n if (hostname.startsWith('127.')) return hostname;\n } catch {\n // ignore\n }\n return '0.0.0.0';\n })();\n\n const proxy = new GatewayProxy(mainPort, supervisor, bindHost, {\n exitOnStop: true,\n baseUrl,\n });\n proxy.setTargets({\n css: `http://localhost:${cssPort}`,\n api: `http://localhost:${apiPort}`,\n });\n\n await supervisor.startAll();\n await proxy.start();\n\n let restarting = false;\n const restart = async(): Promise<void> => {\n if (restarting) {\n return;\n }\n restarting = true;\n\n logger.info('Received SIGUSR1, restarting...');\n\n // Remove runtime record first so status does not point at a process going down.\n deleteRuntimeRecord(resolvedEnvPath);\n\n try {\n await proxy.stop();\n } catch (err) {\n logger.warn(`Failed to stop gateway server: ${String(err)}`);\n }\n\n await supervisor.stopAll();\n\n // Reload env from file (dashboard writes into the env file).\n if (resolvedEnvPath) {\n loadEnvFile(resolvedEnvPath);\n process.env.XPOD_ENV_PATH = resolvedEnvPath;\n }\n\n const child = spawn(process.execPath, process.argv.slice(1), {\n stdio: 'inherit',\n env: process.env,\n });\n child.unref();\n process.exit(EXIT_OK);\n };\n\n process.on('SIGUSR1', () => {\n void restart();\n });\n\n saveRuntimeRecord({\n schemaVersion: '1.0',\n pid: process.pid,\n mode,\n port: mainPort,\n baseUrl,\n publicUrl: process.env.CSS_PUBLIC_URL,\n envPath: resolvedEnvPath,\n configPath,\n startTime: new Date().toISOString(),\n });\n\n const shutdown = async(signal: string): Promise<void> => {\n logger.info(`Received ${signal}, shutting down...`);\n deleteRuntimeRecord(resolvedEnvPath);\n await proxy.stop();\n await supervisor.stopAll();\n process.exit(EXIT_OK);\n };\n\n process.on('SIGTERM', () => shutdown('SIGTERM'));\n process.on('SIGINT', () => shutdown('SIGINT'));\n}\n\nasync function commandStatus(envPath?: string, asJson = false): Promise<void> {\n const resolvedEnvPath = envPath ? path.resolve(envPath) : undefined;\n const runtime = loadRuntimeRecord(resolvedEnvPath);\n if (!runtime) {\n const payload = {\n schemaVersion: '1.0',\n running: false,\n ready: false,\n baseUrl: '',\n port: 0,\n mode: 'local',\n version: getVersion(),\n };\n if (asJson) {\n outputJson(payload);\n } else {\n console.log('xpod is not running');\n }\n process.exit(EXIT_NOT_RUNNING);\n }\n\n const running = isProcessRunning(runtime.pid);\n const health = running ? await buildHealth(runtime.baseUrl) : undefined;\n\n const payload = {\n schemaVersion: '1.0',\n running,\n ready: Boolean(health?.healthy),\n baseUrl: runtime.baseUrl,\n publicUrl: runtime.publicUrl,\n port: runtime.port,\n mode: runtime.mode,\n pid: running ? runtime.pid : undefined,\n version: getVersion(),\n };\n\n if (asJson) {\n outputJson(payload);\n } else {\n console.log(payload);\n }\n\n process.exit(running ? EXIT_OK : EXIT_NOT_RUNNING);\n}\n\nasync function commandHealth(envPath?: string, asJson = false): Promise<void> {\n const resolvedEnvPath = envPath ? path.resolve(envPath) : undefined;\n const runtime = loadRuntimeRecord(resolvedEnvPath);\n if (!runtime || !isProcessRunning(runtime.pid)) {\n const payload: HealthReport = {\n schemaVersion: '1.0',\n healthy: false,\n checks: {\n gateway: 'fail',\n css: 'fail',\n api: 'fail',\n },\n timestamp: new Date().toISOString(),\n };\n\n if (asJson) {\n outputJson(payload);\n } else {\n console.log(payload);\n }\n process.exit(EXIT_NOT_RUNNING);\n }\n\n const payload = await buildHealth(runtime.baseUrl);\n if (asJson) {\n outputJson(payload);\n } else {\n console.log(payload);\n }\n process.exit(payload.healthy ? EXIT_OK : EXIT_INTERNAL_ERROR);\n}\n\nasync function commandStop(envPath?: string, timeoutMs = 10000, asJson = false): Promise<void> {\n const resolvedEnvPath = envPath ? path.resolve(envPath) : undefined;\n const runtime = loadRuntimeRecord(resolvedEnvPath);\n\n if (!runtime || !isProcessRunning(runtime.pid)) {\n deleteRuntimeRecord(resolvedEnvPath);\n const payload = { stopped: true, running: false };\n if (asJson) {\n outputJson(payload);\n } else {\n console.log('xpod is already stopped');\n }\n process.exit(EXIT_OK);\n }\n\n process.kill(runtime.pid, 'SIGTERM');\n const start = Date.now();\n while (Date.now() - start < timeoutMs) {\n if (!isProcessRunning(runtime.pid)) {\n deleteRuntimeRecord(resolvedEnvPath);\n const payload = { stopped: true, pid: runtime.pid };\n if (asJson) {\n outputJson(payload);\n } else {\n console.log(`xpod stopped (pid=${runtime.pid})`);\n }\n process.exit(EXIT_OK);\n }\n await new Promise((resolve) => setTimeout(resolve, 200));\n }\n\n const payload = {\n stopped: false,\n pid: runtime.pid,\n message: `timeout waiting for process to stop (${timeoutMs}ms)`,\n };\n if (asJson) {\n outputJson(payload);\n } else {\n console.error(payload.message);\n }\n process.exit(EXIT_INTERNAL_ERROR);\n}\n\nasync function main(): Promise<void> {\n const rawArgs = hideBin(process.argv);\n const commandMode = [ 'run', 'status', 'health', 'stop' ].includes(rawArgs[0] ?? '');\n\n if (!commandMode) {\n // Backward-compatible legacy invocation: xpod --mode local --port 3000\n const argv = await yargs(rawArgs)\n .option('mode', { alias: 'm', type: 'string', choices: [ 'local', 'cloud' ], description: 'Run mode' })\n .option('config', { alias: 'c', type: 'string', description: 'Path to config file (overrides --mode)' })\n .option('env', { alias: 'e', type: 'string', description: 'Path to .env file' })\n .option('port', { alias: 'p', type: 'number', description: 'Gateway port', default: 3000 })\n .option('host', { type: 'string', description: 'Gateway bind host' })\n .help()\n .parse();\n\n try {\n await startRuntime({\n mode: argv.mode as 'local' | 'cloud' | undefined,\n config: argv.config,\n env: argv.env,\n port: argv.port,\n host: argv.host,\n });\n } catch (error: unknown) {\n exitForCliError(error);\n }\n return;\n }\n\n await yargs(rawArgs)\n .scriptName('xpod')\n .command(\n 'run',\n 'Run xpod runtime',\n (y) => y\n .option('env', { alias: 'e', type: 'string', description: 'Path to .env file' })\n .option('mode', { alias: 'm', type: 'string', choices: [ 'local', 'cloud' ], description: 'Run mode' })\n .option('config', { alias: 'c', type: 'string', description: 'Path to config file (overrides --mode)' })\n .option('port', { alias: 'p', type: 'number', description: 'Gateway port', default: 3000 })\n .option('host', { type: 'string', description: 'Gateway bind host' }),\n async(argv) => {\n try {\n await startRuntime({\n mode: argv.mode as 'local' | 'cloud' | undefined,\n config: argv.config,\n env: argv.env,\n port: argv.port,\n host: argv.host,\n });\n } catch (error: unknown) {\n exitForCliError(error);\n }\n },\n )\n .command(\n 'status',\n 'Show runtime status',\n (y) => y\n .option('env', { alias: 'e', type: 'string', description: 'Path to .env file' })\n .option('json', { type: 'boolean', default: false, description: 'Output JSON' }),\n async(argv) => {\n await commandStatus(argv.env, Boolean(argv.json));\n },\n )\n .command(\n 'health',\n 'Show runtime health',\n (y) => y\n .option('env', { alias: 'e', type: 'string', description: 'Path to .env file' })\n .option('json', { type: 'boolean', default: false, description: 'Output JSON' }),\n async(argv) => {\n await commandHealth(argv.env, Boolean(argv.json));\n },\n )\n .command(\n 'stop',\n 'Stop runtime process',\n (y) => y\n .option('env', { alias: 'e', type: 'string', description: 'Path to .env file' })\n .option('timeout', { type: 'number', default: 10000, description: 'Stop timeout in milliseconds' })\n .option('json', { type: 'boolean', default: false, description: 'Output JSON' }),\n async(argv) => {\n await commandStop(argv.env, argv.timeout as number, Boolean(argv.json));\n },\n )\n .demandCommand(1)\n .strict()\n .help()\n .parseAsync();\n}\n\nmain().catch(exitForCliError);\n"]}
|
|
@@ -8,17 +8,16 @@
|
|
|
8
8
|
* - 没有 → 委托给原始 BasePodCreator(标准本地创建)
|
|
9
9
|
*/
|
|
10
10
|
import { BasePodCreator, type PodCreatorInput, type PodCreatorOutput, type BasePodCreatorArgs } from '@solid/community-server';
|
|
11
|
-
import type { WebIdProfileRepository } from '../identity/drizzle/WebIdProfileRepository';
|
|
12
11
|
export interface ProvisionPodCreatorArgs extends BasePodCreatorArgs {
|
|
13
12
|
/** 与 ProvisionHandler 使用相同的 baseUrl 派生签名密钥 */
|
|
14
13
|
provisionBaseUrl?: string;
|
|
15
|
-
/** Optional
|
|
16
|
-
|
|
14
|
+
/** Optional identity database connection string used to persist Pod-side storage facts. */
|
|
15
|
+
identityDbUrl?: string;
|
|
17
16
|
}
|
|
18
17
|
export declare class ProvisionPodCreator extends BasePodCreator {
|
|
19
18
|
private readonly provisionLogger;
|
|
20
19
|
private readonly codec;
|
|
21
|
-
private readonly
|
|
20
|
+
private readonly podLookupRepo?;
|
|
22
21
|
constructor(args: ProvisionPodCreatorArgs);
|
|
23
22
|
handle(input: PodCreatorInput): Promise<PodCreatorOutput>;
|
|
24
23
|
private handleStandardPodCreate;
|