@undefineds.co/xpod 0.3.5 → 0.3.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (253) hide show
  1. package/config/cli.json +1 -1
  2. package/config/cloud.json +54 -22
  3. package/config/local.json +56 -12
  4. package/config/resolver.json +10 -2
  5. package/config/xpod.base.json +50 -0
  6. package/config/xpod.json +8 -8
  7. package/dist/agents/config/resolve.js +10 -10
  8. package/dist/agents/config/resolve.js.map +1 -1
  9. package/dist/api/chatkit/index.d.ts +1 -1
  10. package/dist/api/chatkit/index.js.map +1 -1
  11. package/dist/api/chatkit/pod-store.d.ts +14 -11
  12. package/dist/api/chatkit/pod-store.js +114 -78
  13. package/dist/api/chatkit/pod-store.js.map +1 -1
  14. package/dist/api/chatkit/runtime/AcpAgentRuntime.js +1 -1
  15. package/dist/api/chatkit/runtime/AcpAgentRuntime.js.map +1 -1
  16. package/dist/api/chatkit/service.js +1 -1
  17. package/dist/api/chatkit/service.js.map +1 -1
  18. package/dist/api/chatkit/types.d.ts +11 -11
  19. package/dist/api/chatkit/types.js +3 -3
  20. package/dist/api/chatkit/types.js.map +1 -1
  21. package/dist/api/container/cloud.js +0 -8
  22. package/dist/api/container/cloud.js.map +1 -1
  23. package/dist/api/container/index.js +2 -1
  24. package/dist/api/container/index.js.map +1 -1
  25. package/dist/api/container/local.js +0 -7
  26. package/dist/api/container/local.js.map +1 -1
  27. package/dist/api/container/routes.js +3 -17
  28. package/dist/api/container/routes.js.map +1 -1
  29. package/dist/api/container/types.d.ts +0 -2
  30. package/dist/api/container/types.js.map +1 -1
  31. package/dist/api/handlers/PodManagementHandler.d.ts +3 -0
  32. package/dist/api/handlers/PodManagementHandler.js +71 -1
  33. package/dist/api/handlers/PodManagementHandler.js.map +1 -1
  34. package/dist/api/handlers/RunHandler.js +5 -5
  35. package/dist/api/handlers/RunHandler.js.map +1 -1
  36. package/dist/api/runs/AgentRuntimeTypes.d.ts +7 -8
  37. package/dist/api/runs/AgentRuntimeTypes.js.map +1 -1
  38. package/dist/api/runs/InngestRunExecutionBackend.d.ts +2 -2
  39. package/dist/api/runs/ManagedRunWorker.d.ts +1 -1
  40. package/dist/api/runs/ManagedRunWorker.js +6 -6
  41. package/dist/api/runs/ManagedRunWorker.js.map +1 -1
  42. package/dist/api/runs/PiAgentRuntimeDriver.d.ts +16 -1
  43. package/dist/api/runs/PiAgentRuntimeDriver.js +182 -23
  44. package/dist/api/runs/PiAgentRuntimeDriver.js.map +1 -1
  45. package/dist/api/runs/RunStateCenter.d.ts +3 -3
  46. package/dist/api/runs/RunStateCenter.js +13 -13
  47. package/dist/api/runs/RunStateCenter.js.map +1 -1
  48. package/dist/api/runs/store.d.ts +4 -4
  49. package/dist/api/runs/store.js +2 -2
  50. package/dist/api/runs/store.js.map +1 -1
  51. package/dist/api/service/VectorStoreService.d.ts +1 -1
  52. package/dist/api/service/VectorStoreService.js +16 -16
  53. package/dist/api/service/VectorStoreService.js.map +1 -1
  54. package/dist/api/tasks/InngestTaskScheduler.d.ts +4 -4
  55. package/dist/api/tasks/TaskMaterializer.d.ts +3 -3
  56. package/dist/api/tasks/TaskMaterializer.js +11 -11
  57. package/dist/api/tasks/TaskMaterializer.js.map +1 -1
  58. package/dist/api/tasks/TaskService.d.ts +3 -3
  59. package/dist/api/tasks/TaskService.js +11 -7
  60. package/dist/api/tasks/TaskService.js.map +1 -1
  61. package/dist/api/tasks/store.d.ts +10 -4
  62. package/dist/api/tasks/store.js +14 -4
  63. package/dist/api/tasks/store.js.map +1 -1
  64. package/dist/api/workspace/types.d.ts +3 -3
  65. package/dist/api/workspace/types.js +6 -6
  66. package/dist/api/workspace/types.js.map +1 -1
  67. package/dist/cli/commands/config.js +2 -2
  68. package/dist/cli/commands/config.js.map +1 -1
  69. package/dist/cli/commands/start.js +9 -3
  70. package/dist/cli/commands/start.js.map +1 -1
  71. package/dist/components/components.jsonld +8 -2
  72. package/dist/components/context.jsonld +302 -51
  73. package/dist/http/search/SearchHttpHandler.js +8 -8
  74. package/dist/http/search/SearchHttpHandler.js.map +1 -1
  75. package/dist/identity/drizzle/PodLookupRepository.d.ts +11 -1
  76. package/dist/identity/drizzle/PodLookupRepository.js +95 -4
  77. package/dist/identity/drizzle/PodLookupRepository.js.map +1 -1
  78. package/dist/identity/drizzle/db.js +4 -43
  79. package/dist/identity/drizzle/db.js.map +1 -1
  80. package/dist/identity/drizzle/schema.pg.d.ts +0 -5
  81. package/dist/identity/drizzle/schema.pg.js +2 -16
  82. package/dist/identity/drizzle/schema.pg.js.map +1 -1
  83. package/dist/identity/drizzle/schema.sqlite.d.ts +19 -176
  84. package/dist/identity/drizzle/schema.sqlite.js +2 -16
  85. package/dist/identity/drizzle/schema.sqlite.js.map +1 -1
  86. package/dist/identity/oidc/AutoDetectIdentityProviderHandler.d.ts +4 -4
  87. package/dist/identity/oidc/AutoDetectIdentityProviderHandler.js +7 -7
  88. package/dist/identity/oidc/AutoDetectIdentityProviderHandler.js.map +1 -1
  89. package/dist/identity/oidc/AutoDetectIdentityProviderHandler.jsonld +6 -6
  90. package/dist/identity/oidc/AutoDetectOidcHandler.d.ts +4 -4
  91. package/dist/identity/oidc/AutoDetectOidcHandler.js +6 -6
  92. package/dist/identity/oidc/AutoDetectOidcHandler.js.map +1 -1
  93. package/dist/identity/oidc/AutoDetectOidcHandler.jsonld +6 -6
  94. package/dist/identity/oidc/ScopedPickWebIdHandler.d.ts +37 -0
  95. package/dist/identity/oidc/ScopedPickWebIdHandler.js +211 -0
  96. package/dist/identity/oidc/ScopedPickWebIdHandler.js.map +1 -0
  97. package/dist/identity/oidc/ScopedPickWebIdHandler.jsonld +158 -0
  98. package/dist/index.d.ts +12 -2
  99. package/dist/index.js +16 -4
  100. package/dist/index.js.map +1 -1
  101. package/dist/main.js +8 -2
  102. package/dist/main.js.map +1 -1
  103. package/dist/provision/ProvisionPodCreator.d.ts +3 -4
  104. package/dist/provision/ProvisionPodCreator.js +8 -13
  105. package/dist/provision/ProvisionPodCreator.js.map +1 -1
  106. package/dist/provision/ProvisionPodCreator.jsonld +7 -7
  107. package/dist/runtime/Proxy.d.ts +0 -1
  108. package/dist/runtime/Proxy.js +0 -9
  109. package/dist/runtime/Proxy.js.map +1 -1
  110. package/dist/runtime/bootstrap.d.ts +1 -0
  111. package/dist/runtime/bootstrap.js +5 -2
  112. package/dist/runtime/bootstrap.js.map +1 -1
  113. package/dist/runtime/css-process.d.ts +12 -4
  114. package/dist/runtime/css-process.js +61 -14
  115. package/dist/runtime/css-process.js.map +1 -1
  116. package/dist/runtime/oidc-issuer.d.ts +3 -2
  117. package/dist/runtime/oidc-issuer.js +3 -2
  118. package/dist/runtime/oidc-issuer.js.map +1 -1
  119. package/dist/runtime/runtime-types.d.ts +1 -0
  120. package/dist/runtime/runtime-types.js.map +1 -1
  121. package/dist/solidfs/LocalFirstRdfRepresentationResolver.d.ts +21 -0
  122. package/dist/solidfs/LocalFirstRdfRepresentationResolver.js +38 -0
  123. package/dist/solidfs/LocalFirstRdfRepresentationResolver.js.map +1 -0
  124. package/dist/solidfs/LocalSolidFS.d.ts +18 -0
  125. package/dist/solidfs/LocalSolidFS.js +539 -0
  126. package/dist/solidfs/LocalSolidFS.js.map +1 -0
  127. package/dist/solidfs/PodSolidFsHttpClient.d.ts +16 -0
  128. package/dist/solidfs/PodSolidFsHttpClient.js +93 -0
  129. package/dist/solidfs/PodSolidFsHttpClient.js.map +1 -0
  130. package/dist/solidfs/PodSolidFsHydrator.d.ts +27 -0
  131. package/dist/solidfs/PodSolidFsHydrator.js +127 -0
  132. package/dist/solidfs/PodSolidFsHydrator.js.map +1 -0
  133. package/dist/solidfs/PodSolidFsSyncer.d.ts +21 -0
  134. package/dist/solidfs/PodSolidFsSyncer.js +78 -0
  135. package/dist/solidfs/PodSolidFsSyncer.js.map +1 -0
  136. package/dist/solidfs/RdfIndexSolidFsSyncer.d.ts +22 -0
  137. package/dist/solidfs/RdfIndexSolidFsSyncer.js +131 -0
  138. package/dist/solidfs/RdfIndexSolidFsSyncer.js.map +1 -0
  139. package/dist/solidfs/index.d.ts +7 -0
  140. package/dist/solidfs/index.js +24 -0
  141. package/dist/solidfs/index.js.map +1 -0
  142. package/dist/solidfs/types.d.ts +131 -0
  143. package/dist/solidfs/types.js +19 -0
  144. package/dist/solidfs/types.js.map +1 -0
  145. package/dist/storage/RepresentationPartialConvertingStore.js +6 -13
  146. package/dist/storage/RepresentationPartialConvertingStore.js.map +1 -1
  147. package/dist/storage/SparqlUpdateResourceStore.d.ts +4 -0
  148. package/dist/storage/SparqlUpdateResourceStore.js +13 -0
  149. package/dist/storage/SparqlUpdateResourceStore.js.map +1 -1
  150. package/dist/storage/SparqlUpdateResourceStore.jsonld +26 -0
  151. package/dist/storage/accessors/MinioDataAccessor.d.ts +2 -0
  152. package/dist/storage/accessors/MinioDataAccessor.js +13 -7
  153. package/dist/storage/accessors/MinioDataAccessor.js.map +1 -1
  154. package/dist/storage/accessors/MinioDataAccessor.jsonld +8 -0
  155. package/dist/storage/accessors/MixDataAccessor.d.ts +85 -4
  156. package/dist/storage/accessors/MixDataAccessor.js +511 -16
  157. package/dist/storage/accessors/MixDataAccessor.js.map +1 -1
  158. package/dist/storage/accessors/MixDataAccessor.jsonld +176 -1
  159. package/dist/storage/accessors/QuintStoreSparqlDataAccessor.d.ts +7 -0
  160. package/dist/storage/accessors/QuintStoreSparqlDataAccessor.js +72 -4
  161. package/dist/storage/accessors/QuintStoreSparqlDataAccessor.js.map +1 -1
  162. package/dist/storage/accessors/QuintStoreSparqlDataAccessor.jsonld +24 -0
  163. package/dist/storage/quint/BaseQuintStore.d.ts +3 -0
  164. package/dist/storage/quint/BaseQuintStore.js +51 -27
  165. package/dist/storage/quint/BaseQuintStore.js.map +1 -1
  166. package/dist/storage/quint/PgQuintStore.d.ts +1 -0
  167. package/dist/storage/quint/PgQuintStore.js +50 -32
  168. package/dist/storage/quint/PgQuintStore.js.map +1 -1
  169. package/dist/storage/quint/PgQuintStore.jsonld +4 -3
  170. package/dist/storage/quint/SqliteQuintStore.d.ts +5 -0
  171. package/dist/storage/quint/SqliteQuintStore.js +100 -0
  172. package/dist/storage/quint/SqliteQuintStore.js.map +1 -1
  173. package/dist/storage/quint/SqliteQuintStore.jsonld +20 -0
  174. package/dist/storage/quint/types.d.ts +16 -0
  175. package/dist/storage/quint/types.js.map +1 -1
  176. package/dist/storage/rdf/Rdf3xTripleIndex.d.ts +55 -0
  177. package/dist/storage/rdf/Rdf3xTripleIndex.js +1235 -0
  178. package/dist/storage/rdf/Rdf3xTripleIndex.js.map +1 -0
  179. package/dist/storage/rdf/RdfContentTypes.d.ts +9 -0
  180. package/dist/storage/rdf/RdfContentTypes.js +79 -0
  181. package/dist/storage/rdf/RdfContentTypes.js.map +1 -0
  182. package/dist/storage/rdf/RdfLocalQueryEngine.d.ts +76 -0
  183. package/dist/storage/rdf/RdfLocalQueryEngine.js +2636 -0
  184. package/dist/storage/rdf/RdfLocalQueryEngine.js.map +1 -0
  185. package/dist/storage/rdf/RdfQuadIndex.d.ts +98 -0
  186. package/dist/storage/rdf/RdfQuadIndex.js +1840 -0
  187. package/dist/storage/rdf/RdfQuadIndex.js.map +1 -0
  188. package/dist/storage/rdf/RdfQuadIndex.jsonld +416 -0
  189. package/dist/storage/rdf/RdfShadowComparator.d.ts +12 -0
  190. package/dist/storage/rdf/RdfShadowComparator.js +47 -0
  191. package/dist/storage/rdf/RdfShadowComparator.js.map +1 -0
  192. package/dist/storage/rdf/RdfSparqlAdapter.d.ts +147 -0
  193. package/dist/storage/rdf/RdfSparqlAdapter.js +2420 -0
  194. package/dist/storage/rdf/RdfSparqlAdapter.js.map +1 -0
  195. package/dist/storage/rdf/RdfSparqlAdapter.jsonld +414 -0
  196. package/dist/storage/rdf/RdfTermDictionary.d.ts +27 -0
  197. package/dist/storage/rdf/RdfTermDictionary.js +352 -0
  198. package/dist/storage/rdf/RdfTermDictionary.js.map +1 -0
  199. package/dist/storage/rdf/RdfTermDictionary.jsonld +114 -0
  200. package/dist/storage/rdf/RdfTermSemantics.d.ts +6 -0
  201. package/dist/storage/rdf/RdfTermSemantics.js +40 -0
  202. package/dist/storage/rdf/RdfTermSemantics.js.map +1 -0
  203. package/dist/storage/rdf/RdfTextIndex.d.ts +23 -0
  204. package/dist/storage/rdf/RdfTextIndex.js +569 -0
  205. package/dist/storage/rdf/RdfTextIndex.js.map +1 -0
  206. package/dist/storage/rdf/RdfVectorIndex.d.ts +22 -0
  207. package/dist/storage/rdf/RdfVectorIndex.js +631 -0
  208. package/dist/storage/rdf/RdfVectorIndex.js.map +1 -0
  209. package/dist/storage/rdf/RdfXmlSerializer.d.ts +2 -0
  210. package/dist/storage/rdf/RdfXmlSerializer.js +123 -0
  211. package/dist/storage/rdf/RdfXmlSerializer.js.map +1 -0
  212. package/dist/storage/rdf/ShadowRdfQuintStore.d.ts +58 -0
  213. package/dist/storage/rdf/ShadowRdfQuintStore.js +202 -0
  214. package/dist/storage/rdf/ShadowRdfQuintStore.js.map +1 -0
  215. package/dist/storage/rdf/ShadowRdfQuintStore.jsonld +308 -0
  216. package/dist/storage/rdf/SolidRdfEngine.d.ts +51 -0
  217. package/dist/storage/rdf/SolidRdfEngine.js +264 -0
  218. package/dist/storage/rdf/SolidRdfEngine.js.map +1 -0
  219. package/dist/storage/rdf/SolidRdfEngine.jsonld +338 -0
  220. package/dist/storage/rdf/SolidRdfSparqlEngine.d.ts +92 -0
  221. package/dist/storage/rdf/SolidRdfSparqlEngine.js +477 -0
  222. package/dist/storage/rdf/SolidRdfSparqlEngine.js.map +1 -0
  223. package/dist/storage/rdf/SolidRdfSparqlEngine.jsonld +257 -0
  224. package/dist/storage/rdf/index.d.ts +15 -0
  225. package/dist/storage/rdf/index.js +61 -0
  226. package/dist/storage/rdf/index.js.map +1 -0
  227. package/dist/storage/rdf/models-benchmark.d.ts +260 -0
  228. package/dist/storage/rdf/models-benchmark.js +1405 -0
  229. package/dist/storage/rdf/models-benchmark.js.map +1 -0
  230. package/dist/storage/rdf/types.d.ts +726 -0
  231. package/dist/storage/rdf/types.js +3 -0
  232. package/dist/storage/rdf/types.js.map +1 -0
  233. package/dist/storage/rdf/types.jsonld +316 -0
  234. package/dist/storage/vector/VectorIndexingListener.d.ts +5 -5
  235. package/dist/storage/vector/VectorIndexingListener.js +19 -19
  236. package/dist/storage/vector/VectorIndexingListener.js.map +1 -1
  237. package/package.json +3 -2
  238. package/templates/pod/acp/.acr.hbs +39 -0
  239. package/templates/pod/acp/README.acr +18 -0
  240. package/templates/pod/acp/profile/card.acr +22 -0
  241. package/templates/pod/base/README$.md.hbs +27 -0
  242. package/templates/pod/base/profile/card$.ttl.hbs +13 -0
  243. package/templates/pod/wac/.acl.hbs +26 -0
  244. package/templates/pod/wac/README.acl.hbs +14 -0
  245. package/templates/pod/wac/profile/card.acl.hbs +19 -0
  246. package/dist/api/handlers/WebIdProfileHandler.d.ts +0 -16
  247. package/dist/api/handlers/WebIdProfileHandler.js +0 -423
  248. package/dist/api/handlers/WebIdProfileHandler.js.map +0 -1
  249. package/dist/identity/drizzle/WebIdProfileRepository.d.ts +0 -63
  250. package/dist/identity/drizzle/WebIdProfileRepository.js +0 -168
  251. package/dist/identity/drizzle/WebIdProfileRepository.js.map +0 -1
  252. package/dist/identity/drizzle/WebIdProfileRepository.jsonld +0 -112
  253. 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, WebIdProfileRepository, 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, VectorStore, SqliteVectorStore, PostgresVectorStore, VectorHttpHandler, ProviderRegistry, ProviderRegistryImpl, EmbeddingService, EmbeddingServiceImpl, CredentialReader, CredentialReaderImpl, CloudflareTunnelProvider, LocalTunnelProvider, SubdomainService, MultiDomainIdentifierStrategy, SubdomainPodIdentifierStrategy, DisabledOidcHandler, DisabledIdentityProviderHandler, AutoDetectOidcHandler, AutoDetectIdentityProviderHandler, LoopbackClientIdAdapterFactory, UrlAwareRedisLocker, ProvisionPodCreator, ProvisionCodeCodec, LocalPodProvisioningService, AuthModeSelector, };
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.WebIdProfileRepository = 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.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.BaseQuintStore = exports.PgQuintStore = exports.SqliteQuintStore = exports.QuintStore = void 0;
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
- env: (0, css_process_1.buildCssChildEnv)(baseUrl, cssPort),
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 Cloud profile repository used to reconcile solid:storage after remote provisioning */
16
- webIdProfileRepo?: WebIdProfileRepository;
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 webIdProfileRepo?;
20
+ private readonly podLookupRepo?;
22
21
  constructor(args: ProvisionPodCreatorArgs);
23
22
  handle(input: PodCreatorInput): Promise<PodCreatorOutput>;
24
23
  private handleStandardPodCreate;