@undefineds.co/xpod 0.2.0 → 0.2.2-preview.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1545) hide show
  1. package/README.md +196 -230
  2. package/bin/xpod.js +90 -1
  3. package/config/bun.json +1 -1
  4. package/config/cli.json +5 -0
  5. package/config/test.local.json +6 -0
  6. package/dist/agents/AgentExecutorFactory.d.ts +9 -8
  7. package/dist/agents/AgentExecutorFactory.js +44 -35
  8. package/dist/agents/AgentExecutorFactory.js.map +1 -1
  9. package/dist/agents/AgentManager.d.ts +7 -5
  10. package/dist/agents/AgentManager.js +35 -34
  11. package/dist/agents/AgentManager.js.map +1 -1
  12. package/dist/agents/config/agent-meta-schema.d.ts +3 -27
  13. package/dist/agents/config/agent-meta-schema.js +3 -33
  14. package/dist/agents/config/agent-meta-schema.js.map +1 -1
  15. package/dist/agents/config/resolve.d.ts +1 -1
  16. package/dist/agents/config/resolve.js +46 -41
  17. package/dist/agents/config/resolve.js.map +1 -1
  18. package/dist/agents/config/types.d.ts +11 -5
  19. package/dist/agents/config/types.js.map +1 -1
  20. package/dist/agents/index.d.ts +1 -1
  21. package/dist/agents/index.js +4 -4
  22. package/dist/agents/index.js.map +1 -1
  23. package/dist/agents/schema/agent-config.d.ts +2 -58
  24. package/dist/agents/schema/agent-config.js +11 -53
  25. package/dist/agents/schema/agent-config.js.map +1 -1
  26. package/dist/agents/schema/create-agent-schema.d.ts +25 -0
  27. package/dist/agents/schema/create-agent-schema.js +34 -0
  28. package/dist/agents/schema/create-agent-schema.js.map +1 -0
  29. package/dist/agents/schema/tables.d.ts +6 -40
  30. package/dist/agents/schema/tables.js +12 -51
  31. package/dist/agents/schema/tables.js.map +1 -1
  32. package/dist/agents/types.d.ts +3 -3
  33. package/dist/agents/types.js.map +1 -1
  34. package/dist/ai/schema/config.d.ts +1 -25
  35. package/dist/ai/schema/config.js +2 -32
  36. package/dist/ai/schema/config.js.map +1 -1
  37. package/dist/ai/schema/model.d.ts +1 -36
  38. package/dist/ai/schema/model.js +7 -47
  39. package/dist/ai/schema/model.js.map +1 -1
  40. package/dist/ai/schema/provider.d.ts +1 -19
  41. package/dist/ai/schema/provider.js +2 -26
  42. package/dist/ai/schema/provider.js.map +1 -1
  43. package/dist/ai/schema/vector-store.d.ts +2 -49
  44. package/dist/ai/schema/vector-store.js +3 -61
  45. package/dist/ai/schema/vector-store.js.map +1 -1
  46. package/dist/ai/service/CredentialReaderImpl.js.map +1 -1
  47. package/dist/api/ApiServer.d.ts +5 -3
  48. package/dist/api/ApiServer.js +14 -28
  49. package/dist/api/ApiServer.js.map +1 -1
  50. package/dist/api/auth/AuthContext.d.ts +1 -0
  51. package/dist/api/auth/AuthContext.js.map +1 -1
  52. package/dist/api/auth/ClientCredentialsAuthenticator.d.ts +2 -1
  53. package/dist/api/auth/ClientCredentialsAuthenticator.js +9 -5
  54. package/dist/api/auth/ClientCredentialsAuthenticator.js.map +1 -1
  55. package/dist/api/auth/SolidTokenAuthenticator.js +1 -0
  56. package/dist/api/auth/SolidTokenAuthenticator.js.map +1 -1
  57. package/dist/api/chatkit/ai-provider.js +1 -0
  58. package/dist/api/chatkit/ai-provider.js.map +1 -1
  59. package/dist/api/chatkit/pod-store.d.ts +28 -39
  60. package/dist/api/chatkit/pod-store.js +327 -188
  61. package/dist/api/chatkit/pod-store.js.map +1 -1
  62. package/dist/api/chatkit/schema.d.ts +3 -3
  63. package/dist/api/chatkit/schema.js +7 -7
  64. package/dist/api/chatkit/schema.js.map +1 -1
  65. package/dist/api/chatkit/service.d.ts +3 -0
  66. package/dist/api/chatkit/service.js +66 -38
  67. package/dist/api/chatkit/service.js.map +1 -1
  68. package/dist/api/chatkit/store.d.ts +16 -15
  69. package/dist/api/chatkit/store.js +20 -11
  70. package/dist/api/chatkit/store.js.map +1 -1
  71. package/dist/api/chatkit/types.d.ts +35 -27
  72. package/dist/api/chatkit/types.js +38 -0
  73. package/dist/api/chatkit/types.js.map +1 -1
  74. package/dist/api/container/common.js +1 -0
  75. package/dist/api/container/common.js.map +1 -1
  76. package/dist/api/container/types.d.ts +3 -0
  77. package/dist/api/container/types.js.map +1 -1
  78. package/dist/api/handlers/ChatKitV1Handler.js +32 -4
  79. package/dist/api/handlers/ChatKitV1Handler.js.map +1 -1
  80. package/dist/api/handlers/DashboardHandler.js +1 -1
  81. package/dist/api/handlers/DashboardHandler.js.map +1 -1
  82. package/dist/api/main.d.ts +1 -1
  83. package/dist/api/main.js +4 -94
  84. package/dist/api/main.js.map +1 -1
  85. package/dist/api/models/namespaces.d.ts +2 -9
  86. package/dist/api/models/namespaces.js +21 -31
  87. package/dist/api/models/namespaces.js.map +1 -1
  88. package/dist/api/runtime.d.ts +2 -0
  89. package/dist/api/runtime.js +5 -1
  90. package/dist/api/runtime.js.map +1 -1
  91. package/dist/api/service/VectorStoreService.js +39 -33
  92. package/dist/api/service/VectorStoreService.js.map +1 -1
  93. package/dist/api/service/VercelChatService.d.ts +19 -1
  94. package/dist/api/service/VercelChatService.js +268 -8
  95. package/dist/api/service/VercelChatService.js.map +1 -1
  96. package/dist/cli/commands/auth.js +92 -14
  97. package/dist/cli/commands/auth.js.map +1 -1
  98. package/dist/cli/commands/backup.js +11 -8
  99. package/dist/cli/commands/backup.js.map +1 -1
  100. package/dist/cli/commands/config.d.ts +2 -0
  101. package/dist/cli/commands/config.js +10 -2
  102. package/dist/cli/commands/config.js.map +1 -1
  103. package/dist/cli/commands/doctor.js +3 -3
  104. package/dist/cli/commands/doctor.js.map +1 -1
  105. package/dist/cli/commands/import.d.ts +0 -2
  106. package/dist/cli/commands/import.js +14 -12
  107. package/dist/cli/commands/import.js.map +1 -1
  108. package/dist/cli/commands/login.d.ts +9 -0
  109. package/dist/cli/commands/login.js +106 -0
  110. package/dist/cli/commands/login.js.map +1 -0
  111. package/dist/cli/commands/start.js +7 -4
  112. package/dist/cli/commands/start.js.map +1 -1
  113. package/dist/cli/index.d.ts +1 -1
  114. package/dist/cli/index.js +208 -30
  115. package/dist/cli/index.js.map +1 -1
  116. package/dist/cli/lib/agent-session.d.ts +37 -0
  117. package/dist/cli/lib/agent-session.js +211 -0
  118. package/dist/cli/lib/agent-session.js.map +1 -0
  119. package/dist/cli/lib/auth-helper.d.ts +22 -0
  120. package/dist/cli/lib/auth-helper.js +59 -0
  121. package/dist/cli/lib/auth-helper.js.map +1 -0
  122. package/dist/cli/lib/credentials-store.d.ts +23 -2
  123. package/dist/cli/lib/credentials-store.js +52 -5
  124. package/dist/cli/lib/credentials-store.js.map +1 -1
  125. package/dist/cli/lib/ensure-ai-credentials.d.ts +13 -0
  126. package/dist/cli/lib/ensure-ai-credentials.js +40 -0
  127. package/dist/cli/lib/ensure-ai-credentials.js.map +1 -0
  128. package/dist/cli/lib/import/db-connector.js +5 -6
  129. package/dist/cli/lib/import/db-connector.js.map +1 -1
  130. package/dist/cli/lib/import/pod-writer.d.ts +2 -2
  131. package/dist/cli/lib/import/pod-writer.js +2 -2
  132. package/dist/cli/lib/import/pod-writer.js.map +1 -1
  133. package/dist/cli/lib/import/types.d.ts +1 -6
  134. package/dist/cli/lib/import/types.js.map +1 -1
  135. package/dist/cli/lib/model-manager.d.ts +37 -0
  136. package/dist/cli/lib/model-manager.js +251 -0
  137. package/dist/cli/lib/model-manager.js.map +1 -0
  138. package/dist/cli/lib/oauth-credential-manager.d.ts +37 -0
  139. package/dist/cli/lib/oauth-credential-manager.js +129 -0
  140. package/dist/cli/lib/oauth-credential-manager.js.map +1 -0
  141. package/dist/cli/lib/oauth-providers/codebuddy.d.ts +25 -0
  142. package/dist/cli/lib/oauth-providers/codebuddy.js +69 -0
  143. package/dist/cli/lib/oauth-providers/codebuddy.js.map +1 -0
  144. package/dist/cli/lib/oauth-providers/index.d.ts +12 -0
  145. package/dist/cli/lib/oauth-providers/index.js +23 -0
  146. package/dist/cli/lib/oauth-providers/index.js.map +1 -0
  147. package/dist/cli/lib/pi-optional.d.ts +84 -0
  148. package/dist/cli/lib/pi-optional.js +35 -0
  149. package/dist/cli/lib/pi-optional.js.map +1 -0
  150. package/dist/cli/lib/pod-ai-config.d.ts +26 -0
  151. package/dist/cli/lib/pod-ai-config.js +99 -0
  152. package/dist/cli/lib/pod-ai-config.js.map +1 -0
  153. package/dist/cli/lib/pod-thread-store.js +11 -9
  154. package/dist/cli/lib/pod-thread-store.js.map +1 -1
  155. package/dist/cli/lib/prompt.d.ts +17 -0
  156. package/dist/cli/lib/prompt.js +74 -0
  157. package/dist/cli/lib/prompt.js.map +1 -0
  158. package/dist/cli/lib/secretary-prompt.d.ts +6 -0
  159. package/dist/cli/lib/secretary-prompt.js +85 -0
  160. package/dist/cli/lib/secretary-prompt.js.map +1 -0
  161. package/dist/cli/lib/solid-auth.d.ts +20 -9
  162. package/dist/cli/lib/solid-auth.js +50 -36
  163. package/dist/cli/lib/solid-auth.js.map +1 -1
  164. package/dist/cli/seed.d.ts +7 -0
  165. package/dist/cli/seed.js +66 -55
  166. package/dist/cli/seed.js.map +1 -1
  167. package/dist/credential/schema/tables.d.ts +9 -31
  168. package/dist/credential/schema/tables.js +5 -39
  169. package/dist/credential/schema/tables.js.map +1 -1
  170. package/dist/http/vector/VectorHttpHandler.d.ts +2 -0
  171. package/dist/http/vector/VectorHttpHandler.js +20 -3
  172. package/dist/http/vector/VectorHttpHandler.js.map +1 -1
  173. package/dist/http/vector/VectorHttpHandler.jsonld +8 -0
  174. package/dist/identity/drizzle/db.js +7 -45
  175. package/dist/identity/drizzle/db.js.map +1 -1
  176. package/dist/identity/drizzle/schema.sqlite.d.ts +636 -89
  177. package/dist/index.d.ts +1 -0
  178. package/dist/index.js +1 -0
  179. package/dist/index.js.map +1 -1
  180. package/dist/main.d.ts +1 -1
  181. package/dist/main.js +8 -4
  182. package/dist/main.js.map +1 -1
  183. package/dist/provision/ProvisionCodeCodec.d.ts +1 -1
  184. package/dist/provision/ProvisionCodeCodec.js +3 -0
  185. package/dist/provision/ProvisionCodeCodec.js.map +1 -1
  186. package/dist/runtime/Proxy.d.ts +6 -3
  187. package/dist/runtime/Proxy.js +31 -60
  188. package/dist/runtime/Proxy.js.map +1 -1
  189. package/dist/runtime/XpodRuntime.d.ts +2 -48
  190. package/dist/runtime/XpodRuntime.js +56 -329
  191. package/dist/runtime/XpodRuntime.js.map +1 -1
  192. package/dist/runtime/bootstrap.d.ts +27 -0
  193. package/dist/runtime/bootstrap.js +215 -0
  194. package/dist/runtime/bootstrap.js.map +1 -0
  195. package/dist/runtime/compat/ensureBunUndiciCompat.d.ts +1 -0
  196. package/dist/runtime/compat/ensureBunUndiciCompat.js +54 -0
  197. package/dist/runtime/compat/ensureBunUndiciCompat.js.map +1 -0
  198. package/dist/runtime/configure-drizzle-solid.d.ts +1 -0
  199. package/dist/runtime/configure-drizzle-solid.js +20 -0
  200. package/dist/runtime/configure-drizzle-solid.js.map +1 -0
  201. package/dist/runtime/driver/node/NodeRuntimeDriver.d.ts +10 -0
  202. package/dist/runtime/driver/node/NodeRuntimeDriver.js +21 -0
  203. package/dist/runtime/driver/node/NodeRuntimeDriver.js.map +1 -0
  204. package/dist/runtime/driver/types.d.ts +11 -0
  205. package/dist/runtime/driver/types.js +3 -0
  206. package/dist/runtime/driver/types.js.map +1 -0
  207. package/dist/runtime/env-utils.d.ts +3 -2
  208. package/dist/runtime/env-utils.js +8 -21
  209. package/dist/runtime/env-utils.js.map +1 -1
  210. package/dist/runtime/environment.d.ts +9 -0
  211. package/dist/runtime/environment.js +25 -0
  212. package/dist/runtime/environment.js.map +1 -0
  213. package/dist/runtime/host/node/NodeRuntimeHost.d.ts +21 -0
  214. package/dist/runtime/host/node/NodeRuntimeHost.js +165 -0
  215. package/dist/runtime/host/node/NodeRuntimeHost.js.map +1 -0
  216. package/dist/runtime/host/types.d.ts +50 -0
  217. package/dist/runtime/host/types.js +3 -0
  218. package/dist/runtime/host/types.js.map +1 -0
  219. package/dist/runtime/index.d.ts +20 -2
  220. package/dist/runtime/index.js +42 -18
  221. package/dist/runtime/index.js.map +1 -1
  222. package/dist/runtime/lifecycle.d.ts +53 -0
  223. package/dist/runtime/lifecycle.js +137 -0
  224. package/dist/runtime/lifecycle.js.map +1 -0
  225. package/dist/runtime/package-root.d.ts +3 -0
  226. package/dist/runtime/package-root.js +17 -0
  227. package/dist/runtime/package-root.js.map +1 -0
  228. package/dist/runtime/platform/node/NodeRuntimePlatform.d.ts +19 -0
  229. package/dist/runtime/platform/node/NodeRuntimePlatform.js +58 -0
  230. package/dist/runtime/platform/node/NodeRuntimePlatform.js.map +1 -0
  231. package/dist/runtime/platform/types.d.ts +16 -0
  232. package/dist/runtime/platform/types.js +3 -0
  233. package/dist/runtime/platform/types.js.map +1 -0
  234. package/dist/runtime/port-finder.d.ts +1 -4
  235. package/dist/runtime/port-finder.js +98 -7
  236. package/dist/runtime/port-finder.js.map +1 -1
  237. package/dist/runtime/runner/node/CommunitySolidServerCssRunner.d.ts +7 -0
  238. package/dist/{storage/DrizzleCompat.js → runtime/runner/node/CommunitySolidServerCssRunner.js} +22 -32
  239. package/dist/runtime/runner/node/CommunitySolidServerCssRunner.js.map +1 -0
  240. package/dist/runtime/runner/node/NodeApiRuntimeRunner.d.ts +7 -0
  241. package/dist/runtime/runner/node/NodeApiRuntimeRunner.js +20 -0
  242. package/dist/runtime/runner/node/NodeApiRuntimeRunner.js.map +1 -0
  243. package/dist/runtime/runner/node/NodeGatewayRuntimeRunner.d.ts +6 -0
  244. package/dist/runtime/runner/node/NodeGatewayRuntimeRunner.js +24 -0
  245. package/dist/runtime/runner/node/NodeGatewayRuntimeRunner.js.map +1 -0
  246. package/dist/runtime/runner/types.d.ts +44 -0
  247. package/dist/runtime/runner/types.js +3 -0
  248. package/dist/runtime/runner/types.js.map +1 -0
  249. package/dist/runtime/runtime-types.d.ts +60 -0
  250. package/dist/runtime/runtime-types.js +3 -0
  251. package/dist/runtime/runtime-types.js.map +1 -0
  252. package/dist/runtime/socket-fetch.d.ts +3 -0
  253. package/dist/runtime/socket-fetch.js +111 -31
  254. package/dist/runtime/socket-fetch.js.map +1 -1
  255. package/dist/runtime/socket-http.d.ts +2 -0
  256. package/dist/runtime/socket-http.js +24 -14
  257. package/dist/runtime/socket-http.js.map +1 -1
  258. package/dist/runtime/socket-origin-registry.d.ts +2 -0
  259. package/dist/runtime/socket-origin-registry.js +45 -0
  260. package/dist/runtime/socket-origin-registry.js.map +1 -0
  261. package/dist/runtime/socket-shim.d.ts +1 -0
  262. package/dist/runtime/socket-shim.js +22 -0
  263. package/dist/runtime/socket-shim.js.map +1 -0
  264. package/dist/runtime/socket-transport.d.ts +16 -0
  265. package/dist/runtime/socket-transport.js +77 -0
  266. package/dist/runtime/socket-transport.js.map +1 -0
  267. package/dist/storage/NodeSqliteDrizzle.d.ts +1 -0
  268. package/dist/storage/NodeSqliteDrizzle.js +187 -0
  269. package/dist/storage/NodeSqliteDrizzle.js.map +1 -0
  270. package/dist/storage/SqliteRuntime.d.ts +6 -0
  271. package/dist/storage/SqliteRuntime.js +17 -0
  272. package/dist/storage/SqliteRuntime.js.map +1 -0
  273. package/dist/storage/accessors/QuadstoreSparqlDataAccessor.d.ts +4 -2
  274. package/dist/storage/accessors/QuadstoreSparqlDataAccessor.js +16 -20
  275. package/dist/storage/accessors/QuadstoreSparqlDataAccessor.js.map +1 -1
  276. package/dist/storage/accessors/QuadstoreSparqlDataAccessor.jsonld +0 -8
  277. package/dist/storage/keyvalue/RedisKeyValueStorage.d.ts +1 -0
  278. package/dist/storage/keyvalue/RedisKeyValueStorage.js +11 -2
  279. package/dist/storage/keyvalue/RedisKeyValueStorage.js.map +1 -1
  280. package/dist/storage/keyvalue/RedisKeyValueStorage.jsonld +4 -0
  281. package/dist/storage/keyvalue/SqliteKeyValueStorage.d.ts +2 -0
  282. package/dist/storage/keyvalue/SqliteKeyValueStorage.js +17 -25
  283. package/dist/storage/keyvalue/SqliteKeyValueStorage.js.map +1 -1
  284. package/dist/storage/keyvalue/SqliteKeyValueStorage.jsonld +8 -0
  285. package/dist/storage/locking/UrlAwareRedisLocker.d.ts +2 -0
  286. package/dist/storage/locking/UrlAwareRedisLocker.js +22 -0
  287. package/dist/storage/locking/UrlAwareRedisLocker.js.map +1 -1
  288. package/dist/storage/locking/UrlAwareRedisLocker.jsonld +8 -0
  289. package/dist/storage/quint/BaseQuintStore.d.ts +1 -1
  290. package/dist/storage/quint/BaseQuintStore.js +2 -2
  291. package/dist/storage/quint/BaseQuintStore.js.map +1 -1
  292. package/dist/storage/quint/SqliteQuintStore.d.ts +1 -0
  293. package/dist/storage/quint/SqliteQuintStore.js +12 -18
  294. package/dist/storage/quint/SqliteQuintStore.js.map +1 -1
  295. package/dist/storage/quint/SqliteQuintStore.jsonld +4 -0
  296. package/dist/storage/quint/schema.d.ts +40 -5
  297. package/dist/storage/quint/serialization.d.ts +5 -1
  298. package/dist/storage/quint/serialization.js +28 -9
  299. package/dist/storage/quint/serialization.js.map +1 -1
  300. package/dist/storage/redis/RedisClientLifecycle.d.ts +11 -0
  301. package/dist/storage/redis/RedisClientLifecycle.js +72 -0
  302. package/dist/storage/redis/RedisClientLifecycle.js.map +1 -0
  303. package/dist/storage/sparql/SubgraphQueryEngine.d.ts +3 -8
  304. package/dist/storage/sparql/SubgraphQueryEngine.js +12 -109
  305. package/dist/storage/sparql/SubgraphQueryEngine.js.map +1 -1
  306. package/dist/storage/sparql/SubgraphQueryEngine.jsonld +2 -27
  307. package/dist/storage/sqlite/backends/BunSqliteRuntime.d.ts +2 -0
  308. package/dist/storage/sqlite/backends/BunSqliteRuntime.js +50 -0
  309. package/dist/storage/sqlite/backends/BunSqliteRuntime.js.map +1 -0
  310. package/dist/storage/sqlite/backends/NodeSqliteRuntime.d.ts +2 -0
  311. package/dist/storage/sqlite/backends/NodeSqliteRuntime.js +58 -0
  312. package/dist/storage/sqlite/backends/NodeSqliteRuntime.js.map +1 -0
  313. package/dist/storage/sqlite/factory.d.ts +4 -0
  314. package/dist/storage/sqlite/factory.js +36 -0
  315. package/dist/storage/sqlite/factory.js.map +1 -0
  316. package/dist/storage/sqlite/shared.d.ts +4 -0
  317. package/dist/storage/sqlite/shared.js +25 -0
  318. package/dist/storage/sqlite/shared.js.map +1 -0
  319. package/dist/storage/sqlite/types.d.ts +29 -0
  320. package/dist/storage/sqlite/types.js +3 -0
  321. package/dist/storage/sqlite/types.js.map +1 -0
  322. package/dist/storage/vector/PostgresVectorStore.d.ts +1 -0
  323. package/dist/storage/vector/PostgresVectorStore.js +19 -9
  324. package/dist/storage/vector/PostgresVectorStore.js.map +1 -1
  325. package/dist/storage/vector/PostgresVectorStore.jsonld +4 -0
  326. package/dist/storage/vector/SqliteVecExtension.d.ts +3 -0
  327. package/dist/storage/vector/SqliteVecExtension.js +16 -0
  328. package/dist/storage/vector/SqliteVecExtension.js.map +1 -0
  329. package/dist/storage/vector/SqliteVectorStore.d.ts +2 -0
  330. package/dist/storage/vector/SqliteVectorStore.js +31 -19
  331. package/dist/storage/vector/SqliteVectorStore.js.map +1 -1
  332. package/dist/storage/vector/SqliteVectorStore.jsonld +8 -0
  333. package/dist/task/DrizzleTaskQueue.d.ts +1 -5
  334. package/dist/task/DrizzleTaskQueue.js +5 -5
  335. package/dist/task/DrizzleTaskQueue.js.map +1 -1
  336. package/dist/test-utils/seed-pod.js +3 -2
  337. package/dist/test-utils/seed-pod.js.map +1 -1
  338. package/dist/vocab/udfs.d.ts +34 -2
  339. package/dist/vocab/udfs.js +37 -2
  340. package/dist/vocab/udfs.js.map +1 -1
  341. package/node_modules/@undefineds.co/drizzle-solid/LICENSE +21 -0
  342. package/node_modules/@undefineds.co/drizzle-solid/README.md +254 -0
  343. package/node_modules/@undefineds.co/drizzle-solid/README.zh-CN.md +254 -0
  344. package/node_modules/@undefineds.co/drizzle-solid/dist/core/aggregates.d.ts +19 -0
  345. package/node_modules/@undefineds.co/drizzle-solid/dist/core/aggregates.d.ts.map +1 -0
  346. package/node_modules/@undefineds.co/drizzle-solid/dist/core/aggregates.js +51 -0
  347. package/node_modules/@undefineds.co/drizzle-solid/dist/core/aggregates.js.map +1 -0
  348. package/node_modules/@undefineds.co/drizzle-solid/dist/core/ast-to-sparql.d.ts +64 -0
  349. package/node_modules/@undefineds.co/drizzle-solid/dist/core/ast-to-sparql.d.ts.map +1 -0
  350. package/node_modules/@undefineds.co/drizzle-solid/dist/core/ast-to-sparql.js +88 -0
  351. package/node_modules/@undefineds.co/drizzle-solid/dist/core/ast-to-sparql.js.map +1 -0
  352. package/node_modules/@undefineds.co/drizzle-solid/dist/core/compile-time-types.d.ts +40 -0
  353. package/node_modules/@undefineds.co/drizzle-solid/dist/core/compile-time-types.d.ts.map +1 -0
  354. package/node_modules/@undefineds.co/drizzle-solid/dist/core/compile-time-types.js +73 -0
  355. package/node_modules/@undefineds.co/drizzle-solid/dist/core/compile-time-types.js.map +1 -0
  356. package/node_modules/@undefineds.co/drizzle-solid/dist/core/comunica-patch.d.ts +2 -0
  357. package/node_modules/@undefineds.co/drizzle-solid/dist/core/comunica-patch.d.ts.map +1 -0
  358. package/node_modules/@undefineds.co/drizzle-solid/dist/core/comunica-patch.js +72 -0
  359. package/node_modules/@undefineds.co/drizzle-solid/dist/core/comunica-patch.js.map +1 -0
  360. package/node_modules/@undefineds.co/drizzle-solid/dist/core/conflict-resolution.d.ts +110 -0
  361. package/node_modules/@undefineds.co/drizzle-solid/dist/core/conflict-resolution.d.ts.map +1 -0
  362. package/node_modules/@undefineds.co/drizzle-solid/dist/core/conflict-resolution.js +252 -0
  363. package/node_modules/@undefineds.co/drizzle-solid/dist/core/conflict-resolution.js.map +1 -0
  364. package/node_modules/@undefineds.co/drizzle-solid/dist/core/discovery/composite-discovery.d.ts +18 -0
  365. package/node_modules/@undefineds.co/drizzle-solid/dist/core/discovery/composite-discovery.d.ts.map +1 -0
  366. package/node_modules/@undefineds.co/drizzle-solid/dist/core/discovery/composite-discovery.js +118 -0
  367. package/node_modules/@undefineds.co/drizzle-solid/dist/core/discovery/composite-discovery.js.map +1 -0
  368. package/node_modules/@undefineds.co/drizzle-solid/dist/core/discovery/index.d.ts +7 -0
  369. package/node_modules/@undefineds.co/drizzle-solid/dist/core/discovery/index.d.ts.map +1 -0
  370. package/node_modules/@undefineds.co/drizzle-solid/dist/core/discovery/index.js +23 -0
  371. package/node_modules/@undefineds.co/drizzle-solid/dist/core/discovery/index.js.map +1 -0
  372. package/node_modules/@undefineds.co/drizzle-solid/dist/core/discovery/interop-discovery.d.ts +36 -0
  373. package/node_modules/@undefineds.co/drizzle-solid/dist/core/discovery/interop-discovery.d.ts.map +1 -0
  374. package/node_modules/@undefineds.co/drizzle-solid/dist/core/discovery/interop-discovery.js +646 -0
  375. package/node_modules/@undefineds.co/drizzle-solid/dist/core/discovery/interop-discovery.js.map +1 -0
  376. package/node_modules/@undefineds.co/drizzle-solid/dist/core/discovery/interop-tables.d.ts +37 -0
  377. package/node_modules/@undefineds.co/drizzle-solid/dist/core/discovery/interop-tables.d.ts.map +1 -0
  378. package/node_modules/@undefineds.co/drizzle-solid/dist/core/discovery/interop-tables.js +68 -0
  379. package/node_modules/@undefineds.co/drizzle-solid/dist/core/discovery/interop-tables.js.map +1 -0
  380. package/node_modules/@undefineds.co/drizzle-solid/dist/core/discovery/interop-types.d.ts +36 -0
  381. package/node_modules/@undefineds.co/drizzle-solid/dist/core/discovery/interop-types.d.ts.map +1 -0
  382. package/node_modules/@undefineds.co/drizzle-solid/dist/core/discovery/interop-types.js +42 -0
  383. package/node_modules/@undefineds.co/drizzle-solid/dist/core/discovery/interop-types.js.map +1 -0
  384. package/node_modules/@undefineds.co/drizzle-solid/dist/core/discovery/provider-cache.d.ts +99 -0
  385. package/node_modules/@undefineds.co/drizzle-solid/dist/core/discovery/provider-cache.d.ts.map +1 -0
  386. package/node_modules/@undefineds.co/drizzle-solid/dist/core/discovery/provider-cache.js +296 -0
  387. package/node_modules/@undefineds.co/drizzle-solid/dist/core/discovery/provider-cache.js.map +1 -0
  388. package/node_modules/@undefineds.co/drizzle-solid/dist/core/discovery/typeindex-discovery.d.ts +30 -0
  389. package/node_modules/@undefineds.co/drizzle-solid/dist/core/discovery/typeindex-discovery.d.ts.map +1 -0
  390. package/node_modules/@undefineds.co/drizzle-solid/dist/core/discovery/typeindex-discovery.js +134 -0
  391. package/node_modules/@undefineds.co/drizzle-solid/dist/core/discovery/typeindex-discovery.js.map +1 -0
  392. package/node_modules/@undefineds.co/drizzle-solid/dist/core/discovery/types.d.ts +128 -0
  393. package/node_modules/@undefineds.co/drizzle-solid/dist/core/discovery/types.d.ts.map +1 -0
  394. package/node_modules/@undefineds.co/drizzle-solid/dist/core/discovery/types.js +3 -0
  395. package/node_modules/@undefineds.co/drizzle-solid/dist/core/discovery/types.js.map +1 -0
  396. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/index.d.ts +14 -0
  397. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/index.d.ts.map +1 -0
  398. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/index.js +20 -0
  399. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/index.js.map +1 -0
  400. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-executor.d.ts +67 -0
  401. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-executor.d.ts.map +1 -0
  402. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-executor.js +594 -0
  403. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-executor.js.map +1 -0
  404. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-strategy.d.ts +53 -0
  405. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-strategy.d.ts.map +1 -0
  406. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-strategy.js +104 -0
  407. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-strategy.js.map +1 -0
  408. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/pod-executor-types.d.ts +9 -0
  409. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/pod-executor-types.d.ts.map +1 -0
  410. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/pod-executor-types.js +3 -0
  411. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/pod-executor-types.js.map +1 -0
  412. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/pod-executor.d.ts +59 -0
  413. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/pod-executor.d.ts.map +1 -0
  414. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/pod-executor.js +228 -0
  415. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/pod-executor.js.map +1 -0
  416. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/sparql-strategy.d.ts +29 -0
  417. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/sparql-strategy.d.ts.map +1 -0
  418. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/sparql-strategy.js +98 -0
  419. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/sparql-strategy.js.map +1 -0
  420. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/strategy-factory.d.ts +41 -0
  421. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/strategy-factory.d.ts.map +1 -0
  422. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/strategy-factory.js +63 -0
  423. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/strategy-factory.js.map +1 -0
  424. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/types.d.ts +80 -0
  425. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/types.d.ts.map +1 -0
  426. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/types.js +8 -0
  427. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/types.js.map +1 -0
  428. package/node_modules/@undefineds.co/drizzle-solid/dist/core/expressions.d.ts +40 -0
  429. package/node_modules/@undefineds.co/drizzle-solid/dist/core/expressions.d.ts.map +1 -0
  430. package/node_modules/@undefineds.co/drizzle-solid/dist/core/expressions.js +60 -0
  431. package/node_modules/@undefineds.co/drizzle-solid/dist/core/expressions.js.map +1 -0
  432. package/node_modules/@undefineds.co/drizzle-solid/dist/core/federated/executor.d.ts +98 -0
  433. package/node_modules/@undefineds.co/drizzle-solid/dist/core/federated/executor.d.ts.map +1 -0
  434. package/node_modules/@undefineds.co/drizzle-solid/dist/core/federated/executor.js +430 -0
  435. package/node_modules/@undefineds.co/drizzle-solid/dist/core/federated/executor.js.map +1 -0
  436. package/node_modules/@undefineds.co/drizzle-solid/dist/core/federated/index.d.ts +3 -0
  437. package/node_modules/@undefineds.co/drizzle-solid/dist/core/federated/index.d.ts.map +1 -0
  438. package/node_modules/@undefineds.co/drizzle-solid/dist/core/federated/index.js +19 -0
  439. package/node_modules/@undefineds.co/drizzle-solid/dist/core/federated/index.js.map +1 -0
  440. package/node_modules/@undefineds.co/drizzle-solid/dist/core/federated/types.d.ts +69 -0
  441. package/node_modules/@undefineds.co/drizzle-solid/dist/core/federated/types.d.ts.map +1 -0
  442. package/node_modules/@undefineds.co/drizzle-solid/dist/core/federated/types.js +8 -0
  443. package/node_modules/@undefineds.co/drizzle-solid/dist/core/federated/types.js.map +1 -0
  444. package/node_modules/@undefineds.co/drizzle-solid/dist/core/notifications/channels/base-channel.d.ts +29 -0
  445. package/node_modules/@undefineds.co/drizzle-solid/dist/core/notifications/channels/base-channel.d.ts.map +1 -0
  446. package/node_modules/@undefineds.co/drizzle-solid/dist/core/notifications/channels/base-channel.js +63 -0
  447. package/node_modules/@undefineds.co/drizzle-solid/dist/core/notifications/channels/base-channel.js.map +1 -0
  448. package/node_modules/@undefineds.co/drizzle-solid/dist/core/notifications/channels/index.d.ts +4 -0
  449. package/node_modules/@undefineds.co/drizzle-solid/dist/core/notifications/channels/index.d.ts.map +1 -0
  450. package/node_modules/@undefineds.co/drizzle-solid/dist/core/notifications/channels/index.js +11 -0
  451. package/node_modules/@undefineds.co/drizzle-solid/dist/core/notifications/channels/index.js.map +1 -0
  452. package/node_modules/@undefineds.co/drizzle-solid/dist/core/notifications/channels/sse-channel.d.ts +50 -0
  453. package/node_modules/@undefineds.co/drizzle-solid/dist/core/notifications/channels/sse-channel.d.ts.map +1 -0
  454. package/node_modules/@undefineds.co/drizzle-solid/dist/core/notifications/channels/sse-channel.js +210 -0
  455. package/node_modules/@undefineds.co/drizzle-solid/dist/core/notifications/channels/sse-channel.js.map +1 -0
  456. package/node_modules/@undefineds.co/drizzle-solid/dist/core/notifications/channels/websocket-channel.d.ts +16 -0
  457. package/node_modules/@undefineds.co/drizzle-solid/dist/core/notifications/channels/websocket-channel.d.ts.map +1 -0
  458. package/node_modules/@undefineds.co/drizzle-solid/dist/core/notifications/channels/websocket-channel.js +87 -0
  459. package/node_modules/@undefineds.co/drizzle-solid/dist/core/notifications/channels/websocket-channel.js.map +1 -0
  460. package/node_modules/@undefineds.co/drizzle-solid/dist/core/notifications/index.d.ts +3 -0
  461. package/node_modules/@undefineds.co/drizzle-solid/dist/core/notifications/index.d.ts.map +1 -0
  462. package/node_modules/@undefineds.co/drizzle-solid/dist/core/notifications/index.js +6 -0
  463. package/node_modules/@undefineds.co/drizzle-solid/dist/core/notifications/index.js.map +1 -0
  464. package/node_modules/@undefineds.co/drizzle-solid/dist/core/notifications/notifications-client.d.ts +87 -0
  465. package/node_modules/@undefineds.co/drizzle-solid/dist/core/notifications/notifications-client.d.ts.map +1 -0
  466. package/node_modules/@undefineds.co/drizzle-solid/dist/core/notifications/notifications-client.js +460 -0
  467. package/node_modules/@undefineds.co/drizzle-solid/dist/core/notifications/notifications-client.js.map +1 -0
  468. package/node_modules/@undefineds.co/drizzle-solid/dist/core/notifications/types.d.ts +228 -0
  469. package/node_modules/@undefineds.co/drizzle-solid/dist/core/notifications/types.d.ts.map +1 -0
  470. package/node_modules/@undefineds.co/drizzle-solid/dist/core/notifications/types.js +7 -0
  471. package/node_modules/@undefineds.co/drizzle-solid/dist/core/notifications/types.js.map +1 -0
  472. package/node_modules/@undefineds.co/drizzle-solid/dist/core/order-by.d.ts +9 -0
  473. package/node_modules/@undefineds.co/drizzle-solid/dist/core/order-by.d.ts.map +1 -0
  474. package/node_modules/@undefineds.co/drizzle-solid/dist/core/order-by.js +20 -0
  475. package/node_modules/@undefineds.co/drizzle-solid/dist/core/order-by.js.map +1 -0
  476. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-database.d.ts +429 -0
  477. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-database.d.ts.map +1 -0
  478. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-database.js +1342 -0
  479. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-database.js.map +1 -0
  480. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-dialect.d.ts +295 -0
  481. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-dialect.d.ts.map +1 -0
  482. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-dialect.js +1223 -0
  483. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-dialect.js.map +1 -0
  484. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-discovery.d.ts +20 -0
  485. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-discovery.d.ts.map +1 -0
  486. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-discovery.js +115 -0
  487. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-discovery.js.map +1 -0
  488. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-session.d.ts +49 -0
  489. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-session.d.ts.map +1 -0
  490. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-session.js +122 -0
  491. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-session.js.map +1 -0
  492. package/node_modules/@undefineds.co/drizzle-solid/dist/core/profile-manager.d.ts +90 -0
  493. package/node_modules/@undefineds.co/drizzle-solid/dist/core/profile-manager.d.ts.map +1 -0
  494. package/node_modules/@undefineds.co/drizzle-solid/dist/core/profile-manager.js +168 -0
  495. package/node_modules/@undefineds.co/drizzle-solid/dist/core/profile-manager.js.map +1 -0
  496. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/delete-query-builder.d.ts +31 -0
  497. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/delete-query-builder.d.ts.map +1 -0
  498. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/delete-query-builder.js +173 -0
  499. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/delete-query-builder.js.map +1 -0
  500. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/helpers.d.ts +11 -0
  501. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/helpers.d.ts.map +1 -0
  502. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/helpers.js +199 -0
  503. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/helpers.js.map +1 -0
  504. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/index.d.ts +6 -0
  505. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/index.d.ts.map +1 -0
  506. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/index.js +12 -0
  507. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/index.js.map +1 -0
  508. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/insert-query-builder.d.ts +34 -0
  509. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/insert-query-builder.d.ts.map +1 -0
  510. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/insert-query-builder.js +172 -0
  511. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/insert-query-builder.js.map +1 -0
  512. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/select-query-builder.d.ts +150 -0
  513. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/select-query-builder.d.ts.map +1 -0
  514. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/select-query-builder.js +1821 -0
  515. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/select-query-builder.js.map +1 -0
  516. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/types.d.ts +39 -0
  517. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/types.d.ts.map +1 -0
  518. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/types.js +3 -0
  519. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/types.js.map +1 -0
  520. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/update-query-builder.d.ts +34 -0
  521. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/update-query-builder.d.ts.map +1 -0
  522. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/update-query-builder.js +212 -0
  523. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/update-query-builder.js.map +1 -0
  524. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-conditions.d.ts +60 -0
  525. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-conditions.d.ts.map +1 -0
  526. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-conditions.js +134 -0
  527. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-conditions.js.map +1 -0
  528. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-where-policy.d.ts +7 -0
  529. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-where-policy.d.ts.map +1 -0
  530. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-where-policy.js +83 -0
  531. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-where-policy.js.map +1 -0
  532. package/node_modules/@undefineds.co/drizzle-solid/dist/core/rdf-constants.d.ts +16 -0
  533. package/node_modules/@undefineds.co/drizzle-solid/dist/core/rdf-constants.d.ts.map +1 -0
  534. package/node_modules/@undefineds.co/drizzle-solid/dist/core/rdf-constants.js +38 -0
  535. package/node_modules/@undefineds.co/drizzle-solid/dist/core/rdf-constants.js.map +1 -0
  536. package/node_modules/@undefineds.co/drizzle-solid/dist/core/rdf-schema-parser.d.ts +34 -0
  537. package/node_modules/@undefineds.co/drizzle-solid/dist/core/rdf-schema-parser.d.ts.map +1 -0
  538. package/node_modules/@undefineds.co/drizzle-solid/dist/core/rdf-schema-parser.js +143 -0
  539. package/node_modules/@undefineds.co/drizzle-solid/dist/core/rdf-schema-parser.js.map +1 -0
  540. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/base-resolver.d.ts +126 -0
  541. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/base-resolver.d.ts.map +1 -0
  542. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/base-resolver.js +429 -0
  543. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/base-resolver.js.map +1 -0
  544. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/document-resolver.d.ts +36 -0
  545. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/document-resolver.d.ts.map +1 -0
  546. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/document-resolver.js +161 -0
  547. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/document-resolver.js.map +1 -0
  548. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/factory.d.ts +27 -0
  549. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/factory.d.ts.map +1 -0
  550. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/factory.js +58 -0
  551. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/factory.js.map +1 -0
  552. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/fragment-resolver.d.ts +34 -0
  553. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/fragment-resolver.d.ts.map +1 -0
  554. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/fragment-resolver.js +72 -0
  555. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/fragment-resolver.js.map +1 -0
  556. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/index.d.ts +11 -0
  557. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/index.d.ts.map +1 -0
  558. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/index.js +18 -0
  559. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/index.js.map +1 -0
  560. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/types.d.ts +57 -0
  561. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/types.d.ts.map +1 -0
  562. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/types.js +9 -0
  563. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/types.js.map +1 -0
  564. package/node_modules/@undefineds.co/drizzle-solid/dist/core/runtime/pod-runtime.d.ts +59 -0
  565. package/node_modules/@undefineds.co/drizzle-solid/dist/core/runtime/pod-runtime.d.ts.map +1 -0
  566. package/node_modules/@undefineds.co/drizzle-solid/dist/core/runtime/pod-runtime.js +186 -0
  567. package/node_modules/@undefineds.co/drizzle-solid/dist/core/runtime/pod-runtime.js.map +1 -0
  568. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/columns.d.ts +74 -0
  569. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/columns.d.ts.map +1 -0
  570. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/columns.js +295 -0
  571. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/columns.js.map +1 -0
  572. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/defs.d.ts +92 -0
  573. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/defs.d.ts.map +1 -0
  574. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/defs.js +43 -0
  575. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/defs.js.map +1 -0
  576. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/factories.d.ts +29 -0
  577. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/factories.d.ts.map +1 -0
  578. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/factories.js +117 -0
  579. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/factories.js.map +1 -0
  580. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/index.d.ts +9 -0
  581. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/index.d.ts.map +1 -0
  582. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/index.js +25 -0
  583. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/index.js.map +1 -0
  584. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/pod-table.d.ts +100 -0
  585. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/pod-table.d.ts.map +1 -0
  586. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/pod-table.js +370 -0
  587. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/pod-table.js.map +1 -0
  588. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/relations.d.ts +26 -0
  589. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/relations.d.ts.map +1 -0
  590. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/relations.js +36 -0
  591. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/relations.js.map +1 -0
  592. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/solid-schema.d.ts +19 -0
  593. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/solid-schema.d.ts.map +1 -0
  594. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/solid-schema.js +93 -0
  595. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/solid-schema.js.map +1 -0
  596. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/types.d.ts +45 -0
  597. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/types.d.ts.map +1 -0
  598. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/types.js +3 -0
  599. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/types.js.map +1 -0
  600. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/utils.d.ts +15 -0
  601. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/utils.d.ts.map +1 -0
  602. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/utils.js +44 -0
  603. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/utils.js.map +1 -0
  604. package/node_modules/@undefineds.co/drizzle-solid/dist/core/select-plan.d.ts +50 -0
  605. package/node_modules/@undefineds.co/drizzle-solid/dist/core/select-plan.d.ts.map +1 -0
  606. package/node_modules/@undefineds.co/drizzle-solid/dist/core/select-plan.js +3 -0
  607. package/node_modules/@undefineds.co/drizzle-solid/dist/core/select-plan.js.map +1 -0
  608. package/node_modules/@undefineds.co/drizzle-solid/dist/core/services/pod-services.d.ts +43 -0
  609. package/node_modules/@undefineds.co/drizzle-solid/dist/core/services/pod-services.d.ts.map +1 -0
  610. package/node_modules/@undefineds.co/drizzle-solid/dist/core/services/pod-services.js +81 -0
  611. package/node_modules/@undefineds.co/drizzle-solid/dist/core/services/pod-services.js.map +1 -0
  612. package/node_modules/@undefineds.co/drizzle-solid/dist/core/shape/generator.d.ts +12 -0
  613. package/node_modules/@undefineds.co/drizzle-solid/dist/core/shape/generator.d.ts.map +1 -0
  614. package/node_modules/@undefineds.co/drizzle-solid/dist/core/shape/generator.js +109 -0
  615. package/node_modules/@undefineds.co/drizzle-solid/dist/core/shape/generator.js.map +1 -0
  616. package/node_modules/@undefineds.co/drizzle-solid/dist/core/shape/index.d.ts +4 -0
  617. package/node_modules/@undefineds.co/drizzle-solid/dist/core/shape/index.d.ts.map +1 -0
  618. package/node_modules/@undefineds.co/drizzle-solid/dist/core/shape/index.js +20 -0
  619. package/node_modules/@undefineds.co/drizzle-solid/dist/core/shape/index.js.map +1 -0
  620. package/node_modules/@undefineds.co/drizzle-solid/dist/core/shape/manager.d.ts +45 -0
  621. package/node_modules/@undefineds.co/drizzle-solid/dist/core/shape/manager.d.ts.map +1 -0
  622. package/node_modules/@undefineds.co/drizzle-solid/dist/core/shape/manager.js +393 -0
  623. package/node_modules/@undefineds.co/drizzle-solid/dist/core/shape/manager.js.map +1 -0
  624. package/node_modules/@undefineds.co/drizzle-solid/dist/core/shape/shacl-parser.d.ts +19 -0
  625. package/node_modules/@undefineds.co/drizzle-solid/dist/core/shape/shacl-parser.d.ts.map +1 -0
  626. package/node_modules/@undefineds.co/drizzle-solid/dist/core/shape/shacl-parser.js +215 -0
  627. package/node_modules/@undefineds.co/drizzle-solid/dist/core/shape/shacl-parser.js.map +1 -0
  628. package/node_modules/@undefineds.co/drizzle-solid/dist/core/shape/shacl.d.ts +11 -0
  629. package/node_modules/@undefineds.co/drizzle-solid/dist/core/shape/shacl.d.ts.map +1 -0
  630. package/node_modules/@undefineds.co/drizzle-solid/dist/core/shape/shacl.js +130 -0
  631. package/node_modules/@undefineds.co/drizzle-solid/dist/core/shape/shacl.js.map +1 -0
  632. package/node_modules/@undefineds.co/drizzle-solid/dist/core/shape/types.d.ts +149 -0
  633. package/node_modules/@undefineds.co/drizzle-solid/dist/core/shape/types.d.ts.map +1 -0
  634. package/node_modules/@undefineds.co/drizzle-solid/dist/core/shape/types.js +45 -0
  635. package/node_modules/@undefineds.co/drizzle-solid/dist/core/shape/types.js.map +1 -0
  636. package/node_modules/@undefineds.co/drizzle-solid/dist/core/shape/validator.d.ts +11 -0
  637. package/node_modules/@undefineds.co/drizzle-solid/dist/core/shape/validator.d.ts.map +1 -0
  638. package/node_modules/@undefineds.co/drizzle-solid/dist/core/shape/validator.js +232 -0
  639. package/node_modules/@undefineds.co/drizzle-solid/dist/core/shape/validator.js.map +1 -0
  640. package/node_modules/@undefineds.co/drizzle-solid/dist/core/solid-n3-client.d.ts +86 -0
  641. package/node_modules/@undefineds.co/drizzle-solid/dist/core/solid-n3-client.d.ts.map +1 -0
  642. package/node_modules/@undefineds.co/drizzle-solid/dist/core/solid-n3-client.js +290 -0
  643. package/node_modules/@undefineds.co/drizzle-solid/dist/core/solid-n3-client.js.map +1 -0
  644. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql/builder/expression-builder.d.ts +53 -0
  645. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql/builder/expression-builder.d.ts.map +1 -0
  646. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql/builder/expression-builder.js +440 -0
  647. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql/builder/expression-builder.js.map +1 -0
  648. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql/builder/select-builder.d.ts +44 -0
  649. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql/builder/select-builder.d.ts.map +1 -0
  650. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql/builder/select-builder.js +613 -0
  651. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql/builder/select-builder.js.map +1 -0
  652. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql/builder/update-builder.d.ts +33 -0
  653. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql/builder/update-builder.d.ts.map +1 -0
  654. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql/builder/update-builder.js +512 -0
  655. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql/builder/update-builder.js.map +1 -0
  656. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql/helpers.d.ts +19 -0
  657. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql/helpers.d.ts.map +1 -0
  658. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql/helpers.js +172 -0
  659. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql/helpers.js.map +1 -0
  660. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql/types.d.ts +10 -0
  661. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql/types.d.ts.map +1 -0
  662. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql/types.js +3 -0
  663. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql/types.js.map +1 -0
  664. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql-engine.d.ts +16 -0
  665. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql-engine.d.ts.map +1 -0
  666. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql-engine.js +128 -0
  667. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql-engine.js.map +1 -0
  668. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql-executor.d.ts +39 -0
  669. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql-executor.d.ts.map +1 -0
  670. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql-executor.js +721 -0
  671. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql-executor.js.map +1 -0
  672. package/node_modules/@undefineds.co/drizzle-solid/dist/core/subject/index.d.ts +29 -0
  673. package/node_modules/@undefineds.co/drizzle-solid/dist/core/subject/index.d.ts.map +1 -0
  674. package/node_modules/@undefineds.co/drizzle-solid/dist/core/subject/index.js +51 -0
  675. package/node_modules/@undefineds.co/drizzle-solid/dist/core/subject/index.js.map +1 -0
  676. package/node_modules/@undefineds.co/drizzle-solid/dist/core/subject/resolver.d.ts +115 -0
  677. package/node_modules/@undefineds.co/drizzle-solid/dist/core/subject/resolver.d.ts.map +1 -0
  678. package/node_modules/@undefineds.co/drizzle-solid/dist/core/subject/resolver.js +464 -0
  679. package/node_modules/@undefineds.co/drizzle-solid/dist/core/subject/resolver.js.map +1 -0
  680. package/node_modules/@undefineds.co/drizzle-solid/dist/core/subject/types.d.ts +97 -0
  681. package/node_modules/@undefineds.co/drizzle-solid/dist/core/subject/types.d.ts.map +1 -0
  682. package/node_modules/@undefineds.co/drizzle-solid/dist/core/subject/types.js +8 -0
  683. package/node_modules/@undefineds.co/drizzle-solid/dist/core/subject/types.js.map +1 -0
  684. package/node_modules/@undefineds.co/drizzle-solid/dist/core/triple/builder.d.ts +86 -0
  685. package/node_modules/@undefineds.co/drizzle-solid/dist/core/triple/builder.d.ts.map +1 -0
  686. package/node_modules/@undefineds.co/drizzle-solid/dist/core/triple/builder.js +340 -0
  687. package/node_modules/@undefineds.co/drizzle-solid/dist/core/triple/builder.js.map +1 -0
  688. package/node_modules/@undefineds.co/drizzle-solid/dist/core/triple/handlers/array.d.ts +23 -0
  689. package/node_modules/@undefineds.co/drizzle-solid/dist/core/triple/handlers/array.d.ts.map +1 -0
  690. package/node_modules/@undefineds.co/drizzle-solid/dist/core/triple/handlers/array.js +119 -0
  691. package/node_modules/@undefineds.co/drizzle-solid/dist/core/triple/handlers/array.js.map +1 -0
  692. package/node_modules/@undefineds.co/drizzle-solid/dist/core/triple/handlers/default.d.ts +20 -0
  693. package/node_modules/@undefineds.co/drizzle-solid/dist/core/triple/handlers/default.d.ts.map +1 -0
  694. package/node_modules/@undefineds.co/drizzle-solid/dist/core/triple/handlers/default.js +96 -0
  695. package/node_modules/@undefineds.co/drizzle-solid/dist/core/triple/handlers/default.js.map +1 -0
  696. package/node_modules/@undefineds.co/drizzle-solid/dist/core/triple/handlers/index.d.ts +35 -0
  697. package/node_modules/@undefineds.co/drizzle-solid/dist/core/triple/handlers/index.d.ts.map +1 -0
  698. package/node_modules/@undefineds.co/drizzle-solid/dist/core/triple/handlers/index.js +67 -0
  699. package/node_modules/@undefineds.co/drizzle-solid/dist/core/triple/handlers/index.js.map +1 -0
  700. package/node_modules/@undefineds.co/drizzle-solid/dist/core/triple/handlers/inline.d.ts +35 -0
  701. package/node_modules/@undefineds.co/drizzle-solid/dist/core/triple/handlers/inline.d.ts.map +1 -0
  702. package/node_modules/@undefineds.co/drizzle-solid/dist/core/triple/handlers/inline.js +190 -0
  703. package/node_modules/@undefineds.co/drizzle-solid/dist/core/triple/handlers/inline.js.map +1 -0
  704. package/node_modules/@undefineds.co/drizzle-solid/dist/core/triple/handlers/inverse.d.ts +26 -0
  705. package/node_modules/@undefineds.co/drizzle-solid/dist/core/triple/handlers/inverse.d.ts.map +1 -0
  706. package/node_modules/@undefineds.co/drizzle-solid/dist/core/triple/handlers/inverse.js +89 -0
  707. package/node_modules/@undefineds.co/drizzle-solid/dist/core/triple/handlers/inverse.js.map +1 -0
  708. package/node_modules/@undefineds.co/drizzle-solid/dist/core/triple/handlers/uri.d.ts +28 -0
  709. package/node_modules/@undefineds.co/drizzle-solid/dist/core/triple/handlers/uri.d.ts.map +1 -0
  710. package/node_modules/@undefineds.co/drizzle-solid/dist/core/triple/handlers/uri.js +66 -0
  711. package/node_modules/@undefineds.co/drizzle-solid/dist/core/triple/handlers/uri.js.map +1 -0
  712. package/node_modules/@undefineds.co/drizzle-solid/dist/core/triple/index.d.ts +9 -0
  713. package/node_modules/@undefineds.co/drizzle-solid/dist/core/triple/index.d.ts.map +1 -0
  714. package/node_modules/@undefineds.co/drizzle-solid/dist/core/triple/index.js +21 -0
  715. package/node_modules/@undefineds.co/drizzle-solid/dist/core/triple/index.js.map +1 -0
  716. package/node_modules/@undefineds.co/drizzle-solid/dist/core/triple/types.d.ts +152 -0
  717. package/node_modules/@undefineds.co/drizzle-solid/dist/core/triple/types.d.ts.map +1 -0
  718. package/node_modules/@undefineds.co/drizzle-solid/dist/core/triple/types.js +8 -0
  719. package/node_modules/@undefineds.co/drizzle-solid/dist/core/triple/types.js.map +1 -0
  720. package/node_modules/@undefineds.co/drizzle-solid/dist/core/typeindex-manager.d.ts +130 -0
  721. package/node_modules/@undefineds.co/drizzle-solid/dist/core/typeindex-manager.d.ts.map +1 -0
  722. package/node_modules/@undefineds.co/drizzle-solid/dist/core/typeindex-manager.js +686 -0
  723. package/node_modules/@undefineds.co/drizzle-solid/dist/core/typeindex-manager.js.map +1 -0
  724. package/node_modules/@undefineds.co/drizzle-solid/dist/core/types.d.ts +57 -0
  725. package/node_modules/@undefineds.co/drizzle-solid/dist/core/types.d.ts.map +1 -0
  726. package/node_modules/@undefineds.co/drizzle-solid/dist/core/types.js +4 -0
  727. package/node_modules/@undefineds.co/drizzle-solid/dist/core/types.js.map +1 -0
  728. package/node_modules/@undefineds.co/drizzle-solid/dist/core/uri/index.d.ts +8 -0
  729. package/node_modules/@undefineds.co/drizzle-solid/dist/core/uri/index.d.ts.map +1 -0
  730. package/node_modules/@undefineds.co/drizzle-solid/dist/core/uri/index.js +12 -0
  731. package/node_modules/@undefineds.co/drizzle-solid/dist/core/uri/index.js.map +1 -0
  732. package/node_modules/@undefineds.co/drizzle-solid/dist/core/uri/resolver.d.ts +146 -0
  733. package/node_modules/@undefineds.co/drizzle-solid/dist/core/uri/resolver.d.ts.map +1 -0
  734. package/node_modules/@undefineds.co/drizzle-solid/dist/core/uri/resolver.js +625 -0
  735. package/node_modules/@undefineds.co/drizzle-solid/dist/core/uri/resolver.js.map +1 -0
  736. package/node_modules/@undefineds.co/drizzle-solid/dist/core/uri/types.d.ts +150 -0
  737. package/node_modules/@undefineds.co/drizzle-solid/dist/core/uri/types.d.ts.map +1 -0
  738. package/node_modules/@undefineds.co/drizzle-solid/dist/core/uri/types.js +8 -0
  739. package/node_modules/@undefineds.co/drizzle-solid/dist/core/uri/types.js.map +1 -0
  740. package/node_modules/@undefineds.co/drizzle-solid/dist/core/utils/debug-logger.d.ts +19 -0
  741. package/node_modules/@undefineds.co/drizzle-solid/dist/core/utils/debug-logger.d.ts.map +1 -0
  742. package/node_modules/@undefineds.co/drizzle-solid/dist/core/utils/debug-logger.js +59 -0
  743. package/node_modules/@undefineds.co/drizzle-solid/dist/core/utils/debug-logger.js.map +1 -0
  744. package/node_modules/@undefineds.co/drizzle-solid/dist/core/utils/origin-auth.d.ts +28 -0
  745. package/node_modules/@undefineds.co/drizzle-solid/dist/core/utils/origin-auth.d.ts.map +1 -0
  746. package/node_modules/@undefineds.co/drizzle-solid/dist/core/utils/origin-auth.js +46 -0
  747. package/node_modules/@undefineds.co/drizzle-solid/dist/core/utils/origin-auth.js.map +1 -0
  748. package/node_modules/@undefineds.co/drizzle-solid/dist/core/utils/pod-root.d.ts +15 -0
  749. package/node_modules/@undefineds.co/drizzle-solid/dist/core/utils/pod-root.d.ts.map +1 -0
  750. package/node_modules/@undefineds.co/drizzle-solid/dist/core/utils/pod-root.js +72 -0
  751. package/node_modules/@undefineds.co/drizzle-solid/dist/core/utils/pod-root.js.map +1 -0
  752. package/node_modules/@undefineds.co/drizzle-solid/dist/core/zod-integration.d.ts +97 -0
  753. package/node_modules/@undefineds.co/drizzle-solid/dist/core/zod-integration.d.ts.map +1 -0
  754. package/node_modules/@undefineds.co/drizzle-solid/dist/core/zod-integration.js +236 -0
  755. package/node_modules/@undefineds.co/drizzle-solid/dist/core/zod-integration.js.map +1 -0
  756. package/node_modules/@undefineds.co/drizzle-solid/dist/driver.d.ts +52 -0
  757. package/node_modules/@undefineds.co/drizzle-solid/dist/driver.d.ts.map +1 -0
  758. package/node_modules/@undefineds.co/drizzle-solid/dist/driver.js +32 -0
  759. package/node_modules/@undefineds.co/drizzle-solid/dist/driver.js.map +1 -0
  760. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/aggregates.d.ts +19 -0
  761. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/aggregates.d.ts.map +1 -0
  762. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/aggregates.js +43 -0
  763. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/aggregates.js.map +1 -0
  764. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/ast-to-sparql.d.ts +64 -0
  765. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/ast-to-sparql.d.ts.map +1 -0
  766. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/ast-to-sparql.js +84 -0
  767. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/ast-to-sparql.js.map +1 -0
  768. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/compile-time-types.d.ts +40 -0
  769. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/compile-time-types.d.ts.map +1 -0
  770. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/compile-time-types.js +66 -0
  771. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/compile-time-types.js.map +1 -0
  772. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/comunica-patch.d.ts +2 -0
  773. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/comunica-patch.d.ts.map +1 -0
  774. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/comunica-patch.js +68 -0
  775. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/comunica-patch.js.map +1 -0
  776. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/conflict-resolution.d.ts +110 -0
  777. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/conflict-resolution.d.ts.map +1 -0
  778. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/conflict-resolution.js +246 -0
  779. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/conflict-resolution.js.map +1 -0
  780. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/discovery/composite-discovery.d.ts +18 -0
  781. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/discovery/composite-discovery.d.ts.map +1 -0
  782. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/discovery/composite-discovery.js +114 -0
  783. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/discovery/composite-discovery.js.map +1 -0
  784. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/discovery/index.d.ts +7 -0
  785. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/discovery/index.d.ts.map +1 -0
  786. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/discovery/index.js +7 -0
  787. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/discovery/index.js.map +1 -0
  788. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/discovery/interop-discovery.d.ts +36 -0
  789. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/discovery/interop-discovery.d.ts.map +1 -0
  790. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/discovery/interop-discovery.js +642 -0
  791. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/discovery/interop-discovery.js.map +1 -0
  792. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/discovery/interop-tables.d.ts +37 -0
  793. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/discovery/interop-tables.d.ts.map +1 -0
  794. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/discovery/interop-tables.js +65 -0
  795. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/discovery/interop-tables.js.map +1 -0
  796. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/discovery/interop-types.d.ts +36 -0
  797. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/discovery/interop-types.d.ts.map +1 -0
  798. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/discovery/interop-types.js +39 -0
  799. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/discovery/interop-types.js.map +1 -0
  800. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/discovery/provider-cache.d.ts +99 -0
  801. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/discovery/provider-cache.d.ts.map +1 -0
  802. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/discovery/provider-cache.js +292 -0
  803. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/discovery/provider-cache.js.map +1 -0
  804. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/discovery/typeindex-discovery.d.ts +30 -0
  805. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/discovery/typeindex-discovery.d.ts.map +1 -0
  806. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/discovery/typeindex-discovery.js +130 -0
  807. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/discovery/typeindex-discovery.js.map +1 -0
  808. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/discovery/types.d.ts +128 -0
  809. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/discovery/types.d.ts.map +1 -0
  810. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/discovery/types.js +2 -0
  811. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/discovery/types.js.map +1 -0
  812. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/index.d.ts +14 -0
  813. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/index.d.ts.map +1 -0
  814. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/index.js +13 -0
  815. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/index.js.map +1 -0
  816. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-executor.d.ts +67 -0
  817. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-executor.d.ts.map +1 -0
  818. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-executor.js +590 -0
  819. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-executor.js.map +1 -0
  820. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-strategy.d.ts +53 -0
  821. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-strategy.d.ts.map +1 -0
  822. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-strategy.js +100 -0
  823. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-strategy.js.map +1 -0
  824. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/pod-executor-types.d.ts +9 -0
  825. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/pod-executor-types.d.ts.map +1 -0
  826. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/pod-executor-types.js +2 -0
  827. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/pod-executor-types.js.map +1 -0
  828. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/pod-executor.d.ts +59 -0
  829. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/pod-executor.d.ts.map +1 -0
  830. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/pod-executor.js +224 -0
  831. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/pod-executor.js.map +1 -0
  832. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/sparql-strategy.d.ts +29 -0
  833. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/sparql-strategy.d.ts.map +1 -0
  834. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/sparql-strategy.js +61 -0
  835. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/sparql-strategy.js.map +1 -0
  836. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/strategy-factory.d.ts +41 -0
  837. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/strategy-factory.d.ts.map +1 -0
  838. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/strategy-factory.js +59 -0
  839. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/strategy-factory.js.map +1 -0
  840. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/types.d.ts +80 -0
  841. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/types.d.ts.map +1 -0
  842. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/types.js +7 -0
  843. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/types.js.map +1 -0
  844. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/expressions.d.ts +40 -0
  845. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/expressions.d.ts.map +1 -0
  846. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/expressions.js +51 -0
  847. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/expressions.js.map +1 -0
  848. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/federated/executor.d.ts +98 -0
  849. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/federated/executor.d.ts.map +1 -0
  850. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/federated/executor.js +426 -0
  851. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/federated/executor.js.map +1 -0
  852. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/federated/index.d.ts +3 -0
  853. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/federated/index.d.ts.map +1 -0
  854. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/federated/index.js +3 -0
  855. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/federated/index.js.map +1 -0
  856. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/federated/types.d.ts +69 -0
  857. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/federated/types.d.ts.map +1 -0
  858. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/federated/types.js +7 -0
  859. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/federated/types.js.map +1 -0
  860. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/channels/base-channel.d.ts +29 -0
  861. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/channels/base-channel.d.ts.map +1 -0
  862. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/channels/base-channel.js +58 -0
  863. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/channels/base-channel.js.map +1 -0
  864. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/channels/index.d.ts +4 -0
  865. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/channels/index.d.ts.map +1 -0
  866. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/channels/index.js +4 -0
  867. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/channels/index.js.map +1 -0
  868. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/channels/sse-channel.d.ts +50 -0
  869. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/channels/sse-channel.d.ts.map +1 -0
  870. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/channels/sse-channel.js +206 -0
  871. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/channels/sse-channel.js.map +1 -0
  872. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/channels/websocket-channel.d.ts +16 -0
  873. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/channels/websocket-channel.d.ts.map +1 -0
  874. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/channels/websocket-channel.js +83 -0
  875. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/channels/websocket-channel.js.map +1 -0
  876. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/index.d.ts +3 -0
  877. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/index.d.ts.map +1 -0
  878. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/index.js +2 -0
  879. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/index.js.map +1 -0
  880. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/notifications-client.d.ts +87 -0
  881. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/notifications-client.d.ts.map +1 -0
  882. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/notifications-client.js +456 -0
  883. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/notifications-client.js.map +1 -0
  884. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/types.d.ts +228 -0
  885. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/types.d.ts.map +1 -0
  886. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/types.js +6 -0
  887. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/types.js.map +1 -0
  888. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/order-by.d.ts +9 -0
  889. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/order-by.d.ts.map +1 -0
  890. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/order-by.js +15 -0
  891. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/order-by.js.map +1 -0
  892. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-database.d.ts +429 -0
  893. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-database.d.ts.map +1 -0
  894. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-database.js +1305 -0
  895. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-database.js.map +1 -0
  896. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-dialect.d.ts +295 -0
  897. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-dialect.d.ts.map +1 -0
  898. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-dialect.js +1219 -0
  899. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-dialect.js.map +1 -0
  900. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-discovery.d.ts +20 -0
  901. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-discovery.d.ts.map +1 -0
  902. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-discovery.js +109 -0
  903. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-discovery.js.map +1 -0
  904. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-session.d.ts +49 -0
  905. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-session.d.ts.map +1 -0
  906. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-session.js +115 -0
  907. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-session.js.map +1 -0
  908. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/profile-manager.d.ts +90 -0
  909. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/profile-manager.d.ts.map +1 -0
  910. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/profile-manager.js +164 -0
  911. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/profile-manager.js.map +1 -0
  912. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/delete-query-builder.d.ts +31 -0
  913. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/delete-query-builder.d.ts.map +1 -0
  914. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/delete-query-builder.js +169 -0
  915. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/delete-query-builder.js.map +1 -0
  916. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/helpers.d.ts +11 -0
  917. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/helpers.d.ts.map +1 -0
  918. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/helpers.js +190 -0
  919. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/helpers.js.map +1 -0
  920. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/index.d.ts +6 -0
  921. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/index.d.ts.map +1 -0
  922. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/index.js +5 -0
  923. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/index.js.map +1 -0
  924. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/insert-query-builder.d.ts +34 -0
  925. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/insert-query-builder.d.ts.map +1 -0
  926. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/insert-query-builder.js +168 -0
  927. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/insert-query-builder.js.map +1 -0
  928. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/select-query-builder.d.ts +150 -0
  929. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/select-query-builder.d.ts.map +1 -0
  930. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/select-query-builder.js +1817 -0
  931. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/select-query-builder.js.map +1 -0
  932. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/types.d.ts +39 -0
  933. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/types.d.ts.map +1 -0
  934. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/types.js +2 -0
  935. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/types.js.map +1 -0
  936. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/update-query-builder.d.ts +34 -0
  937. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/update-query-builder.d.ts.map +1 -0
  938. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/update-query-builder.js +208 -0
  939. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/update-query-builder.js.map +1 -0
  940. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-conditions.d.ts +60 -0
  941. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-conditions.d.ts.map +1 -0
  942. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-conditions.js +111 -0
  943. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-conditions.js.map +1 -0
  944. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-where-policy.d.ts +7 -0
  945. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-where-policy.d.ts.map +1 -0
  946. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-where-policy.js +78 -0
  947. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-where-policy.js.map +1 -0
  948. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/rdf-constants.d.ts +16 -0
  949. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/rdf-constants.d.ts.map +1 -0
  950. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/rdf-constants.js +32 -0
  951. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/rdf-constants.js.map +1 -0
  952. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/rdf-schema-parser.d.ts +34 -0
  953. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/rdf-schema-parser.d.ts.map +1 -0
  954. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/rdf-schema-parser.js +136 -0
  955. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/rdf-schema-parser.js.map +1 -0
  956. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/base-resolver.d.ts +126 -0
  957. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/base-resolver.d.ts.map +1 -0
  958. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/base-resolver.js +425 -0
  959. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/base-resolver.js.map +1 -0
  960. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/document-resolver.d.ts +36 -0
  961. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/document-resolver.d.ts.map +1 -0
  962. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/document-resolver.js +157 -0
  963. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/document-resolver.js.map +1 -0
  964. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/factory.d.ts +27 -0
  965. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/factory.d.ts.map +1 -0
  966. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/factory.js +53 -0
  967. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/factory.js.map +1 -0
  968. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/fragment-resolver.d.ts +34 -0
  969. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/fragment-resolver.d.ts.map +1 -0
  970. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/fragment-resolver.js +68 -0
  971. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/fragment-resolver.js.map +1 -0
  972. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/index.d.ts +11 -0
  973. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/index.d.ts.map +1 -0
  974. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/index.js +10 -0
  975. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/index.js.map +1 -0
  976. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/types.d.ts +57 -0
  977. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/types.d.ts.map +1 -0
  978. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/types.js +8 -0
  979. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/types.js.map +1 -0
  980. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/runtime/pod-runtime.d.ts +59 -0
  981. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/runtime/pod-runtime.d.ts.map +1 -0
  982. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/runtime/pod-runtime.js +182 -0
  983. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/runtime/pod-runtime.js.map +1 -0
  984. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/columns.d.ts +74 -0
  985. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/columns.d.ts.map +1 -0
  986. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/columns.js +282 -0
  987. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/columns.js.map +1 -0
  988. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/defs.d.ts +92 -0
  989. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/defs.d.ts.map +1 -0
  990. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/defs.js +36 -0
  991. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/defs.js.map +1 -0
  992. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/factories.d.ts +29 -0
  993. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/factories.d.ts.map +1 -0
  994. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/factories.js +89 -0
  995. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/factories.js.map +1 -0
  996. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/index.d.ts +9 -0
  997. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/index.d.ts.map +1 -0
  998. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/index.js +9 -0
  999. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/index.js.map +1 -0
  1000. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/pod-table.d.ts +100 -0
  1001. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/pod-table.d.ts.map +1 -0
  1002. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/pod-table.js +364 -0
  1003. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/pod-table.js.map +1 -0
  1004. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/relations.d.ts +26 -0
  1005. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/relations.d.ts.map +1 -0
  1006. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/relations.js +33 -0
  1007. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/relations.js.map +1 -0
  1008. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/solid-schema.d.ts +19 -0
  1009. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/solid-schema.d.ts.map +1 -0
  1010. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/solid-schema.js +87 -0
  1011. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/solid-schema.js.map +1 -0
  1012. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/types.d.ts +45 -0
  1013. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/types.d.ts.map +1 -0
  1014. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/types.js +2 -0
  1015. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/types.js.map +1 -0
  1016. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/utils.d.ts +15 -0
  1017. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/utils.d.ts.map +1 -0
  1018. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/utils.js +40 -0
  1019. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/utils.js.map +1 -0
  1020. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/select-plan.d.ts +50 -0
  1021. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/select-plan.d.ts.map +1 -0
  1022. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/select-plan.js +2 -0
  1023. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/select-plan.js.map +1 -0
  1024. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/services/pod-services.d.ts +43 -0
  1025. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/services/pod-services.d.ts.map +1 -0
  1026. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/services/pod-services.js +77 -0
  1027. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/services/pod-services.js.map +1 -0
  1028. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/shape/generator.d.ts +12 -0
  1029. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/shape/generator.d.ts.map +1 -0
  1030. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/shape/generator.js +106 -0
  1031. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/shape/generator.js.map +1 -0
  1032. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/shape/index.d.ts +4 -0
  1033. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/shape/index.d.ts.map +1 -0
  1034. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/shape/index.js +4 -0
  1035. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/shape/index.js.map +1 -0
  1036. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/shape/manager.d.ts +45 -0
  1037. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/shape/manager.d.ts.map +1 -0
  1038. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/shape/manager.js +389 -0
  1039. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/shape/manager.js.map +1 -0
  1040. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/shape/shacl-parser.d.ts +19 -0
  1041. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/shape/shacl-parser.d.ts.map +1 -0
  1042. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/shape/shacl-parser.js +210 -0
  1043. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/shape/shacl-parser.js.map +1 -0
  1044. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/shape/shacl.d.ts +11 -0
  1045. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/shape/shacl.d.ts.map +1 -0
  1046. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/shape/shacl.js +127 -0
  1047. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/shape/shacl.js.map +1 -0
  1048. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/shape/types.d.ts +149 -0
  1049. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/shape/types.d.ts.map +1 -0
  1050. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/shape/types.js +42 -0
  1051. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/shape/types.js.map +1 -0
  1052. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/shape/validator.d.ts +11 -0
  1053. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/shape/validator.d.ts.map +1 -0
  1054. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/shape/validator.js +229 -0
  1055. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/shape/validator.js.map +1 -0
  1056. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/solid-n3-client.d.ts +86 -0
  1057. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/solid-n3-client.d.ts.map +1 -0
  1058. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/solid-n3-client.js +286 -0
  1059. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/solid-n3-client.js.map +1 -0
  1060. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql/builder/expression-builder.d.ts +53 -0
  1061. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql/builder/expression-builder.d.ts.map +1 -0
  1062. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql/builder/expression-builder.js +436 -0
  1063. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql/builder/expression-builder.js.map +1 -0
  1064. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql/builder/select-builder.d.ts +44 -0
  1065. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql/builder/select-builder.d.ts.map +1 -0
  1066. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql/builder/select-builder.js +576 -0
  1067. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql/builder/select-builder.js.map +1 -0
  1068. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql/builder/update-builder.d.ts +33 -0
  1069. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql/builder/update-builder.d.ts.map +1 -0
  1070. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql/builder/update-builder.js +475 -0
  1071. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql/builder/update-builder.js.map +1 -0
  1072. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql/helpers.d.ts +19 -0
  1073. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql/helpers.d.ts.map +1 -0
  1074. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql/helpers.js +165 -0
  1075. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql/helpers.js.map +1 -0
  1076. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql/types.d.ts +10 -0
  1077. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql/types.d.ts.map +1 -0
  1078. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql/types.js +2 -0
  1079. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql/types.js.map +1 -0
  1080. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql-engine.d.ts +16 -0
  1081. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql-engine.d.ts.map +1 -0
  1082. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql-engine.js +89 -0
  1083. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql-engine.js.map +1 -0
  1084. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql-executor.d.ts +39 -0
  1085. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql-executor.d.ts.map +1 -0
  1086. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql-executor.js +717 -0
  1087. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql-executor.js.map +1 -0
  1088. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/subject/index.d.ts +29 -0
  1089. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/subject/index.d.ts.map +1 -0
  1090. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/subject/index.js +49 -0
  1091. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/subject/index.js.map +1 -0
  1092. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/subject/resolver.d.ts +115 -0
  1093. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/subject/resolver.d.ts.map +1 -0
  1094. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/subject/resolver.js +460 -0
  1095. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/subject/resolver.js.map +1 -0
  1096. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/subject/types.d.ts +97 -0
  1097. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/subject/types.d.ts.map +1 -0
  1098. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/subject/types.js +7 -0
  1099. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/subject/types.js.map +1 -0
  1100. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/builder.d.ts +86 -0
  1101. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/builder.d.ts.map +1 -0
  1102. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/builder.js +336 -0
  1103. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/builder.js.map +1 -0
  1104. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/handlers/array.d.ts +23 -0
  1105. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/handlers/array.d.ts.map +1 -0
  1106. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/handlers/array.js +115 -0
  1107. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/handlers/array.js.map +1 -0
  1108. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/handlers/default.d.ts +20 -0
  1109. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/handlers/default.d.ts.map +1 -0
  1110. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/handlers/default.js +92 -0
  1111. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/handlers/default.js.map +1 -0
  1112. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/handlers/index.d.ts +35 -0
  1113. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/handlers/index.d.ts.map +1 -0
  1114. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/handlers/index.js +59 -0
  1115. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/handlers/index.js.map +1 -0
  1116. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/handlers/inline.d.ts +35 -0
  1117. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/handlers/inline.d.ts.map +1 -0
  1118. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/handlers/inline.js +186 -0
  1119. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/handlers/inline.js.map +1 -0
  1120. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/handlers/inverse.d.ts +26 -0
  1121. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/handlers/inverse.d.ts.map +1 -0
  1122. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/handlers/inverse.js +85 -0
  1123. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/handlers/inverse.js.map +1 -0
  1124. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/handlers/uri.d.ts +28 -0
  1125. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/handlers/uri.d.ts.map +1 -0
  1126. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/handlers/uri.js +62 -0
  1127. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/handlers/uri.js.map +1 -0
  1128. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/index.d.ts +9 -0
  1129. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/index.d.ts.map +1 -0
  1130. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/index.js +10 -0
  1131. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/index.js.map +1 -0
  1132. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/types.d.ts +152 -0
  1133. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/types.d.ts.map +1 -0
  1134. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/types.js +7 -0
  1135. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/types.js.map +1 -0
  1136. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/typeindex-manager.d.ts +130 -0
  1137. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/typeindex-manager.d.ts.map +1 -0
  1138. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/typeindex-manager.js +682 -0
  1139. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/typeindex-manager.js.map +1 -0
  1140. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/types.d.ts +57 -0
  1141. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/types.d.ts.map +1 -0
  1142. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/types.js +3 -0
  1143. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/types.js.map +1 -0
  1144. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/uri/index.d.ts +8 -0
  1145. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/uri/index.d.ts.map +1 -0
  1146. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/uri/index.js +8 -0
  1147. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/uri/index.js.map +1 -0
  1148. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/uri/resolver.d.ts +146 -0
  1149. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/uri/resolver.d.ts.map +1 -0
  1150. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/uri/resolver.js +621 -0
  1151. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/uri/resolver.js.map +1 -0
  1152. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/uri/types.d.ts +150 -0
  1153. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/uri/types.d.ts.map +1 -0
  1154. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/uri/types.js +7 -0
  1155. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/uri/types.js.map +1 -0
  1156. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/utils/debug-logger.d.ts +19 -0
  1157. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/utils/debug-logger.d.ts.map +1 -0
  1158. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/utils/debug-logger.js +53 -0
  1159. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/utils/debug-logger.js.map +1 -0
  1160. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/utils/origin-auth.d.ts +28 -0
  1161. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/utils/origin-auth.d.ts.map +1 -0
  1162. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/utils/origin-auth.js +42 -0
  1163. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/utils/origin-auth.js.map +1 -0
  1164. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/utils/pod-root.d.ts +15 -0
  1165. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/utils/pod-root.d.ts.map +1 -0
  1166. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/utils/pod-root.js +69 -0
  1167. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/utils/pod-root.js.map +1 -0
  1168. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/zod-integration.d.ts +97 -0
  1169. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/zod-integration.d.ts.map +1 -0
  1170. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/zod-integration.js +227 -0
  1171. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/zod-integration.js.map +1 -0
  1172. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/driver.d.ts +52 -0
  1173. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/driver.d.ts.map +1 -0
  1174. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/driver.js +28 -0
  1175. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/driver.js.map +1 -0
  1176. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/index.d.ts +27 -0
  1177. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/index.d.ts.map +1 -0
  1178. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/index.js +48 -0
  1179. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/index.js.map +1 -0
  1180. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/package.json +3 -0
  1181. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/pod.d.ts +118 -0
  1182. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/pod.d.ts.map +1 -0
  1183. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/pod.js +146 -0
  1184. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/pod.js.map +1 -0
  1185. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/solid.d.ts +21 -0
  1186. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/solid.d.ts.map +1 -0
  1187. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/solid.js +30 -0
  1188. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/solid.js.map +1 -0
  1189. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/test-utils/real-test-helpers.d.ts +5 -0
  1190. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/test-utils/real-test-helpers.d.ts.map +1 -0
  1191. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/test-utils/real-test-helpers.js +17 -0
  1192. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/test-utils/real-test-helpers.js.map +1 -0
  1193. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/types/sparql-types.d.ts +27 -0
  1194. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/types/sparql-types.d.ts.map +1 -0
  1195. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/types/sparql-types.js +3 -0
  1196. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/types/sparql-types.js.map +1 -0
  1197. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/utils/find-by-iri.d.ts +11 -0
  1198. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/utils/find-by-iri.d.ts.map +1 -0
  1199. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/utils/find-by-iri.js +22 -0
  1200. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/utils/find-by-iri.js.map +1 -0
  1201. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/utils/helpers.d.ts +17 -0
  1202. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/utils/helpers.d.ts.map +1 -0
  1203. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/utils/helpers.js +59 -0
  1204. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/utils/helpers.js.map +1 -0
  1205. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/utils/namespace.d.ts +4 -0
  1206. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/utils/namespace.d.ts.map +1 -0
  1207. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/utils/namespace.js +30 -0
  1208. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/utils/namespace.js.map +1 -0
  1209. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/utils/rdf-helpers.d.ts +17 -0
  1210. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/utils/rdf-helpers.d.ts.map +1 -0
  1211. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/utils/rdf-helpers.js +50 -0
  1212. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/utils/rdf-helpers.js.map +1 -0
  1213. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/utils/rdf-validation.d.ts +27 -0
  1214. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/utils/rdf-validation.d.ts.map +1 -0
  1215. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/utils/rdf-validation.js +327 -0
  1216. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/utils/rdf-validation.js.map +1 -0
  1217. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/utils/thing-operations.d.ts +28 -0
  1218. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/utils/thing-operations.d.ts.map +1 -0
  1219. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/utils/thing-operations.js +249 -0
  1220. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/utils/thing-operations.js.map +1 -0
  1221. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/utils/webid-resolver.d.ts +23 -0
  1222. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/utils/webid-resolver.d.ts.map +1 -0
  1223. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/utils/webid-resolver.js +75 -0
  1224. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/utils/webid-resolver.js.map +1 -0
  1225. package/node_modules/@undefineds.co/drizzle-solid/dist/index.d.ts +27 -0
  1226. package/node_modules/@undefineds.co/drizzle-solid/dist/index.d.ts.map +1 -0
  1227. package/node_modules/@undefineds.co/drizzle-solid/dist/index.js +170 -0
  1228. package/node_modules/@undefineds.co/drizzle-solid/dist/index.js.map +1 -0
  1229. package/node_modules/@undefineds.co/drizzle-solid/dist/pod.d.ts +118 -0
  1230. package/node_modules/@undefineds.co/drizzle-solid/dist/pod.d.ts.map +1 -0
  1231. package/node_modules/@undefineds.co/drizzle-solid/dist/pod.js +153 -0
  1232. package/node_modules/@undefineds.co/drizzle-solid/dist/pod.js.map +1 -0
  1233. package/node_modules/@undefineds.co/drizzle-solid/dist/solid.d.ts +21 -0
  1234. package/node_modules/@undefineds.co/drizzle-solid/dist/solid.d.ts.map +1 -0
  1235. package/node_modules/@undefineds.co/drizzle-solid/dist/solid.js +35 -0
  1236. package/node_modules/@undefineds.co/drizzle-solid/dist/solid.js.map +1 -0
  1237. package/node_modules/@undefineds.co/drizzle-solid/dist/test-utils/real-test-helpers.d.ts +5 -0
  1238. package/node_modules/@undefineds.co/drizzle-solid/dist/test-utils/real-test-helpers.d.ts.map +1 -0
  1239. package/node_modules/@undefineds.co/drizzle-solid/dist/test-utils/real-test-helpers.js +22 -0
  1240. package/node_modules/@undefineds.co/drizzle-solid/dist/test-utils/real-test-helpers.js.map +1 -0
  1241. package/node_modules/@undefineds.co/drizzle-solid/dist/types/sparql-types.d.ts +27 -0
  1242. package/node_modules/@undefineds.co/drizzle-solid/dist/types/sparql-types.d.ts.map +1 -0
  1243. package/node_modules/@undefineds.co/drizzle-solid/dist/types/sparql-types.js +4 -0
  1244. package/node_modules/@undefineds.co/drizzle-solid/dist/types/sparql-types.js.map +1 -0
  1245. package/node_modules/@undefineds.co/drizzle-solid/dist/utils/find-by-iri.d.ts +11 -0
  1246. package/node_modules/@undefineds.co/drizzle-solid/dist/utils/find-by-iri.d.ts.map +1 -0
  1247. package/node_modules/@undefineds.co/drizzle-solid/dist/utils/find-by-iri.js +25 -0
  1248. package/node_modules/@undefineds.co/drizzle-solid/dist/utils/find-by-iri.js.map +1 -0
  1249. package/node_modules/@undefineds.co/drizzle-solid/dist/utils/helpers.d.ts +17 -0
  1250. package/node_modules/@undefineds.co/drizzle-solid/dist/utils/helpers.d.ts.map +1 -0
  1251. package/node_modules/@undefineds.co/drizzle-solid/dist/utils/helpers.js +65 -0
  1252. package/node_modules/@undefineds.co/drizzle-solid/dist/utils/helpers.js.map +1 -0
  1253. package/node_modules/@undefineds.co/drizzle-solid/dist/utils/namespace.d.ts +4 -0
  1254. package/node_modules/@undefineds.co/drizzle-solid/dist/utils/namespace.d.ts.map +1 -0
  1255. package/node_modules/@undefineds.co/drizzle-solid/dist/utils/namespace.js +33 -0
  1256. package/node_modules/@undefineds.co/drizzle-solid/dist/utils/namespace.js.map +1 -0
  1257. package/node_modules/@undefineds.co/drizzle-solid/dist/utils/rdf-helpers.d.ts +17 -0
  1258. package/node_modules/@undefineds.co/drizzle-solid/dist/utils/rdf-helpers.d.ts.map +1 -0
  1259. package/node_modules/@undefineds.co/drizzle-solid/dist/utils/rdf-helpers.js +56 -0
  1260. package/node_modules/@undefineds.co/drizzle-solid/dist/utils/rdf-helpers.js.map +1 -0
  1261. package/node_modules/@undefineds.co/drizzle-solid/dist/utils/rdf-validation.d.ts +27 -0
  1262. package/node_modules/@undefineds.co/drizzle-solid/dist/utils/rdf-validation.d.ts.map +1 -0
  1263. package/node_modules/@undefineds.co/drizzle-solid/dist/utils/rdf-validation.js +331 -0
  1264. package/node_modules/@undefineds.co/drizzle-solid/dist/utils/rdf-validation.js.map +1 -0
  1265. package/node_modules/@undefineds.co/drizzle-solid/dist/utils/thing-operations.d.ts +28 -0
  1266. package/node_modules/@undefineds.co/drizzle-solid/dist/utils/thing-operations.d.ts.map +1 -0
  1267. package/node_modules/@undefineds.co/drizzle-solid/dist/utils/thing-operations.js +256 -0
  1268. package/node_modules/@undefineds.co/drizzle-solid/dist/utils/thing-operations.js.map +1 -0
  1269. package/node_modules/@undefineds.co/drizzle-solid/dist/utils/webid-resolver.d.ts +23 -0
  1270. package/node_modules/@undefineds.co/drizzle-solid/dist/utils/webid-resolver.d.ts.map +1 -0
  1271. package/node_modules/@undefineds.co/drizzle-solid/dist/utils/webid-resolver.js +79 -0
  1272. package/node_modules/@undefineds.co/drizzle-solid/dist/utils/webid-resolver.js.map +1 -0
  1273. package/node_modules/@undefineds.co/drizzle-solid/package.json +122 -0
  1274. package/node_modules/@undefineds.co/models/README.md +578 -0
  1275. package/node_modules/@undefineds.co/models/dist/_drizzle-solid/columns.d.ts +37 -0
  1276. package/node_modules/@undefineds.co/models/dist/_drizzle-solid/columns.js +1 -0
  1277. package/node_modules/@undefineds.co/models/dist/_drizzle-solid/pod-table.d.ts +3 -0
  1278. package/node_modules/@undefineds.co/models/dist/_drizzle-solid/pod-table.js +1 -0
  1279. package/node_modules/@undefineds.co/models/dist/_drizzle-solid/types.d.ts +40 -0
  1280. package/node_modules/@undefineds.co/models/dist/_drizzle-solid/types.js +1 -0
  1281. package/node_modules/@undefineds.co/models/dist/agent.providers.d.ts +13 -0
  1282. package/node_modules/@undefineds.co/models/dist/agent.providers.js +69 -0
  1283. package/node_modules/@undefineds.co/models/dist/agent.repository.d.ts +85 -0
  1284. package/node_modules/@undefineds.co/models/dist/agent.repository.js +7 -0
  1285. package/node_modules/@undefineds.co/models/dist/agent.schema.d.ts +1 -0
  1286. package/node_modules/@undefineds.co/models/dist/agent.schema.js +1 -0
  1287. package/node_modules/@undefineds.co/models/dist/ai-config/index.d.ts +61 -0
  1288. package/node_modules/@undefineds.co/models/dist/ai-config/index.js +294 -0
  1289. package/node_modules/@undefineds.co/models/dist/ai-config.d.ts +1 -0
  1290. package/node_modules/@undefineds.co/models/dist/ai-config.js +1 -0
  1291. package/node_modules/@undefineds.co/models/dist/ai-model.schema.d.ts +1 -0
  1292. package/node_modules/@undefineds.co/models/dist/ai-model.schema.js +1 -0
  1293. package/node_modules/@undefineds.co/models/dist/ai-provider.schema.d.ts +1 -0
  1294. package/node_modules/@undefineds.co/models/dist/ai-provider.schema.js +1 -0
  1295. package/node_modules/@undefineds.co/models/dist/approval.schema.d.ts +1 -0
  1296. package/node_modules/@undefineds.co/models/dist/approval.schema.js +1 -0
  1297. package/node_modules/@undefineds.co/models/dist/audit.schema.d.ts +1 -0
  1298. package/node_modules/@undefineds.co/models/dist/audit.schema.js +1 -0
  1299. package/node_modules/@undefineds.co/models/dist/chat.repository.d.ts +61 -0
  1300. package/node_modules/@undefineds.co/models/dist/chat.repository.js +8 -0
  1301. package/node_modules/@undefineds.co/models/dist/chat.schema.d.ts +1 -0
  1302. package/node_modules/@undefineds.co/models/dist/chat.schema.js +1 -0
  1303. package/node_modules/@undefineds.co/models/dist/chat.utils.d.ts +3 -0
  1304. package/node_modules/@undefineds.co/models/dist/chat.utils.js +30 -0
  1305. package/node_modules/@undefineds.co/models/dist/contact.repository.d.ts +85 -0
  1306. package/node_modules/@undefineds.co/models/dist/contact.repository.js +8 -0
  1307. package/node_modules/@undefineds.co/models/dist/contact.schema.d.ts +1 -0
  1308. package/node_modules/@undefineds.co/models/dist/contact.schema.js +1 -0
  1309. package/node_modules/@undefineds.co/models/dist/core/agent-provider.schema.d.ts +1 -0
  1310. package/node_modules/@undefineds.co/models/dist/core/agent-provider.schema.js +1 -0
  1311. package/node_modules/@undefineds.co/models/dist/core/agent-status.schema.d.ts +12 -0
  1312. package/node_modules/@undefineds.co/models/dist/core/agent-status.schema.js +18 -0
  1313. package/node_modules/@undefineds.co/models/dist/core/agent.schema.d.ts +72 -0
  1314. package/node_modules/@undefineds.co/models/dist/core/agent.schema.js +38 -0
  1315. package/node_modules/@undefineds.co/models/dist/core/ai-config.schema.d.ts +11 -0
  1316. package/node_modules/@undefineds.co/models/dist/core/ai-config.schema.js +18 -0
  1317. package/node_modules/@undefineds.co/models/dist/core/ai-model.schema.d.ts +15 -0
  1318. package/node_modules/@undefineds.co/models/dist/core/ai-model.schema.js +21 -0
  1319. package/node_modules/@undefineds.co/models/dist/core/ai-provider.schema.d.ts +16 -0
  1320. package/node_modules/@undefineds.co/models/dist/core/ai-provider.schema.js +28 -0
  1321. package/node_modules/@undefineds.co/models/dist/core/approval.schema.d.ts +21 -0
  1322. package/node_modules/@undefineds.co/models/dist/core/approval.schema.js +33 -0
  1323. package/node_modules/@undefineds.co/models/dist/core/audit.schema.d.ts +17 -0
  1324. package/node_modules/@undefineds.co/models/dist/core/audit.schema.js +29 -0
  1325. package/node_modules/@undefineds.co/models/dist/core/chat.schema.d.ts +36 -0
  1326. package/node_modules/@undefineds.co/models/dist/core/chat.schema.js +45 -0
  1327. package/node_modules/@undefineds.co/models/dist/core/contact.schema.d.ts +47 -0
  1328. package/node_modules/@undefineds.co/models/dist/core/contact.schema.js +59 -0
  1329. package/node_modules/@undefineds.co/models/dist/core/credential.schema.d.ts +56 -0
  1330. package/node_modules/@undefineds.co/models/dist/core/credential.schema.js +40 -0
  1331. package/node_modules/@undefineds.co/models/dist/core/extension/extension.schema.d.ts +4 -0
  1332. package/node_modules/@undefineds.co/models/dist/core/extension/extension.schema.js +11 -0
  1333. package/node_modules/@undefineds.co/models/dist/core/extension/index.d.ts +1 -0
  1334. package/node_modules/@undefineds.co/models/dist/core/extension/index.js +1 -0
  1335. package/node_modules/@undefineds.co/models/dist/core/extension.d.ts +1 -0
  1336. package/node_modules/@undefineds.co/models/dist/core/extension.js +1 -0
  1337. package/node_modules/@undefineds.co/models/dist/core/favorite/favorite.schema.d.ts +24 -0
  1338. package/node_modules/@undefineds.co/models/dist/core/favorite/favorite.schema.js +34 -0
  1339. package/node_modules/@undefineds.co/models/dist/core/favorite/index.d.ts +1 -0
  1340. package/node_modules/@undefineds.co/models/dist/core/favorite/index.js +1 -0
  1341. package/node_modules/@undefineds.co/models/dist/core/file/file.schema.d.ts +39 -0
  1342. package/node_modules/@undefineds.co/models/dist/core/file/file.schema.js +51 -0
  1343. package/node_modules/@undefineds.co/models/dist/core/file/index.d.ts +1 -0
  1344. package/node_modules/@undefineds.co/models/dist/core/file/index.js +1 -0
  1345. package/node_modules/@undefineds.co/models/dist/core/file.d.ts +1 -0
  1346. package/node_modules/@undefineds.co/models/dist/core/file.js +1 -0
  1347. package/node_modules/@undefineds.co/models/dist/core/grant.schema.d.ts +16 -0
  1348. package/node_modules/@undefineds.co/models/dist/core/grant.schema.js +29 -0
  1349. package/node_modules/@undefineds.co/models/dist/core/import/import-job.schema.d.ts +5 -0
  1350. package/node_modules/@undefineds.co/models/dist/core/import/import-job.schema.js +5 -0
  1351. package/node_modules/@undefineds.co/models/dist/core/import/index.d.ts +1 -0
  1352. package/node_modules/@undefineds.co/models/dist/core/import/index.js +1 -0
  1353. package/node_modules/@undefineds.co/models/dist/core/import.d.ts +1 -0
  1354. package/node_modules/@undefineds.co/models/dist/core/import.js +1 -0
  1355. package/node_modules/@undefineds.co/models/dist/core/inbox-notification.schema.d.ts +9 -0
  1356. package/node_modules/@undefineds.co/models/dist/core/inbox-notification.schema.js +16 -0
  1357. package/node_modules/@undefineds.co/models/dist/core/index.d.ts +31 -0
  1358. package/node_modules/@undefineds.co/models/dist/core/index.js +32 -0
  1359. package/node_modules/@undefineds.co/models/dist/core/knowledge/index.d.ts +1 -0
  1360. package/node_modules/@undefineds.co/models/dist/core/knowledge/index.js +1 -0
  1361. package/node_modules/@undefineds.co/models/dist/core/knowledge/knowledge-folder.schema.d.ts +7 -0
  1362. package/node_modules/@undefineds.co/models/dist/core/knowledge/knowledge-folder.schema.js +6 -0
  1363. package/node_modules/@undefineds.co/models/dist/core/knowledge.d.ts +1 -0
  1364. package/node_modules/@undefineds.co/models/dist/core/knowledge.js +1 -0
  1365. package/node_modules/@undefineds.co/models/dist/core/message.schema.d.ts +33 -0
  1366. package/node_modules/@undefineds.co/models/dist/core/message.schema.js +49 -0
  1367. package/node_modules/@undefineds.co/models/dist/core/namespaces.d.ts +176 -0
  1368. package/node_modules/@undefineds.co/models/dist/core/namespaces.js +289 -0
  1369. package/node_modules/@undefineds.co/models/dist/core/profile.d.ts +16 -0
  1370. package/node_modules/@undefineds.co/models/dist/core/profile.js +19 -0
  1371. package/node_modules/@undefineds.co/models/dist/core/schema.d.ts +304 -0
  1372. package/node_modules/@undefineds.co/models/dist/core/schema.js +46 -0
  1373. package/node_modules/@undefineds.co/models/dist/core/session/index.d.ts +1 -0
  1374. package/node_modules/@undefineds.co/models/dist/core/session/index.js +1 -0
  1375. package/node_modules/@undefineds.co/models/dist/core/session/session.schema.d.ts +6 -0
  1376. package/node_modules/@undefineds.co/models/dist/core/session/session.schema.js +6 -0
  1377. package/node_modules/@undefineds.co/models/dist/core/session.d.ts +1 -0
  1378. package/node_modules/@undefineds.co/models/dist/core/session.js +1 -0
  1379. package/node_modules/@undefineds.co/models/dist/core/settings/index.d.ts +1 -0
  1380. package/node_modules/@undefineds.co/models/dist/core/settings/index.js +1 -0
  1381. package/node_modules/@undefineds.co/models/dist/core/settings/settings.schema.d.ts +49 -0
  1382. package/node_modules/@undefineds.co/models/dist/core/settings/settings.schema.js +63 -0
  1383. package/node_modules/@undefineds.co/models/dist/core/settings.d.ts +1 -0
  1384. package/node_modules/@undefineds.co/models/dist/core/settings.js +1 -0
  1385. package/node_modules/@undefineds.co/models/dist/core/thread.schema.d.ts +28 -0
  1386. package/node_modules/@undefineds.co/models/dist/core/thread.schema.js +36 -0
  1387. package/node_modules/@undefineds.co/models/dist/core/types/collaboration-blocks.d.ts +52 -0
  1388. package/node_modules/@undefineds.co/models/dist/core/types/collaboration-blocks.js +7 -0
  1389. package/node_modules/@undefineds.co/models/dist/core/types/message-block.d.ts +270 -0
  1390. package/node_modules/@undefineds.co/models/dist/core/types/message-block.js +125 -0
  1391. package/node_modules/@undefineds.co/models/dist/core/vector-store.schema.d.ts +25 -0
  1392. package/node_modules/@undefineds.co/models/dist/core/vector-store.schema.js +35 -0
  1393. package/node_modules/@undefineds.co/models/dist/core/vocab/_namespaces.d.ts +1 -0
  1394. package/node_modules/@undefineds.co/models/dist/core/vocab/_namespaces.js +3 -0
  1395. package/node_modules/@undefineds.co/models/dist/core/vocab/chat.vocab.d.ts +16 -0
  1396. package/node_modules/@undefineds.co/models/dist/core/vocab/chat.vocab.js +22 -0
  1397. package/node_modules/@undefineds.co/models/dist/core/vocab/contact.vocab.d.ts +21 -0
  1398. package/node_modules/@undefineds.co/models/dist/core/vocab/contact.vocab.js +22 -0
  1399. package/node_modules/@undefineds.co/models/dist/core/vocab/index.d.ts +6 -0
  1400. package/node_modules/@undefineds.co/models/dist/core/vocab/index.js +6 -0
  1401. package/node_modules/@undefineds.co/models/dist/core/vocab/message.vocab.d.ts +20 -0
  1402. package/node_modules/@undefineds.co/models/dist/core/vocab/message.vocab.js +24 -0
  1403. package/node_modules/@undefineds.co/models/dist/core/vocab/sidecar.vocab.d.ts +46 -0
  1404. package/node_modules/@undefineds.co/models/dist/core/vocab/sidecar.vocab.js +47 -0
  1405. package/node_modules/@undefineds.co/models/dist/core/vocab/thread.vocab.d.ts +11 -0
  1406. package/node_modules/@undefineds.co/models/dist/core/vocab/thread.vocab.js +14 -0
  1407. package/node_modules/@undefineds.co/models/dist/core/vocab/workspace.vocab.d.ts +12 -0
  1408. package/node_modules/@undefineds.co/models/dist/core/vocab/workspace.vocab.js +13 -0
  1409. package/node_modules/@undefineds.co/models/dist/core/vocab.d.ts +1 -0
  1410. package/node_modules/@undefineds.co/models/dist/core/vocab.js +1 -0
  1411. package/node_modules/@undefineds.co/models/dist/core/workspace.schema.d.ts +35 -0
  1412. package/node_modules/@undefineds.co/models/dist/core/workspace.schema.js +106 -0
  1413. package/node_modules/@undefineds.co/models/dist/core.d.ts +1 -0
  1414. package/node_modules/@undefineds.co/models/dist/core.js +1 -0
  1415. package/node_modules/@undefineds.co/models/dist/credential.schema.d.ts +1 -0
  1416. package/node_modules/@undefineds.co/models/dist/credential.schema.js +1 -0
  1417. package/node_modules/@undefineds.co/models/dist/discovery/index.d.ts +31 -0
  1418. package/node_modules/@undefineds.co/models/dist/discovery/index.js +147 -0
  1419. package/node_modules/@undefineds.co/models/dist/discovery/models.json +2623 -0
  1420. package/node_modules/@undefineds.co/models/dist/discovery/providers.json +156 -0
  1421. package/node_modules/@undefineds.co/models/dist/discovery/types.d.ts +103 -0
  1422. package/node_modules/@undefineds.co/models/dist/discovery/types.js +12 -0
  1423. package/node_modules/@undefineds.co/models/dist/discovery/vercel.d.ts +25 -0
  1424. package/node_modules/@undefineds.co/models/dist/discovery/vercel.js +95 -0
  1425. package/node_modules/@undefineds.co/models/dist/discovery.d.ts +1 -0
  1426. package/node_modules/@undefineds.co/models/dist/discovery.js +1 -0
  1427. package/node_modules/@undefineds.co/models/dist/extension/extension.schema.d.ts +1 -0
  1428. package/node_modules/@undefineds.co/models/dist/extension/extension.schema.js +1 -0
  1429. package/node_modules/@undefineds.co/models/dist/extension/index.d.ts +1 -0
  1430. package/node_modules/@undefineds.co/models/dist/extension/index.js +1 -0
  1431. package/node_modules/@undefineds.co/models/dist/extension.d.ts +1 -0
  1432. package/node_modules/@undefineds.co/models/dist/extension.js +1 -0
  1433. package/node_modules/@undefineds.co/models/dist/favorite/favorite.schema.d.ts +1 -0
  1434. package/node_modules/@undefineds.co/models/dist/favorite/favorite.schema.js +1 -0
  1435. package/node_modules/@undefineds.co/models/dist/favorite/index.d.ts +2 -0
  1436. package/node_modules/@undefineds.co/models/dist/favorite/index.js +7 -0
  1437. package/node_modules/@undefineds.co/models/dist/favorite/starred-sync.d.ts +66 -0
  1438. package/node_modules/@undefineds.co/models/dist/favorite/starred-sync.js +156 -0
  1439. package/node_modules/@undefineds.co/models/dist/favorite.d.ts +1 -0
  1440. package/node_modules/@undefineds.co/models/dist/favorite.js +1 -0
  1441. package/node_modules/@undefineds.co/models/dist/file/file.schema.d.ts +1 -0
  1442. package/node_modules/@undefineds.co/models/dist/file/file.schema.js +1 -0
  1443. package/node_modules/@undefineds.co/models/dist/file/index.d.ts +1 -0
  1444. package/node_modules/@undefineds.co/models/dist/file/index.js +1 -0
  1445. package/node_modules/@undefineds.co/models/dist/file.d.ts +1 -0
  1446. package/node_modules/@undefineds.co/models/dist/file.js +1 -0
  1447. package/node_modules/@undefineds.co/models/dist/fixtures/contracts-chat-contact.d.ts +13 -0
  1448. package/node_modules/@undefineds.co/models/dist/fixtures/contracts-chat-contact.js +76 -0
  1449. package/node_modules/@undefineds.co/models/dist/grant.schema.d.ts +1 -0
  1450. package/node_modules/@undefineds.co/models/dist/grant.schema.js +1 -0
  1451. package/node_modules/@undefineds.co/models/dist/import/import-job.schema.d.ts +5 -0
  1452. package/node_modules/@undefineds.co/models/dist/import/import-job.schema.js +5 -0
  1453. package/node_modules/@undefineds.co/models/dist/import/index.d.ts +1 -0
  1454. package/node_modules/@undefineds.co/models/dist/import/index.js +1 -0
  1455. package/node_modules/@undefineds.co/models/dist/import.d.ts +1 -0
  1456. package/node_modules/@undefineds.co/models/dist/import.js +1 -0
  1457. package/node_modules/@undefineds.co/models/dist/inbox-notification.schema.d.ts +1 -0
  1458. package/node_modules/@undefineds.co/models/dist/inbox-notification.schema.js +1 -0
  1459. package/node_modules/@undefineds.co/models/dist/index.d.ts +41 -0
  1460. package/node_modules/@undefineds.co/models/dist/index.js +83 -0
  1461. package/node_modules/@undefineds.co/models/dist/knowledge/index.d.ts +1 -0
  1462. package/node_modules/@undefineds.co/models/dist/knowledge/index.js +1 -0
  1463. package/node_modules/@undefineds.co/models/dist/knowledge/knowledge-folder.schema.d.ts +1 -0
  1464. package/node_modules/@undefineds.co/models/dist/knowledge/knowledge-folder.schema.js +1 -0
  1465. package/node_modules/@undefineds.co/models/dist/knowledge.d.ts +1 -0
  1466. package/node_modules/@undefineds.co/models/dist/knowledge.js +1 -0
  1467. package/node_modules/@undefineds.co/models/dist/message.repository.d.ts +81 -0
  1468. package/node_modules/@undefineds.co/models/dist/message.repository.js +8 -0
  1469. package/node_modules/@undefineds.co/models/dist/message.schema.d.ts +1 -0
  1470. package/node_modules/@undefineds.co/models/dist/message.schema.js +1 -0
  1471. package/node_modules/@undefineds.co/models/dist/namespaces.d.ts +1 -0
  1472. package/node_modules/@undefineds.co/models/dist/namespaces.js +1 -0
  1473. package/node_modules/@undefineds.co/models/dist/profile.d.ts +1 -0
  1474. package/node_modules/@undefineds.co/models/dist/profile.js +1 -0
  1475. package/node_modules/@undefineds.co/models/dist/repository.d.ts +59 -0
  1476. package/node_modules/@undefineds.co/models/dist/repository.js +186 -0
  1477. package/node_modules/@undefineds.co/models/dist/schema.d.ts +1 -0
  1478. package/node_modules/@undefineds.co/models/dist/schema.js +1 -0
  1479. package/node_modules/@undefineds.co/models/dist/session/index.d.ts +1 -0
  1480. package/node_modules/@undefineds.co/models/dist/session/index.js +1 -0
  1481. package/node_modules/@undefineds.co/models/dist/session/session.schema.d.ts +1 -0
  1482. package/node_modules/@undefineds.co/models/dist/session/session.schema.js +1 -0
  1483. package/node_modules/@undefineds.co/models/dist/session.d.ts +1 -0
  1484. package/node_modules/@undefineds.co/models/dist/session.js +1 -0
  1485. package/node_modules/@undefineds.co/models/dist/settings/index.d.ts +1 -0
  1486. package/node_modules/@undefineds.co/models/dist/settings/index.js +1 -0
  1487. package/node_modules/@undefineds.co/models/dist/settings/settings.schema.d.ts +1 -0
  1488. package/node_modules/@undefineds.co/models/dist/settings/settings.schema.js +1 -0
  1489. package/node_modules/@undefineds.co/models/dist/settings.d.ts +1 -0
  1490. package/node_modules/@undefineds.co/models/dist/settings.js +1 -0
  1491. package/node_modules/@undefineds.co/models/dist/sidecar/index.d.ts +2 -0
  1492. package/node_modules/@undefineds.co/models/dist/sidecar/index.js +2 -0
  1493. package/node_modules/@undefineds.co/models/dist/sidecar/persistence-mapping.d.ts +51 -0
  1494. package/node_modules/@undefineds.co/models/dist/sidecar/persistence-mapping.js +44 -0
  1495. package/node_modules/@undefineds.co/models/dist/sidecar/sidecar-events.d.ts +632 -0
  1496. package/node_modules/@undefineds.co/models/dist/sidecar/sidecar-events.js +133 -0
  1497. package/node_modules/@undefineds.co/models/dist/thread.repository.d.ts +41 -0
  1498. package/node_modules/@undefineds.co/models/dist/thread.repository.js +8 -0
  1499. package/node_modules/@undefineds.co/models/dist/thread.schema.d.ts +1 -0
  1500. package/node_modules/@undefineds.co/models/dist/thread.schema.js +1 -0
  1501. package/node_modules/@undefineds.co/models/dist/types/collaboration-blocks.d.ts +52 -0
  1502. package/node_modules/@undefineds.co/models/dist/types/collaboration-blocks.js +7 -0
  1503. package/node_modules/@undefineds.co/models/dist/types/message-block.d.ts +270 -0
  1504. package/node_modules/@undefineds.co/models/dist/types/message-block.js +125 -0
  1505. package/node_modules/@undefineds.co/models/dist/vocab/_namespaces.d.ts +1 -0
  1506. package/node_modules/@undefineds.co/models/dist/vocab/_namespaces.js +3 -0
  1507. package/node_modules/@undefineds.co/models/dist/vocab/chat.vocab.d.ts +16 -0
  1508. package/node_modules/@undefineds.co/models/dist/vocab/chat.vocab.js +22 -0
  1509. package/node_modules/@undefineds.co/models/dist/vocab/contact.vocab.d.ts +21 -0
  1510. package/node_modules/@undefineds.co/models/dist/vocab/contact.vocab.js +22 -0
  1511. package/node_modules/@undefineds.co/models/dist/vocab/index.d.ts +6 -0
  1512. package/node_modules/@undefineds.co/models/dist/vocab/index.js +6 -0
  1513. package/node_modules/@undefineds.co/models/dist/vocab/message.vocab.d.ts +20 -0
  1514. package/node_modules/@undefineds.co/models/dist/vocab/message.vocab.js +24 -0
  1515. package/node_modules/@undefineds.co/models/dist/vocab/sidecar.vocab.d.ts +46 -0
  1516. package/node_modules/@undefineds.co/models/dist/vocab/sidecar.vocab.js +47 -0
  1517. package/node_modules/@undefineds.co/models/dist/vocab/thread.vocab.d.ts +11 -0
  1518. package/node_modules/@undefineds.co/models/dist/vocab/thread.vocab.js +14 -0
  1519. package/node_modules/@undefineds.co/models/dist/vocab/workspace.vocab.d.ts +12 -0
  1520. package/node_modules/@undefineds.co/models/dist/vocab/workspace.vocab.js +13 -0
  1521. package/node_modules/@undefineds.co/models/dist/vocab.d.ts +1 -0
  1522. package/node_modules/@undefineds.co/models/dist/vocab.js +1 -0
  1523. package/node_modules/@undefineds.co/models/dist/workspace.repository.d.ts +45 -0
  1524. package/node_modules/@undefineds.co/models/dist/workspace.repository.js +8 -0
  1525. package/node_modules/@undefineds.co/models/dist/workspace.schema.d.ts +1 -0
  1526. package/node_modules/@undefineds.co/models/dist/workspace.schema.js +1 -0
  1527. package/node_modules/@undefineds.co/models/package.json +67 -0
  1528. package/package.json +71 -53
  1529. package/scripts/patch-jose.js +34 -0
  1530. package/static/app/assets/index.css +1 -0
  1531. package/static/app/assets/main.js +11 -0
  1532. package/dist/libs/backends/index.d.ts +0 -6
  1533. package/dist/libs/backends/index.js +0 -31
  1534. package/dist/libs/backends/index.js.map +0 -1
  1535. package/dist/libs/backends/sqlup.d.ts +0 -44
  1536. package/dist/libs/backends/sqlup.js +0 -437
  1537. package/dist/libs/backends/sqlup.js.map +0 -1
  1538. package/dist/storage/DrizzleCompat.d.ts +0 -15
  1539. package/dist/storage/DrizzleCompat.js.map +0 -1
  1540. package/dist/storage/SqliteCompat.d.ts +0 -60
  1541. package/dist/storage/SqliteCompat.js +0 -158
  1542. package/dist/storage/SqliteCompat.js.map +0 -1
  1543. package/dist/storage/vector/VectorStoreInit.d.ts +0 -28
  1544. package/dist/storage/vector/VectorStoreInit.js +0 -105
  1545. package/dist/storage/vector/VectorStoreInit.js.map +0 -1
@@ -116,7 +116,7 @@ class VectorHttpHandler extends community_server_1.HttpHandler {
116
116
  throw new community_server_2.MethodNotAllowedHttpError(['POST']);
117
117
  }
118
118
  const startTime = Date.now();
119
- await this.authorizeFor(baseUrl, request, [policy_engine_1.PERMISSIONS.Append]);
119
+ await this.authorizeForWithBodyDrain(baseUrl, request, [policy_engine_1.PERMISSIONS.Append]);
120
120
  const body = await this.readJsonBody(request);
121
121
  if (!body.model) {
122
122
  throw VectorApiError.invalidRequest('Missing "model" field');
@@ -154,7 +154,7 @@ class VectorHttpHandler extends community_server_1.HttpHandler {
154
154
  throw new community_server_2.MethodNotAllowedHttpError(['POST']);
155
155
  }
156
156
  const startTime = Date.now();
157
- await this.authorizeFor(baseUrl, request, [policy_engine_1.PERMISSIONS.Read]);
157
+ await this.authorizeForWithBodyDrain(baseUrl, request, [policy_engine_1.PERMISSIONS.Read]);
158
158
  const body = await this.readJsonBody(request);
159
159
  if (!body.model) {
160
160
  throw VectorApiError.invalidRequest('Missing "model" field');
@@ -184,7 +184,7 @@ class VectorHttpHandler extends community_server_1.HttpHandler {
184
184
  }
185
185
  const startTime = Date.now();
186
186
  // 使用 Modify 权限,因为删除向量是对向量存储的修改操作
187
- await this.authorizeFor(baseUrl, request, [policy_engine_1.PERMISSIONS.Modify]);
187
+ await this.authorizeForWithBodyDrain(baseUrl, request, [policy_engine_1.PERMISSIONS.Modify]);
188
188
  const body = await this.readJsonBody(request);
189
189
  if (!body.model) {
190
190
  throw VectorApiError.invalidRequest('Missing "model" field');
@@ -252,6 +252,15 @@ class VectorHttpHandler extends community_server_1.HttpHandler {
252
252
  this.logger.debug(`authorizeFor: baseUrl=${baseUrl}, webId=${credentials.agent?.webId}, requested=${permissions}`);
253
253
  await this.authorizer.handleSafe({ credentials, identifier, requestedModes, availablePermissions });
254
254
  }
255
+ async authorizeForWithBodyDrain(baseUrl, request, permissions) {
256
+ try {
257
+ await this.authorizeFor(baseUrl, request, permissions);
258
+ }
259
+ catch (error) {
260
+ await this.drainRequest(request);
261
+ throw error;
262
+ }
263
+ }
255
264
  parseUrl(request) {
256
265
  const protocol = request.headers['x-forwarded-proto'] || 'http';
257
266
  const host = request.headers['x-forwarded-host'] || request.headers.host || 'localhost';
@@ -270,6 +279,14 @@ class VectorHttpHandler extends community_server_1.HttpHandler {
270
279
  throw VectorApiError.invalidRequest('Invalid JSON body');
271
280
  }
272
281
  }
282
+ async drainRequest(request) {
283
+ try {
284
+ for await (const _chunk of request) {
285
+ }
286
+ }
287
+ catch {
288
+ }
289
+ }
273
290
  sendJsonResponse(response, data, status = 200) {
274
291
  response.writeHead(status, {
275
292
  'Content-Type': 'application/json',
@@ -1 +1 @@
1
- {"version":3,"file":"VectorHttpHandler.js","sourceRoot":"","sources":["../../../src/http/vector/VectorHttpHandler.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * VectorHttpHandler - 纯向量存储 HTTP API\n *\n * 提供 /-/vector 端点,只负责向量的存储和搜索,不访问 Pod 数据。\n * AI embedding 生成、credential 管理等逻辑由外部 API Server 处理。\n *\n * 端点设计:\n * - POST /-/vector/upsert - 存入向量\n * - POST /-/vector/search - 搜索向量(只接受向量输入)\n * - DELETE /-/vector/delete - 删除向量\n * - GET /-/vector/status - 索引状态\n */\n\nimport { getLoggerFor } from 'global-logger-factory';\nimport { HttpHandler } from '@solid/community-server';\nimport type { HttpHandlerInput, HttpRequest, HttpResponse } from '@solid/community-server';\nimport {\n NotImplementedHttpError,\n MethodNotAllowedHttpError,\n HttpError,\n IdentifierSetMultiMap,\n} from '@solid/community-server';\nimport { PERMISSIONS } from '@solidlab/policy-engine';\nimport type { CredentialsExtractor, PermissionReader, Authorizer, ResourceIdentifier } from '@solid/community-server';\nimport { VectorStore } from '../../storage/vector/VectorStore';\nimport type { VectorSearchOptions, VectorSearchResult } from '../../storage/vector/types';\n\nconst ALLOWED_METHODS = ['GET', 'POST', 'DELETE', 'OPTIONS'];\n\n// ============================================\n// 统一错误处理\n// ============================================\n\ntype VectorErrorCode =\n | 'INVALID_REQUEST'\n | 'UNAUTHORIZED'\n | 'FORBIDDEN'\n | 'NOT_FOUND'\n | 'DIMENSION_MISMATCH'\n | 'STORAGE_ERROR';\n\nclass VectorApiError extends Error {\n constructor(\n public readonly code: VectorErrorCode,\n public readonly statusCode: number,\n message: string,\n public readonly details?: Record<string, unknown>,\n ) {\n super(message);\n this.name = 'VectorApiError';\n }\n\n static invalidRequest(message: string, details?: Record<string, unknown>): VectorApiError {\n return new VectorApiError('INVALID_REQUEST', 400, message, details);\n }\n\n static unauthorized(message: string): VectorApiError {\n return new VectorApiError('UNAUTHORIZED', 401, message);\n }\n\n static notFound(action: string): VectorApiError {\n return new VectorApiError('NOT_FOUND', 404, `Unknown vector action: ${action}`);\n }\n\n static dimensionMismatch(expected: number, actual: number): VectorApiError {\n return new VectorApiError('DIMENSION_MISMATCH', 422, `Vector dimension mismatch: expected ${expected}, got ${actual}`, {\n expected,\n actual,\n });\n }\n\n static storageError(message: string): VectorApiError {\n return new VectorApiError('STORAGE_ERROR', 500, message);\n }\n}\n\n// ============================================\n// 请求/响应类型\n// ============================================\n\ninterface UpsertRequest {\n /** 模型名,如 text-embedding-004 */\n model: string;\n /** 要存入的向量列表 */\n vectors: {\n /** 向量 ID(通常是 subject URI 的哈希) */\n id: number;\n /** 向量数据 */\n vector: number[];\n /** 可选的元数据 */\n metadata?: Record<string, unknown>;\n }[];\n}\n\ninterface SearchRequest {\n /** 模型名 */\n model: string;\n /** 查询向量 */\n vector: number[];\n /** 返回结果数量,默认 10 */\n limit?: number;\n /** 相似度阈值 */\n threshold?: number;\n /** 排除的 ID 列表 */\n excludeIds?: number[];\n}\n\ninterface DeleteRequest {\n /** 模型名 */\n model: string;\n /** 要删除的向量 ID 列表 */\n ids: number[];\n}\n\ninterface VectorHttpHandlerOptions {\n sidecarPath?: string;\n}\n\nexport class VectorHttpHandler extends HttpHandler {\n protected readonly logger = getLoggerFor(this);\n\n private readonly vectorStore: VectorStore;\n private readonly credentialsExtractor: CredentialsExtractor;\n private readonly permissionReader: PermissionReader;\n private readonly authorizer: Authorizer;\n private readonly sidecarPath: string;\n\n public constructor(\n vectorStore: VectorStore,\n credentialsExtractor: CredentialsExtractor,\n permissionReader: PermissionReader,\n authorizer: Authorizer,\n options: VectorHttpHandlerOptions = {},\n ) {\n super();\n this.vectorStore = vectorStore;\n this.credentialsExtractor = credentialsExtractor;\n this.permissionReader = permissionReader;\n this.authorizer = authorizer;\n this.sidecarPath = options.sidecarPath ?? '/-/vector';\n }\n\n public override async canHandle({ request }: HttpHandlerInput): Promise<void> {\n const path = this.parseUrl(request).pathname;\n if (!path.includes(this.sidecarPath)) {\n throw new NotImplementedHttpError('Request is not targeting a vector endpoint.');\n }\n }\n\n public override async handle({ request, response }: HttpHandlerInput): Promise<void> {\n const method = (request.method ?? 'GET').toUpperCase();\n\n if (method === 'OPTIONS') {\n this.writeOptions(response);\n return;\n }\n\n if (!ALLOWED_METHODS.includes(method)) {\n throw new MethodNotAllowedHttpError(ALLOWED_METHODS);\n }\n\n try {\n const url = this.parseUrl(request);\n const path = decodeURIComponent(url.pathname);\n\n const sidecarIndex = path.indexOf(this.sidecarPath);\n if (sidecarIndex === -1) {\n throw new NotImplementedHttpError('Request is not targeting a vector endpoint.');\n }\n\n let basePath = path.slice(0, sidecarIndex);\n if (!basePath.endsWith('/')) {\n basePath = `${basePath}/`;\n }\n\n const actionPath = path.slice(sidecarIndex + this.sidecarPath.length);\n const action = actionPath.replace(/^\\//, '').split('/')[0] || '';\n\n const origin = `${url.protocol}//${url.host}`;\n const baseUrl = `${origin}${basePath}`;\n\n this.logger.debug(`Vector request: ${method} ${path}, action=${action}, baseUrl=${baseUrl}`);\n\n switch (action) {\n case 'upsert':\n await this.handleUpsert(request, response, baseUrl, method);\n break;\n case 'search':\n await this.handleSearch(request, response, baseUrl, method);\n break;\n case 'delete':\n await this.handleDelete(request, response, baseUrl, method);\n break;\n case 'status':\n case 'stats':\n await this.handleStatus(request, response, baseUrl, method);\n break;\n default:\n throw VectorApiError.notFound(action);\n }\n } catch (error: unknown) {\n this.handleError(response, error);\n }\n }\n\n // ============================================\n // HTTP Handlers\n // ============================================\n\n private async handleUpsert(request: HttpRequest, response: HttpResponse, baseUrl: string, method: string): Promise<void> {\n if (method !== 'POST') {\n throw new MethodNotAllowedHttpError(['POST']);\n }\n\n const startTime = Date.now();\n await this.authorizeFor(baseUrl, request, [PERMISSIONS.Append]);\n\n const body = await this.readJsonBody<UpsertRequest>(request);\n\n if (!body.model) {\n throw VectorApiError.invalidRequest('Missing \"model\" field');\n }\n\n if (!Array.isArray(body.vectors) || body.vectors.length === 0) {\n throw VectorApiError.invalidRequest('Missing or empty \"vectors\" field');\n }\n\n // 确保向量表存在\n await this.vectorStore.ensureVectorTable(body.model);\n\n let upserted = 0;\n const errors: string[] = [];\n\n for (const item of body.vectors) {\n try {\n if (typeof item.id !== 'number') {\n throw new Error('Invalid id: must be a number');\n }\n if (!Array.isArray(item.vector) || item.vector.length === 0) {\n throw new Error('Invalid vector: must be a non-empty array');\n }\n\n await this.vectorStore.upsertVector(body.model, item.id, item.vector);\n upserted++;\n } catch (err) {\n errors.push(`id=${item.id}: ${err instanceof Error ? err.message : String(err)}`);\n }\n }\n\n this.sendJsonResponse(response, {\n upserted,\n errors,\n took_ms: Date.now() - startTime,\n });\n }\n\n private async handleSearch(request: HttpRequest, response: HttpResponse, baseUrl: string, method: string): Promise<void> {\n if (method !== 'POST') {\n throw new MethodNotAllowedHttpError(['POST']);\n }\n\n const startTime = Date.now();\n await this.authorizeFor(baseUrl, request, [PERMISSIONS.Read]);\n\n const body = await this.readJsonBody<SearchRequest>(request);\n\n if (!body.model) {\n throw VectorApiError.invalidRequest('Missing \"model\" field');\n }\n\n if (!Array.isArray(body.vector) || body.vector.length === 0) {\n throw VectorApiError.invalidRequest('Missing or empty \"vector\" field');\n }\n\n const searchOptions: VectorSearchOptions = {\n limit: body.limit ?? 10,\n threshold: body.threshold,\n excludeIds: body.excludeIds ? new Set(body.excludeIds) : undefined,\n };\n\n const results = await this.vectorStore.search(body.model, body.vector, searchOptions);\n\n this.sendJsonResponse(response, {\n results: results.map((r: VectorSearchResult) => ({\n id: r.id,\n score: r.score,\n distance: r.distance,\n })),\n model: body.model,\n took_ms: Date.now() - startTime,\n });\n }\n\n private async handleDelete(request: HttpRequest, response: HttpResponse, baseUrl: string, method: string): Promise<void> {\n if (method !== 'POST' && method !== 'DELETE') {\n throw new MethodNotAllowedHttpError(['POST', 'DELETE']);\n }\n\n const startTime = Date.now();\n // 使用 Modify 权限,因为删除向量是对向量存储的修改操作\n await this.authorizeFor(baseUrl, request, [PERMISSIONS.Modify]);\n\n const body = await this.readJsonBody<DeleteRequest>(request);\n\n if (!body.model) {\n throw VectorApiError.invalidRequest('Missing \"model\" field');\n }\n\n if (!Array.isArray(body.ids) || body.ids.length === 0) {\n throw VectorApiError.invalidRequest('Missing or empty \"ids\" field');\n }\n\n let deleted = 0;\n const errors: string[] = [];\n\n for (const id of body.ids) {\n try {\n await this.vectorStore.deleteVector(body.model, id);\n deleted++;\n } catch (err) {\n errors.push(`id=${id}: ${err instanceof Error ? err.message : String(err)}`);\n }\n }\n\n this.sendJsonResponse(response, {\n deleted,\n errors,\n took_ms: Date.now() - startTime,\n });\n }\n\n private async handleStatus(request: HttpRequest, response: HttpResponse, baseUrl: string, method: string): Promise<void> {\n if (method !== 'GET') {\n throw new MethodNotAllowedHttpError(['GET']);\n }\n\n await this.authorizeFor(baseUrl, request, [PERMISSIONS.Read]);\n\n // 获取所有模型的向量统计\n const tables = await this.vectorStore.listVectorTables();\n const byModel: { model: string; count: number }[] = [];\n let totalCount = 0;\n\n for (const table of tables) {\n const count = await this.vectorStore.countVectors(table);\n byModel.push({ model: table, count });\n totalCount += count;\n }\n\n this.sendJsonResponse(response, { byModel, totalCount });\n }\n\n // ============================================\n // 辅助方法\n // ============================================\n\n private handleError(response: HttpResponse, error: unknown): void {\n if (error instanceof VectorApiError) {\n this.logger.error(`Vector API error [${error.code}]: ${error.message}`);\n this.sendErrorResponse(response, error);\n return;\n }\n\n if (error instanceof HttpError) {\n const errorMsg = error.message || error.name || `HTTP ${error.statusCode}`;\n this.logger.error(`HTTP error ${error.statusCode}: ${errorMsg}`);\n this.sendErrorResponse(response, new VectorApiError('INVALID_REQUEST', error.statusCode, errorMsg));\n return;\n }\n\n const errorMsg = error instanceof Error ? error.message : String(error);\n this.logger.error(`Unexpected error: ${errorMsg}`);\n this.sendErrorResponse(response, VectorApiError.storageError(errorMsg || 'Internal server error'));\n }\n\n private async authorizeFor(baseUrl: string, request: HttpRequest, permissions: typeof PERMISSIONS[keyof typeof PERMISSIONS][]): Promise<void> {\n const credentials = await this.credentialsExtractor.handleSafe(request);\n const identifier: ResourceIdentifier = { path: baseUrl };\n const requestedModes = new IdentifierSetMultiMap([[identifier, permissions]] as any);\n\n const availablePermissions = await this.permissionReader.handleSafe({ credentials, identifier, requestedModes } as any);\n\n this.logger.debug(`authorizeFor: baseUrl=${baseUrl}, webId=${credentials.agent?.webId}, requested=${permissions}`);\n\n await this.authorizer.handleSafe({ credentials, identifier, requestedModes, availablePermissions } as any);\n }\n\n private parseUrl(request: HttpRequest): URL {\n const protocol = request.headers['x-forwarded-proto'] || 'http';\n const host = request.headers['x-forwarded-host'] || request.headers.host || 'localhost';\n return new URL(request.url!, `${protocol}://${host}`);\n }\n\n private async readJsonBody<T>(request: HttpRequest): Promise<T> {\n const chunks: Buffer[] = [];\n for await (const chunk of request) {\n chunks.push(chunk);\n }\n const body = Buffer.concat(chunks).toString('utf8');\n try {\n return JSON.parse(body) as T;\n } catch {\n throw VectorApiError.invalidRequest('Invalid JSON body');\n }\n }\n\n private sendJsonResponse(response: HttpResponse, data: unknown, status = 200): void {\n response.writeHead(status, {\n 'Content-Type': 'application/json',\n 'Cache-Control': 'no-cache',\n });\n response.end(JSON.stringify(data));\n }\n\n private sendErrorResponse(response: HttpResponse, error: VectorApiError): void {\n response.writeHead(error.statusCode, {\n 'Content-Type': 'application/json',\n 'Cache-Control': 'no-cache',\n });\n response.end(\n JSON.stringify({\n error: true,\n code: error.code,\n message: error.message,\n details: error.details,\n }),\n );\n }\n\n private writeOptions(response: HttpResponse): void {\n response.writeHead(204, {\n 'Access-Control-Allow-Methods': ALLOWED_METHODS.join(', '),\n 'Access-Control-Allow-Headers': 'Content-Type, Authorization',\n });\n response.end();\n }\n}\n"]}
1
+ {"version":3,"file":"VectorHttpHandler.js","sourceRoot":"","sources":["../../../src/http/vector/VectorHttpHandler.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * VectorHttpHandler - 纯向量存储 HTTP API\n *\n * 提供 /-/vector 端点,只负责向量的存储和搜索,不访问 Pod 数据。\n * AI embedding 生成、credential 管理等逻辑由外部 API Server 处理。\n *\n * 端点设计:\n * - POST /-/vector/upsert - 存入向量\n * - POST /-/vector/search - 搜索向量(只接受向量输入)\n * - DELETE /-/vector/delete - 删除向量\n * - GET /-/vector/status - 索引状态\n */\n\nimport { getLoggerFor } from 'global-logger-factory';\nimport { HttpHandler } from '@solid/community-server';\nimport type { HttpHandlerInput, HttpRequest, HttpResponse } from '@solid/community-server';\nimport {\n NotImplementedHttpError,\n MethodNotAllowedHttpError,\n HttpError,\n IdentifierSetMultiMap,\n} from '@solid/community-server';\nimport { PERMISSIONS } from '@solidlab/policy-engine';\nimport type { CredentialsExtractor, PermissionReader, Authorizer, ResourceIdentifier } from '@solid/community-server';\nimport { VectorStore } from '../../storage/vector/VectorStore';\nimport type { VectorSearchOptions, VectorSearchResult } from '../../storage/vector/types';\n\nconst ALLOWED_METHODS = ['GET', 'POST', 'DELETE', 'OPTIONS'];\n\n// ============================================\n// 统一错误处理\n// ============================================\n\ntype VectorErrorCode =\n | 'INVALID_REQUEST'\n | 'UNAUTHORIZED'\n | 'FORBIDDEN'\n | 'NOT_FOUND'\n | 'DIMENSION_MISMATCH'\n | 'STORAGE_ERROR';\n\nclass VectorApiError extends Error {\n constructor(\n public readonly code: VectorErrorCode,\n public readonly statusCode: number,\n message: string,\n public readonly details?: Record<string, unknown>,\n ) {\n super(message);\n this.name = 'VectorApiError';\n }\n\n static invalidRequest(message: string, details?: Record<string, unknown>): VectorApiError {\n return new VectorApiError('INVALID_REQUEST', 400, message, details);\n }\n\n static unauthorized(message: string): VectorApiError {\n return new VectorApiError('UNAUTHORIZED', 401, message);\n }\n\n static notFound(action: string): VectorApiError {\n return new VectorApiError('NOT_FOUND', 404, `Unknown vector action: ${action}`);\n }\n\n static dimensionMismatch(expected: number, actual: number): VectorApiError {\n return new VectorApiError('DIMENSION_MISMATCH', 422, `Vector dimension mismatch: expected ${expected}, got ${actual}`, {\n expected,\n actual,\n });\n }\n\n static storageError(message: string): VectorApiError {\n return new VectorApiError('STORAGE_ERROR', 500, message);\n }\n}\n\n// ============================================\n// 请求/响应类型\n// ============================================\n\ninterface UpsertRequest {\n /** 模型名,如 text-embedding-004 */\n model: string;\n /** 要存入的向量列表 */\n vectors: {\n /** 向量 ID(通常是 subject URI 的哈希) */\n id: number;\n /** 向量数据 */\n vector: number[];\n /** 可选的元数据 */\n metadata?: Record<string, unknown>;\n }[];\n}\n\ninterface SearchRequest {\n /** 模型名 */\n model: string;\n /** 查询向量 */\n vector: number[];\n /** 返回结果数量,默认 10 */\n limit?: number;\n /** 相似度阈值 */\n threshold?: number;\n /** 排除的 ID 列表 */\n excludeIds?: number[];\n}\n\ninterface DeleteRequest {\n /** 模型名 */\n model: string;\n /** 要删除的向量 ID 列表 */\n ids: number[];\n}\n\ninterface VectorHttpHandlerOptions {\n sidecarPath?: string;\n}\n\nexport class VectorHttpHandler extends HttpHandler {\n protected readonly logger = getLoggerFor(this);\n\n private readonly vectorStore: VectorStore;\n private readonly credentialsExtractor: CredentialsExtractor;\n private readonly permissionReader: PermissionReader;\n private readonly authorizer: Authorizer;\n private readonly sidecarPath: string;\n\n public constructor(\n vectorStore: VectorStore,\n credentialsExtractor: CredentialsExtractor,\n permissionReader: PermissionReader,\n authorizer: Authorizer,\n options: VectorHttpHandlerOptions = {},\n ) {\n super();\n this.vectorStore = vectorStore;\n this.credentialsExtractor = credentialsExtractor;\n this.permissionReader = permissionReader;\n this.authorizer = authorizer;\n this.sidecarPath = options.sidecarPath ?? '/-/vector';\n }\n\n public override async canHandle({ request }: HttpHandlerInput): Promise<void> {\n const path = this.parseUrl(request).pathname;\n if (!path.includes(this.sidecarPath)) {\n throw new NotImplementedHttpError('Request is not targeting a vector endpoint.');\n }\n }\n\n public override async handle({ request, response }: HttpHandlerInput): Promise<void> {\n const method = (request.method ?? 'GET').toUpperCase();\n\n if (method === 'OPTIONS') {\n this.writeOptions(response);\n return;\n }\n\n if (!ALLOWED_METHODS.includes(method)) {\n throw new MethodNotAllowedHttpError(ALLOWED_METHODS);\n }\n\n try {\n const url = this.parseUrl(request);\n const path = decodeURIComponent(url.pathname);\n\n const sidecarIndex = path.indexOf(this.sidecarPath);\n if (sidecarIndex === -1) {\n throw new NotImplementedHttpError('Request is not targeting a vector endpoint.');\n }\n\n let basePath = path.slice(0, sidecarIndex);\n if (!basePath.endsWith('/')) {\n basePath = `${basePath}/`;\n }\n\n const actionPath = path.slice(sidecarIndex + this.sidecarPath.length);\n const action = actionPath.replace(/^\\//, '').split('/')[0] || '';\n\n const origin = `${url.protocol}//${url.host}`;\n const baseUrl = `${origin}${basePath}`;\n\n this.logger.debug(`Vector request: ${method} ${path}, action=${action}, baseUrl=${baseUrl}`);\n\n switch (action) {\n case 'upsert':\n await this.handleUpsert(request, response, baseUrl, method);\n break;\n case 'search':\n await this.handleSearch(request, response, baseUrl, method);\n break;\n case 'delete':\n await this.handleDelete(request, response, baseUrl, method);\n break;\n case 'status':\n case 'stats':\n await this.handleStatus(request, response, baseUrl, method);\n break;\n default:\n throw VectorApiError.notFound(action);\n }\n } catch (error: unknown) {\n this.handleError(response, error);\n }\n }\n\n // ============================================\n // HTTP Handlers\n // ============================================\n\n private async handleUpsert(request: HttpRequest, response: HttpResponse, baseUrl: string, method: string): Promise<void> {\n if (method !== 'POST') {\n throw new MethodNotAllowedHttpError(['POST']);\n }\n\n const startTime = Date.now();\n await this.authorizeForWithBodyDrain(baseUrl, request, [PERMISSIONS.Append]);\n\n const body = await this.readJsonBody<UpsertRequest>(request);\n\n if (!body.model) {\n throw VectorApiError.invalidRequest('Missing \"model\" field');\n }\n\n if (!Array.isArray(body.vectors) || body.vectors.length === 0) {\n throw VectorApiError.invalidRequest('Missing or empty \"vectors\" field');\n }\n\n // 确保向量表存在\n await this.vectorStore.ensureVectorTable(body.model);\n\n let upserted = 0;\n const errors: string[] = [];\n\n for (const item of body.vectors) {\n try {\n if (typeof item.id !== 'number') {\n throw new Error('Invalid id: must be a number');\n }\n if (!Array.isArray(item.vector) || item.vector.length === 0) {\n throw new Error('Invalid vector: must be a non-empty array');\n }\n\n await this.vectorStore.upsertVector(body.model, item.id, item.vector);\n upserted++;\n } catch (err) {\n errors.push(`id=${item.id}: ${err instanceof Error ? err.message : String(err)}`);\n }\n }\n\n this.sendJsonResponse(response, {\n upserted,\n errors,\n took_ms: Date.now() - startTime,\n });\n }\n\n private async handleSearch(request: HttpRequest, response: HttpResponse, baseUrl: string, method: string): Promise<void> {\n if (method !== 'POST') {\n throw new MethodNotAllowedHttpError(['POST']);\n }\n\n const startTime = Date.now();\n await this.authorizeForWithBodyDrain(baseUrl, request, [PERMISSIONS.Read]);\n\n const body = await this.readJsonBody<SearchRequest>(request);\n\n if (!body.model) {\n throw VectorApiError.invalidRequest('Missing \"model\" field');\n }\n\n if (!Array.isArray(body.vector) || body.vector.length === 0) {\n throw VectorApiError.invalidRequest('Missing or empty \"vector\" field');\n }\n\n const searchOptions: VectorSearchOptions = {\n limit: body.limit ?? 10,\n threshold: body.threshold,\n excludeIds: body.excludeIds ? new Set(body.excludeIds) : undefined,\n };\n\n const results = await this.vectorStore.search(body.model, body.vector, searchOptions);\n\n this.sendJsonResponse(response, {\n results: results.map((r: VectorSearchResult) => ({\n id: r.id,\n score: r.score,\n distance: r.distance,\n })),\n model: body.model,\n took_ms: Date.now() - startTime,\n });\n }\n\n private async handleDelete(request: HttpRequest, response: HttpResponse, baseUrl: string, method: string): Promise<void> {\n if (method !== 'POST' && method !== 'DELETE') {\n throw new MethodNotAllowedHttpError(['POST', 'DELETE']);\n }\n\n const startTime = Date.now();\n // 使用 Modify 权限,因为删除向量是对向量存储的修改操作\n await this.authorizeForWithBodyDrain(baseUrl, request, [PERMISSIONS.Modify]);\n\n const body = await this.readJsonBody<DeleteRequest>(request);\n\n if (!body.model) {\n throw VectorApiError.invalidRequest('Missing \"model\" field');\n }\n\n if (!Array.isArray(body.ids) || body.ids.length === 0) {\n throw VectorApiError.invalidRequest('Missing or empty \"ids\" field');\n }\n\n let deleted = 0;\n const errors: string[] = [];\n\n for (const id of body.ids) {\n try {\n await this.vectorStore.deleteVector(body.model, id);\n deleted++;\n } catch (err) {\n errors.push(`id=${id}: ${err instanceof Error ? err.message : String(err)}`);\n }\n }\n\n this.sendJsonResponse(response, {\n deleted,\n errors,\n took_ms: Date.now() - startTime,\n });\n }\n\n private async handleStatus(request: HttpRequest, response: HttpResponse, baseUrl: string, method: string): Promise<void> {\n if (method !== 'GET') {\n throw new MethodNotAllowedHttpError(['GET']);\n }\n\n await this.authorizeFor(baseUrl, request, [PERMISSIONS.Read]);\n\n // 获取所有模型的向量统计\n const tables = await this.vectorStore.listVectorTables();\n const byModel: { model: string; count: number }[] = [];\n let totalCount = 0;\n\n for (const table of tables) {\n const count = await this.vectorStore.countVectors(table);\n byModel.push({ model: table, count });\n totalCount += count;\n }\n\n this.sendJsonResponse(response, { byModel, totalCount });\n }\n\n // ============================================\n // 辅助方法\n // ============================================\n\n private handleError(response: HttpResponse, error: unknown): void {\n if (error instanceof VectorApiError) {\n this.logger.error(`Vector API error [${error.code}]: ${error.message}`);\n this.sendErrorResponse(response, error);\n return;\n }\n\n if (error instanceof HttpError) {\n const errorMsg = error.message || error.name || `HTTP ${error.statusCode}`;\n this.logger.error(`HTTP error ${error.statusCode}: ${errorMsg}`);\n this.sendErrorResponse(response, new VectorApiError('INVALID_REQUEST', error.statusCode, errorMsg));\n return;\n }\n\n const errorMsg = error instanceof Error ? error.message : String(error);\n this.logger.error(`Unexpected error: ${errorMsg}`);\n this.sendErrorResponse(response, VectorApiError.storageError(errorMsg || 'Internal server error'));\n }\n\n private async authorizeFor(baseUrl: string, request: HttpRequest, permissions: typeof PERMISSIONS[keyof typeof PERMISSIONS][]): Promise<void> {\n const credentials = await this.credentialsExtractor.handleSafe(request);\n const identifier: ResourceIdentifier = { path: baseUrl };\n const requestedModes = new IdentifierSetMultiMap([[identifier, permissions]] as any);\n\n const availablePermissions = await this.permissionReader.handleSafe({ credentials, identifier, requestedModes } as any);\n\n this.logger.debug(`authorizeFor: baseUrl=${baseUrl}, webId=${credentials.agent?.webId}, requested=${permissions}`);\n\n await this.authorizer.handleSafe({ credentials, identifier, requestedModes, availablePermissions } as any);\n }\n\n private async authorizeForWithBodyDrain(\n baseUrl: string,\n request: HttpRequest,\n permissions: typeof PERMISSIONS[keyof typeof PERMISSIONS][],\n ): Promise<void> {\n try {\n await this.authorizeFor(baseUrl, request, permissions);\n } catch (error: unknown) {\n await this.drainRequest(request);\n throw error;\n }\n }\n\n private parseUrl(request: HttpRequest): URL {\n const protocol = request.headers['x-forwarded-proto'] || 'http';\n const host = request.headers['x-forwarded-host'] || request.headers.host || 'localhost';\n return new URL(request.url!, `${protocol}://${host}`);\n }\n\n private async readJsonBody<T>(request: HttpRequest): Promise<T> {\n const chunks: Buffer[] = [];\n for await (const chunk of request) {\n chunks.push(chunk);\n }\n const body = Buffer.concat(chunks).toString('utf8');\n try {\n return JSON.parse(body) as T;\n } catch {\n throw VectorApiError.invalidRequest('Invalid JSON body');\n }\n }\n\n private async drainRequest(request: HttpRequest): Promise<void> {\n try {\n for await (const _chunk of request) {\n }\n } catch {\n }\n }\n\n private sendJsonResponse(response: HttpResponse, data: unknown, status = 200): void {\n response.writeHead(status, {\n 'Content-Type': 'application/json',\n 'Cache-Control': 'no-cache',\n });\n response.end(JSON.stringify(data));\n }\n\n private sendErrorResponse(response: HttpResponse, error: VectorApiError): void {\n response.writeHead(error.statusCode, {\n 'Content-Type': 'application/json',\n 'Cache-Control': 'no-cache',\n });\n response.end(\n JSON.stringify({\n error: true,\n code: error.code,\n message: error.message,\n details: error.details,\n }),\n );\n }\n\n private writeOptions(response: HttpResponse): void {\n response.writeHead(204, {\n 'Access-Control-Allow-Methods': ALLOWED_METHODS.join(', '),\n 'Access-Control-Allow-Headers': 'Content-Type, Authorization',\n });\n response.end();\n }\n}\n"]}
@@ -106,6 +106,10 @@
106
106
  "@id": "undefineds:dist/http/vector/VectorHttpHandler.jsonld#VectorHttpHandler__member_authorizeFor",
107
107
  "memberFieldName": "authorizeFor"
108
108
  },
109
+ {
110
+ "@id": "undefineds:dist/http/vector/VectorHttpHandler.jsonld#VectorHttpHandler__member_authorizeForWithBodyDrain",
111
+ "memberFieldName": "authorizeForWithBodyDrain"
112
+ },
109
113
  {
110
114
  "@id": "undefineds:dist/http/vector/VectorHttpHandler.jsonld#VectorHttpHandler__member_parseUrl",
111
115
  "memberFieldName": "parseUrl"
@@ -114,6 +118,10 @@
114
118
  "@id": "undefineds:dist/http/vector/VectorHttpHandler.jsonld#VectorHttpHandler__member_readJsonBody",
115
119
  "memberFieldName": "readJsonBody"
116
120
  },
121
+ {
122
+ "@id": "undefineds:dist/http/vector/VectorHttpHandler.jsonld#VectorHttpHandler__member_drainRequest",
123
+ "memberFieldName": "drainRequest"
124
+ },
117
125
  {
118
126
  "@id": "undefineds:dist/http/vector/VectorHttpHandler.jsonld#VectorHttpHandler__member_sendJsonResponse",
119
127
  "memberFieldName": "sendJsonResponse"
@@ -22,9 +22,6 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
25
  Object.defineProperty(exports, "__esModule", { value: true });
29
26
  exports.getSchema = getSchema;
30
27
  exports.isSqliteUrl = isSqliteUrl;
@@ -39,12 +36,10 @@ exports.toDbTimestamp = toDbTimestamp;
39
36
  exports.fromDbTimestamp = fromDbTimestamp;
40
37
  const pg_1 = require("pg");
41
38
  const node_postgres_1 = require("drizzle-orm/node-postgres");
42
- const better_sqlite3_1 = require("drizzle-orm/better-sqlite3");
43
39
  const pgSchema = __importStar(require("./schema.pg"));
44
40
  const sqliteSchema = __importStar(require("./schema.sqlite"));
45
- const node_path_1 = __importDefault(require("node:path"));
46
- const node_fs_1 = __importDefault(require("node:fs"));
47
41
  const PostgresPoolManager_1 = require("../../storage/database/PostgresPoolManager");
42
+ const SqliteRuntime_1 = require("../../storage/SqliteRuntime");
48
43
  /**
49
44
  * Get the appropriate schema for the given database connection.
50
45
  * This provides a unified abstraction layer over PG and SQLite schemas.
@@ -64,31 +59,6 @@ for (const oid of JSON_OIDS) {
64
59
  // and to satisfy PgQuintStore's parseVector expecting a string.
65
60
  pg_1.types.setTypeParser(oid, (value) => value);
66
61
  }
67
- function wrapBetterSqliteError(error) {
68
- if (!(error instanceof Error)) {
69
- return new Error(String(error));
70
- }
71
- if (!/NODE_MODULE_VERSION|compiled against a different Node\.js version/i.test(error.message)) {
72
- return error;
73
- }
74
- return new Error([
75
- `Failed to load better-sqlite3 under Node ${process.version} (ABI ${process.versions.modules}).`,
76
- 'This usually means native modules were installed with a different Node.js major version.',
77
- 'Suggested fix:',
78
- ' 1. nvm use 22',
79
- ' 2. yarn install --force --ignore-engines',
80
- '',
81
- `Original error: ${error.message}`,
82
- ].join('\n'));
83
- }
84
- function loadBetterSqlite3() {
85
- try {
86
- return require('better-sqlite3');
87
- }
88
- catch (error) {
89
- throw wrapBetterSqliteError(error);
90
- }
91
- }
92
62
  /**
93
63
  * Returns true if the connection string is a SQLite URL.
94
64
  */
@@ -107,24 +77,14 @@ function getIdentityDatabase(connectionString) {
107
77
  if (isSqliteUrl(connectionString)) {
108
78
  const filename = connectionString.replace('sqlite:', '');
109
79
  const isMemory = filename === ':memory:' || filename.startsWith(':memory:');
110
- if (!isMemory) {
111
- const directory = node_path_1.default.dirname(filename);
112
- if (directory && !node_fs_1.default.existsSync(directory)) {
113
- node_fs_1.default.mkdirSync(directory, { recursive: true });
114
- }
115
- }
116
- const BetterSqlite3 = loadBetterSqlite3();
117
- const sqlite = new BetterSqlite3(isMemory ? ':memory:' : filename);
118
- // Apply pragmas for better concurrency (prevents SQLITE_BUSY errors)
119
- // WAL mode allows concurrent reads during writes
120
- // busy_timeout waits up to 5 seconds before throwing SQLITE_BUSY
80
+ const sqliteRuntime = (0, SqliteRuntime_1.getSqliteRuntime)();
81
+ const sqlite = sqliteRuntime.openDatabase(isMemory ? ':memory:' : filename);
121
82
  if (!isMemory) {
122
83
  sqlite.pragma('journal_mode = WAL');
123
84
  sqlite.pragma('busy_timeout = 5000');
124
85
  sqlite.pragma('synchronous = NORMAL');
125
86
  }
126
- const db = (0, better_sqlite3_1.drizzle)(sqlite);
127
- // Create tables if they don't exist
87
+ const db = sqliteRuntime.createDrizzleDatabase(sqlite);
128
88
  ensureSqliteTables(sqlite);
129
89
  dbInitPromises.set(db, Promise.resolve());
130
90
  dbCache.set(connectionString, {
@@ -191,7 +151,9 @@ async function closeAllIdentityConnections() {
191
151
  * PostgreSQL drizzle has `execute()` method but no `all()` method.
192
152
  */
193
153
  function isDatabaseSqlite(db) {
194
- // SQLite drizzle has `all` method, PostgreSQL drizzle has `execute` method
154
+ if (db?.$xpodSqliteRuntime) {
155
+ return true;
156
+ }
195
157
  return typeof db.all === 'function' && typeof db.execute !== 'function';
196
158
  }
197
159
  async function ensureDatabaseReady(db) {
@@ -1 +1 @@
1
- {"version":3,"file":"db.js","sourceRoot":"","sources":["../../../src/identity/drizzle/db.ts"],"names":[],"mappings":"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","sourcesContent":["import { Pool, types } from 'pg';\nimport { drizzle as drizzlePg } from 'drizzle-orm/node-postgres';\nimport { drizzle as drizzleSqlite, BetterSQLite3Database } from 'drizzle-orm/better-sqlite3';\nimport { NodePgDatabase } from 'drizzle-orm/node-postgres';\nimport type { SQL } from 'drizzle-orm/sql';\nimport * as pgSchema from './schema.pg';\nimport * as sqliteSchema from './schema.sqlite';\nimport path from 'node:path';\nimport fs from 'node:fs';\nimport { getSharedPool, releaseSharedPool } from '../../storage/database/PostgresPoolManager';\n\n// Use 'any' to allow both PostgreSQL and SQLite database instances\n// The actual type depends on the connection string at runtime\nexport type IdentityDatabase = any;\nexport type IdentitySchema = typeof pgSchema | typeof sqliteSchema;\n\n/**\n * Get the appropriate schema for the given database connection.\n * This provides a unified abstraction layer over PG and SQLite schemas.\n *\n * @example\n * const schema = getSchema(db);\n * await db.select().from(schema.accountUsage).where(eq(schema.accountUsage.accountId, id));\n */\nexport function getSchema(db: IdentityDatabase): typeof pgSchema | typeof sqliteSchema {\n return isDatabaseSqlite(db) ? sqliteSchema : pgSchema;\n}\n\n/**\n * Standardized query result format across databases.\n */\nexport interface QueryResult<T = Record<string, unknown>> {\n rows: T[];\n}\n\ninterface CachedConnection {\n db: IdentityDatabase;\n schema: IdentitySchema;\n isSqlite: boolean;\n close: () => Promise<void>;\n}\n\nconst dbCache = new Map<string, CachedConnection>();\nconst dbInitPromises = new WeakMap<object, Promise<void>>();\n\nconst JSON_OIDS = [114, 3802];\n\ntype SqliteDdlExecutor = { exec: (sql: string) => unknown };\n\nfor (const oid of JSON_OIDS) {\n // Explicitly return raw string to avoid \"Type Conflict\" with CSS\n // and to satisfy PgQuintStore's parseVector expecting a string.\n types.setTypeParser(oid, (value) => value);\n}\n\nfunction wrapBetterSqliteError(error: unknown): Error {\n if (!(error instanceof Error)) {\n return new Error(String(error));\n }\n\n if (!/NODE_MODULE_VERSION|compiled against a different Node\\.js version/i.test(error.message)) {\n return error;\n }\n\n return new Error([\n `Failed to load better-sqlite3 under Node ${process.version} (ABI ${process.versions.modules}).`,\n 'This usually means native modules were installed with a different Node.js major version.',\n 'Suggested fix:',\n ' 1. nvm use 22',\n ' 2. yarn install --force --ignore-engines',\n '',\n `Original error: ${error.message}`,\n ].join('\\n'));\n}\n\nfunction loadBetterSqlite3(): any {\n try {\n return require('better-sqlite3');\n } catch (error) {\n throw wrapBetterSqliteError(error);\n }\n}\n\n/**\n * Returns true if the connection string is a SQLite URL.\n */\nexport function isSqliteUrl(connectionString: string): boolean {\n return connectionString.startsWith('sqlite:');\n}\n\n/**\n * Get or create a Drizzle database connection with the appropriate schema.\n * Supports both PostgreSQL and SQLite.\n */\nexport function getIdentityDatabase(connectionString: string): IdentityDatabase {\n const cached = dbCache.get(connectionString);\n if (cached) {\n return cached.db;\n }\n\n if (isSqliteUrl(connectionString)) {\n const filename = connectionString.replace('sqlite:', '');\n const isMemory = filename === ':memory:' || filename.startsWith(':memory:');\n if (!isMemory) {\n const directory = path.dirname(filename);\n if (directory && !fs.existsSync(directory)) {\n fs.mkdirSync(directory, { recursive: true });\n }\n }\n const BetterSqlite3 = loadBetterSqlite3();\n const sqlite = new BetterSqlite3(isMemory ? ':memory:' : filename);\n\n // Apply pragmas for better concurrency (prevents SQLITE_BUSY errors)\n // WAL mode allows concurrent reads during writes\n // busy_timeout waits up to 5 seconds before throwing SQLITE_BUSY\n if (!isMemory) {\n sqlite.pragma('journal_mode = WAL');\n sqlite.pragma('busy_timeout = 5000');\n sqlite.pragma('synchronous = NORMAL');\n }\n\n const db = drizzleSqlite(sqlite);\n\n // Create tables if they don't exist\n ensureSqliteTables(sqlite);\n\n dbInitPromises.set(db as object, Promise.resolve());\n dbCache.set(connectionString, {\n db,\n schema: sqliteSchema,\n isSqlite: true,\n close: async () => { sqlite.close(); },\n });\n return db;\n }\n\n // PostgreSQL: use shared pool to avoid connection exhaustion and deadlocks\n const pool = getSharedPool({ connectionString });\n const db = drizzlePg(pool);\n const initPromise = (async(): Promise<void> => {\n await ensurePostgresTables(pool);\n await migratePgColumns(pool);\n })();\n dbInitPromises.set(db as object, initPromise);\n initPromise.catch((err) => {\n console.error(`[IdentityDB] PG migration failed: ${err}`);\n });\n dbCache.set(connectionString, {\n db,\n schema: pgSchema,\n isSqlite: false,\n close: async () => { \n // Release reference to shared pool instead of ending it\n releaseSharedPool({ connectionString }); \n },\n });\n return db;\n}\n\n/**\n * Get the schema for a given connection string.\n */\nexport function getIdentitySchema(connectionString: string): IdentitySchema {\n const cached = dbCache.get(connectionString);\n if (cached) {\n return cached.schema;\n }\n // Initialize connection to populate cache\n getIdentityDatabase(connectionString);\n return dbCache.get(connectionString)!.schema;\n}\n\n/**\n * Safely get a Drizzle database connection, returning undefined on error.\n * Use this when the identity database is optional (e.g., for usage tracking).\n */\nexport function tryGetIdentityDatabase(connectionString: string): IdentityDatabase | undefined {\n try {\n return getIdentityDatabase(connectionString);\n } catch {\n return undefined;\n }\n}\n\nexport async function closeAllIdentityConnections(): Promise<void> {\n await Promise.all([...dbCache.values()].map(({ close }) => close()));\n dbCache.clear();\n}\n\n/**\n * Check if a database connection is SQLite.\n * SQLite drizzle has `all()` method but no `execute()` method.\n * PostgreSQL drizzle has `execute()` method but no `all()` method.\n */\nexport function isDatabaseSqlite(db: IdentityDatabase): boolean {\n // SQLite drizzle has `all` method, PostgreSQL drizzle has `execute` method\n return typeof db.all === 'function' && typeof db.execute !== 'function';\n}\n\nasync function ensureDatabaseReady(db: IdentityDatabase): Promise<void> {\n const initPromise = dbInitPromises.get(db as object);\n if (initPromise) {\n await initPromise;\n }\n}\n\n/**\n * Execute a SQL query uniformly across PostgreSQL and SQLite.\n * Returns a standardized result with rows array.\n *\n * @example\n * const result = await executeQuery(db, sql`SELECT * FROM users WHERE id = ${userId}`);\n * if (result.rows.length > 0) { ... }\n */\nexport async function executeQuery<T = Record<string, unknown>>(\n db: IdentityDatabase,\n query: SQL,\n): Promise<QueryResult<T>> {\n await ensureDatabaseReady(db);\n if (isDatabaseSqlite(db)) {\n // SQLite: db.all() returns array directly\n const rows = db.all(query) as T[];\n return { rows };\n }\n // PostgreSQL: db.execute() returns { rows: [...] }\n return db.execute(query) as Promise<QueryResult<T>>;\n}\n\n/**\n * Execute a SQL statement that doesn't return rows (INSERT, UPDATE, DELETE).\n * Works uniformly across PostgreSQL and SQLite.\n */\nexport async function executeStatement(\n db: IdentityDatabase,\n query: SQL,\n): Promise<void> {\n await ensureDatabaseReady(db);\n if (isDatabaseSqlite(db)) {\n // SQLite: db.run() for statements\n db.run(query);\n return;\n }\n // PostgreSQL: db.execute() works for statements too\n await db.execute(query);\n}\n\n/**\n * Convert a Date to a value suitable for the database.\n * SQLite uses Unix timestamps (seconds), PostgreSQL uses Date objects.\n */\nexport function toDbTimestamp(db: IdentityDatabase, date: Date): number | Date {\n return isDatabaseSqlite(db) ? Math.floor(date.getTime() / 1000) : date;\n}\n\n/**\n * Parse a timestamp value from database result to Date.\n * Handles both Unix timestamps (SQLite) and Date objects (PostgreSQL).\n */\nexport function fromDbTimestamp(value: unknown): Date | undefined {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (value instanceof Date) {\n return value;\n }\n if (typeof value === 'number') {\n return new Date(value * 1000);\n }\n if (typeof value === 'string') {\n return new Date(value);\n }\n return undefined;\n}\n\n/**\n * Ensure SQLite tables exist (simple DDL for local/dev mode).\n */\nfunction ensureSqliteTables(sqlite: SqliteDdlExecutor): void {\n sqlite.exec(`\n CREATE TABLE IF NOT EXISTS identity_account_usage (\n account_id TEXT PRIMARY KEY,\n storage_bytes INTEGER NOT NULL DEFAULT 0,\n ingress_bytes INTEGER NOT NULL DEFAULT 0,\n egress_bytes INTEGER NOT NULL DEFAULT 0,\n storage_limit_bytes INTEGER,\n bandwidth_limit_bps INTEGER,\n compute_seconds INTEGER NOT NULL DEFAULT 0,\n tokens_used INTEGER NOT NULL DEFAULT 0,\n compute_limit_seconds INTEGER,\n token_limit_monthly INTEGER,\n period_start INTEGER,\n updated_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now'))\n );\n\n CREATE TABLE IF NOT EXISTS identity_pod_usage (\n pod_id TEXT PRIMARY KEY,\n account_id TEXT NOT NULL,\n storage_bytes INTEGER NOT NULL DEFAULT 0,\n ingress_bytes INTEGER NOT NULL DEFAULT 0,\n egress_bytes INTEGER NOT NULL DEFAULT 0,\n storage_limit_bytes INTEGER,\n bandwidth_limit_bps INTEGER,\n compute_seconds INTEGER NOT NULL DEFAULT 0,\n tokens_used INTEGER NOT NULL DEFAULT 0,\n compute_limit_seconds INTEGER,\n token_limit_monthly INTEGER,\n period_start INTEGER,\n updated_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now'))\n );\n\n CREATE TABLE IF NOT EXISTS identity_edge_node (\n id TEXT PRIMARY KEY,\n display_name TEXT,\n owner_account_id TEXT,\n token_hash TEXT NOT NULL,\n account_id TEXT,\n node_type TEXT DEFAULT 'edge',\n subdomain TEXT UNIQUE,\n access_mode TEXT,\n ipv4 TEXT,\n public_port INTEGER,\n public_url TEXT,\n service_token_hash TEXT,\n provision_code_hash TEXT,\n internal_ip TEXT,\n internal_port INTEGER,\n hostname TEXT,\n ipv6 TEXT,\n version TEXT,\n capabilities TEXT,\n metadata TEXT,\n connectivity_status TEXT DEFAULT 'unknown',\n last_connectivity_check INTEGER,\n created_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now')),\n updated_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now')),\n last_seen INTEGER\n );\n\n CREATE TABLE IF NOT EXISTS identity_edge_node_pod (\n node_id TEXT NOT NULL REFERENCES identity_edge_node(id) ON DELETE CASCADE,\n base_url TEXT NOT NULL\n );\n\n CREATE TABLE IF NOT EXISTS api_client_credentials (\n client_id TEXT PRIMARY KEY,\n client_secret_encrypted TEXT NOT NULL,\n web_id TEXT NOT NULL,\n account_id TEXT NOT NULL,\n display_name TEXT,\n created_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now'))\n );\n\n CREATE TABLE IF NOT EXISTS identity_service_token (\n id TEXT PRIMARY KEY,\n token_hash TEXT NOT NULL UNIQUE,\n service_type TEXT NOT NULL,\n service_id TEXT NOT NULL,\n scopes TEXT NOT NULL,\n created_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now')),\n expires_at INTEGER\n );\n `);\n\n // Migrate existing tables: add new columns if missing\n migrateSqliteColumns(sqlite);\n}\n\n/**\n * Add columns that may be missing from older databases.\n * SQLite ALTER TABLE ADD COLUMN is idempotent-safe via try/catch.\n */\nfunction migrateSqliteColumns(sqlite: SqliteDdlExecutor): void {\n const addColumn = (table: string, column: string, type: string): void => {\n try {\n sqlite.exec(`ALTER TABLE ${table} ADD COLUMN ${column} ${type}`);\n } catch {\n // Column already exists — ignore\n }\n };\n\n addColumn('identity_edge_node', 'public_url', 'TEXT');\n addColumn('identity_edge_node', 'service_token_hash', 'TEXT');\n addColumn('identity_edge_node', 'provision_code_hash', 'TEXT');\n\n // Usage tables: compute/token columns\n addColumn('identity_account_usage', 'compute_seconds', 'INTEGER NOT NULL DEFAULT 0');\n addColumn('identity_account_usage', 'tokens_used', 'INTEGER NOT NULL DEFAULT 0');\n addColumn('identity_account_usage', 'compute_limit_seconds', 'INTEGER');\n addColumn('identity_account_usage', 'token_limit_monthly', 'INTEGER');\n addColumn('identity_account_usage', 'period_start', 'INTEGER');\n addColumn('identity_pod_usage', 'compute_seconds', 'INTEGER NOT NULL DEFAULT 0');\n addColumn('identity_pod_usage', 'tokens_used', 'INTEGER NOT NULL DEFAULT 0');\n addColumn('identity_pod_usage', 'compute_limit_seconds', 'INTEGER');\n addColumn('identity_pod_usage', 'token_limit_monthly', 'INTEGER');\n addColumn('identity_pod_usage', 'period_start', 'INTEGER');\n}\n\n/**\n * Add columns that may be missing from older PostgreSQL databases.\n * Uses IF NOT EXISTS via information_schema check + ALTER TABLE.\n */\nasync function migratePgColumns(pool: { query: (sql: string) => Promise<any> }): Promise<void> {\n const addColumn = async (table: string, column: string, type: string): Promise<void> => {\n try {\n await pool.query(\n `DO $$ BEGIN\n IF NOT EXISTS (\n SELECT 1 FROM information_schema.columns\n WHERE table_name = '${table}' AND column_name = '${column}'\n ) THEN\n ALTER TABLE ${table} ADD COLUMN ${column} ${type};\n END IF;\n END $$;`,\n );\n } catch {\n // Ignore errors (table might not exist yet)\n }\n };\n\n // Usage tables: compute/token columns\n await addColumn('identity_account_usage', 'compute_seconds', 'BIGINT NOT NULL DEFAULT 0');\n await addColumn('identity_account_usage', 'tokens_used', 'BIGINT NOT NULL DEFAULT 0');\n await addColumn('identity_account_usage', 'compute_limit_seconds', 'BIGINT');\n await addColumn('identity_account_usage', 'token_limit_monthly', 'BIGINT');\n await addColumn('identity_account_usage', 'period_start', 'TIMESTAMP WITH TIME ZONE');\n await addColumn('identity_pod_usage', 'compute_seconds', 'BIGINT NOT NULL DEFAULT 0');\n await addColumn('identity_pod_usage', 'tokens_used', 'BIGINT NOT NULL DEFAULT 0');\n await addColumn('identity_pod_usage', 'compute_limit_seconds', 'BIGINT');\n await addColumn('identity_pod_usage', 'token_limit_monthly', 'BIGINT');\n await addColumn('identity_pod_usage', 'period_start', 'TIMESTAMP WITH TIME ZONE');\n\n // Service token table\n try {\n await pool.query(`\n CREATE TABLE IF NOT EXISTS identity_service_token (\n id TEXT PRIMARY KEY,\n token_hash TEXT NOT NULL UNIQUE,\n service_type TEXT NOT NULL,\n service_id TEXT NOT NULL,\n scopes TEXT NOT NULL,\n created_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT NOW(),\n expires_at TIMESTAMP WITH TIME ZONE\n );\n `);\n } catch {\n // Ignore if already exists\n }\n}\n\n\nasync function ensurePostgresTables(pool: Pool): Promise<void> {\n await pool.query(`\n CREATE TABLE IF NOT EXISTS identity_account_usage (\n account_id TEXT PRIMARY KEY,\n storage_bytes BIGINT NOT NULL DEFAULT 0,\n ingress_bytes BIGINT NOT NULL DEFAULT 0,\n egress_bytes BIGINT NOT NULL DEFAULT 0,\n storage_limit_bytes BIGINT,\n bandwidth_limit_bps BIGINT,\n updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()\n );\n\n CREATE TABLE IF NOT EXISTS identity_pod_usage (\n pod_id TEXT PRIMARY KEY,\n account_id TEXT NOT NULL,\n storage_bytes BIGINT NOT NULL DEFAULT 0,\n ingress_bytes BIGINT NOT NULL DEFAULT 0,\n egress_bytes BIGINT NOT NULL DEFAULT 0,\n storage_limit_bytes BIGINT,\n bandwidth_limit_bps BIGINT,\n updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()\n );\n\n CREATE TABLE IF NOT EXISTS identity_edge_node (\n id TEXT PRIMARY KEY,\n display_name TEXT,\n owner_account_id TEXT,\n token_hash TEXT NOT NULL,\n account_id TEXT,\n node_type TEXT DEFAULT 'edge',\n subdomain TEXT UNIQUE,\n access_mode TEXT,\n public_ip TEXT,\n public_port BIGINT,\n public_url TEXT,\n service_token_hash TEXT,\n provision_code_hash TEXT,\n internal_ip TEXT,\n internal_port BIGINT,\n capabilities JSONB,\n metadata JSONB,\n connectivity_status TEXT DEFAULT 'unknown',\n last_connectivity_check TIMESTAMPTZ,\n created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),\n updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),\n last_seen TIMESTAMPTZ\n );\n\n CREATE TABLE IF NOT EXISTS identity_edge_node_pod (\n node_id TEXT NOT NULL REFERENCES identity_edge_node(id) ON DELETE CASCADE,\n base_url TEXT NOT NULL\n );\n\n CREATE TABLE IF NOT EXISTS api_client_credentials (\n client_id TEXT PRIMARY KEY,\n client_secret_encrypted TEXT NOT NULL,\n web_id TEXT NOT NULL,\n account_id TEXT NOT NULL,\n display_name TEXT,\n created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()\n );\n `);\n\n await migratePostgresColumns(pool);\n}\n\nasync function migratePostgresColumns(pool: Pool): Promise<void> {\n const addColumn = async (table: string, column: string, type: string): Promise<void> => {\n await pool.query(`ALTER TABLE ${table} ADD COLUMN IF NOT EXISTS ${column} ${type}`);\n };\n\n await addColumn('identity_edge_node', 'public_url', 'TEXT');\n await addColumn('identity_edge_node', 'service_token_hash', 'TEXT');\n await addColumn('identity_edge_node', 'provision_code_hash', 'TEXT');\n}\n"]}
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../../../src/identity/drizzle/db.ts"],"names":[],"mappings":"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","sourcesContent":["import { Pool, types } from 'pg';\nimport { drizzle as drizzlePg } from 'drizzle-orm/node-postgres';\nimport type { SQL } from 'drizzle-orm/sql';\nimport * as pgSchema from './schema.pg';\nimport * as sqliteSchema from './schema.sqlite';\nimport { getSharedPool, releaseSharedPool } from '../../storage/database/PostgresPoolManager';\nimport { getSqliteRuntime, type SqliteDatabase } from '../../storage/SqliteRuntime';\n\n// Use 'any' to allow both PostgreSQL and SQLite database instances\n// The actual type depends on the connection string at runtime\nexport type IdentityDatabase = any;\nexport type IdentitySchema = typeof pgSchema | typeof sqliteSchema;\n\n/**\n * Get the appropriate schema for the given database connection.\n * This provides a unified abstraction layer over PG and SQLite schemas.\n *\n * @example\n * const schema = getSchema(db);\n * await db.select().from(schema.accountUsage).where(eq(schema.accountUsage.accountId, id));\n */\nexport function getSchema(db: IdentityDatabase): typeof pgSchema | typeof sqliteSchema {\n return isDatabaseSqlite(db) ? sqliteSchema : pgSchema;\n}\n\n/**\n * Standardized query result format across databases.\n */\nexport interface QueryResult<T = Record<string, unknown>> {\n rows: T[];\n}\n\ninterface CachedConnection {\n db: IdentityDatabase;\n schema: IdentitySchema;\n isSqlite: boolean;\n close: () => Promise<void>;\n}\n\nconst dbCache = new Map<string, CachedConnection>();\nconst dbInitPromises = new WeakMap<object, Promise<void>>();\n\nconst JSON_OIDS = [114, 3802];\n\ntype SqliteDdlExecutor = Pick<SqliteDatabase, 'exec'>;\n\nfor (const oid of JSON_OIDS) {\n // Explicitly return raw string to avoid \"Type Conflict\" with CSS\n // and to satisfy PgQuintStore's parseVector expecting a string.\n types.setTypeParser(oid, (value) => value);\n}\n\n/**\n * Returns true if the connection string is a SQLite URL.\n */\nexport function isSqliteUrl(connectionString: string): boolean {\n return connectionString.startsWith('sqlite:');\n}\n\n/**\n * Get or create a Drizzle database connection with the appropriate schema.\n * Supports both PostgreSQL and SQLite.\n */\nexport function getIdentityDatabase(connectionString: string): IdentityDatabase {\n const cached = dbCache.get(connectionString);\n if (cached) {\n return cached.db;\n }\n\n if (isSqliteUrl(connectionString)) {\n const filename = connectionString.replace('sqlite:', '');\n const isMemory = filename === ':memory:' || filename.startsWith(':memory:');\n const sqliteRuntime = getSqliteRuntime();\n const sqlite = sqliteRuntime.openDatabase(isMemory ? ':memory:' : filename);\n\n if (!isMemory) {\n sqlite.pragma('journal_mode = WAL');\n sqlite.pragma('busy_timeout = 5000');\n sqlite.pragma('synchronous = NORMAL');\n }\n\n const db = sqliteRuntime.createDrizzleDatabase(sqlite);\n\n ensureSqliteTables(sqlite);\n\n dbInitPromises.set(db as object, Promise.resolve());\n dbCache.set(connectionString, {\n db,\n schema: sqliteSchema,\n isSqlite: true,\n close: async () => { sqlite.close(); },\n });\n return db;\n }\n\n // PostgreSQL: use shared pool to avoid connection exhaustion and deadlocks\n const pool = getSharedPool({ connectionString });\n const db = drizzlePg(pool);\n const initPromise = (async(): Promise<void> => {\n await ensurePostgresTables(pool);\n await migratePgColumns(pool);\n })();\n dbInitPromises.set(db as object, initPromise);\n initPromise.catch((err) => {\n console.error(`[IdentityDB] PG migration failed: ${err}`);\n });\n dbCache.set(connectionString, {\n db,\n schema: pgSchema,\n isSqlite: false,\n close: async () => { \n // Release reference to shared pool instead of ending it\n releaseSharedPool({ connectionString }); \n },\n });\n return db;\n}\n\n/**\n * Get the schema for a given connection string.\n */\nexport function getIdentitySchema(connectionString: string): IdentitySchema {\n const cached = dbCache.get(connectionString);\n if (cached) {\n return cached.schema;\n }\n // Initialize connection to populate cache\n getIdentityDatabase(connectionString);\n return dbCache.get(connectionString)!.schema;\n}\n\n/**\n * Safely get a Drizzle database connection, returning undefined on error.\n * Use this when the identity database is optional (e.g., for usage tracking).\n */\nexport function tryGetIdentityDatabase(connectionString: string): IdentityDatabase | undefined {\n try {\n return getIdentityDatabase(connectionString);\n } catch {\n return undefined;\n }\n}\n\nexport async function closeAllIdentityConnections(): Promise<void> {\n await Promise.all([...dbCache.values()].map(({ close }) => close()));\n dbCache.clear();\n}\n\n/**\n * Check if a database connection is SQLite.\n * SQLite drizzle has `all()` method but no `execute()` method.\n * PostgreSQL drizzle has `execute()` method but no `all()` method.\n */\nexport function isDatabaseSqlite(db: IdentityDatabase): boolean {\n if ((db as any)?.$xpodSqliteRuntime) {\n return true;\n }\n return typeof db.all === 'function' && typeof db.execute !== 'function';\n}\n\nasync function ensureDatabaseReady(db: IdentityDatabase): Promise<void> {\n const initPromise = dbInitPromises.get(db as object);\n if (initPromise) {\n await initPromise;\n }\n}\n\n/**\n * Execute a SQL query uniformly across PostgreSQL and SQLite.\n * Returns a standardized result with rows array.\n *\n * @example\n * const result = await executeQuery(db, sql`SELECT * FROM users WHERE id = ${userId}`);\n * if (result.rows.length > 0) { ... }\n */\nexport async function executeQuery<T = Record<string, unknown>>(\n db: IdentityDatabase,\n query: SQL,\n): Promise<QueryResult<T>> {\n await ensureDatabaseReady(db);\n if (isDatabaseSqlite(db)) {\n // SQLite: db.all() returns array directly\n const rows = db.all(query) as T[];\n return { rows };\n }\n // PostgreSQL: db.execute() returns { rows: [...] }\n return db.execute(query) as Promise<QueryResult<T>>;\n}\n\n/**\n * Execute a SQL statement that doesn't return rows (INSERT, UPDATE, DELETE).\n * Works uniformly across PostgreSQL and SQLite.\n */\nexport async function executeStatement(\n db: IdentityDatabase,\n query: SQL,\n): Promise<void> {\n await ensureDatabaseReady(db);\n if (isDatabaseSqlite(db)) {\n // SQLite: db.run() for statements\n db.run(query);\n return;\n }\n // PostgreSQL: db.execute() works for statements too\n await db.execute(query);\n}\n\n/**\n * Convert a Date to a value suitable for the database.\n * SQLite uses Unix timestamps (seconds), PostgreSQL uses Date objects.\n */\nexport function toDbTimestamp(db: IdentityDatabase, date: Date): number | Date {\n return isDatabaseSqlite(db) ? Math.floor(date.getTime() / 1000) : date;\n}\n\n/**\n * Parse a timestamp value from database result to Date.\n * Handles both Unix timestamps (SQLite) and Date objects (PostgreSQL).\n */\nexport function fromDbTimestamp(value: unknown): Date | undefined {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (value instanceof Date) {\n return value;\n }\n if (typeof value === 'number') {\n return new Date(value * 1000);\n }\n if (typeof value === 'string') {\n return new Date(value);\n }\n return undefined;\n}\n\n/**\n * Ensure SQLite tables exist (simple DDL for local/dev mode).\n */\nfunction ensureSqliteTables(sqlite: SqliteDdlExecutor): void {\n sqlite.exec(`\n CREATE TABLE IF NOT EXISTS identity_account_usage (\n account_id TEXT PRIMARY KEY,\n storage_bytes INTEGER NOT NULL DEFAULT 0,\n ingress_bytes INTEGER NOT NULL DEFAULT 0,\n egress_bytes INTEGER NOT NULL DEFAULT 0,\n storage_limit_bytes INTEGER,\n bandwidth_limit_bps INTEGER,\n compute_seconds INTEGER NOT NULL DEFAULT 0,\n tokens_used INTEGER NOT NULL DEFAULT 0,\n compute_limit_seconds INTEGER,\n token_limit_monthly INTEGER,\n period_start INTEGER,\n updated_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now'))\n );\n\n CREATE TABLE IF NOT EXISTS identity_pod_usage (\n pod_id TEXT PRIMARY KEY,\n account_id TEXT NOT NULL,\n storage_bytes INTEGER NOT NULL DEFAULT 0,\n ingress_bytes INTEGER NOT NULL DEFAULT 0,\n egress_bytes INTEGER NOT NULL DEFAULT 0,\n storage_limit_bytes INTEGER,\n bandwidth_limit_bps INTEGER,\n compute_seconds INTEGER NOT NULL DEFAULT 0,\n tokens_used INTEGER NOT NULL DEFAULT 0,\n compute_limit_seconds INTEGER,\n token_limit_monthly INTEGER,\n period_start INTEGER,\n updated_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now'))\n );\n\n CREATE TABLE IF NOT EXISTS identity_edge_node (\n id TEXT PRIMARY KEY,\n display_name TEXT,\n owner_account_id TEXT,\n token_hash TEXT NOT NULL,\n account_id TEXT,\n node_type TEXT DEFAULT 'edge',\n subdomain TEXT UNIQUE,\n access_mode TEXT,\n ipv4 TEXT,\n public_port INTEGER,\n public_url TEXT,\n service_token_hash TEXT,\n provision_code_hash TEXT,\n internal_ip TEXT,\n internal_port INTEGER,\n hostname TEXT,\n ipv6 TEXT,\n version TEXT,\n capabilities TEXT,\n metadata TEXT,\n connectivity_status TEXT DEFAULT 'unknown',\n last_connectivity_check INTEGER,\n created_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now')),\n updated_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now')),\n last_seen INTEGER\n );\n\n CREATE TABLE IF NOT EXISTS identity_edge_node_pod (\n node_id TEXT NOT NULL REFERENCES identity_edge_node(id) ON DELETE CASCADE,\n base_url TEXT NOT NULL\n );\n\n CREATE TABLE IF NOT EXISTS api_client_credentials (\n client_id TEXT PRIMARY KEY,\n client_secret_encrypted TEXT NOT NULL,\n web_id TEXT NOT NULL,\n account_id TEXT NOT NULL,\n display_name TEXT,\n created_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now'))\n );\n\n CREATE TABLE IF NOT EXISTS identity_service_token (\n id TEXT PRIMARY KEY,\n token_hash TEXT NOT NULL UNIQUE,\n service_type TEXT NOT NULL,\n service_id TEXT NOT NULL,\n scopes TEXT NOT NULL,\n created_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now')),\n expires_at INTEGER\n );\n `);\n\n // Migrate existing tables: add new columns if missing\n migrateSqliteColumns(sqlite);\n}\n\n/**\n * Add columns that may be missing from older databases.\n * SQLite ALTER TABLE ADD COLUMN is idempotent-safe via try/catch.\n */\nfunction migrateSqliteColumns(sqlite: SqliteDdlExecutor): void {\n const addColumn = (table: string, column: string, type: string): void => {\n try {\n sqlite.exec(`ALTER TABLE ${table} ADD COLUMN ${column} ${type}`);\n } catch {\n // Column already exists — ignore\n }\n };\n\n addColumn('identity_edge_node', 'public_url', 'TEXT');\n addColumn('identity_edge_node', 'service_token_hash', 'TEXT');\n addColumn('identity_edge_node', 'provision_code_hash', 'TEXT');\n\n // Usage tables: compute/token columns\n addColumn('identity_account_usage', 'compute_seconds', 'INTEGER NOT NULL DEFAULT 0');\n addColumn('identity_account_usage', 'tokens_used', 'INTEGER NOT NULL DEFAULT 0');\n addColumn('identity_account_usage', 'compute_limit_seconds', 'INTEGER');\n addColumn('identity_account_usage', 'token_limit_monthly', 'INTEGER');\n addColumn('identity_account_usage', 'period_start', 'INTEGER');\n addColumn('identity_pod_usage', 'compute_seconds', 'INTEGER NOT NULL DEFAULT 0');\n addColumn('identity_pod_usage', 'tokens_used', 'INTEGER NOT NULL DEFAULT 0');\n addColumn('identity_pod_usage', 'compute_limit_seconds', 'INTEGER');\n addColumn('identity_pod_usage', 'token_limit_monthly', 'INTEGER');\n addColumn('identity_pod_usage', 'period_start', 'INTEGER');\n}\n\n/**\n * Add columns that may be missing from older PostgreSQL databases.\n * Uses IF NOT EXISTS via information_schema check + ALTER TABLE.\n */\nasync function migratePgColumns(pool: { query: (sql: string) => Promise<any> }): Promise<void> {\n const addColumn = async (table: string, column: string, type: string): Promise<void> => {\n try {\n await pool.query(\n `DO $$ BEGIN\n IF NOT EXISTS (\n SELECT 1 FROM information_schema.columns\n WHERE table_name = '${table}' AND column_name = '${column}'\n ) THEN\n ALTER TABLE ${table} ADD COLUMN ${column} ${type};\n END IF;\n END $$;`,\n );\n } catch {\n // Ignore errors (table might not exist yet)\n }\n };\n\n // Usage tables: compute/token columns\n await addColumn('identity_account_usage', 'compute_seconds', 'BIGINT NOT NULL DEFAULT 0');\n await addColumn('identity_account_usage', 'tokens_used', 'BIGINT NOT NULL DEFAULT 0');\n await addColumn('identity_account_usage', 'compute_limit_seconds', 'BIGINT');\n await addColumn('identity_account_usage', 'token_limit_monthly', 'BIGINT');\n await addColumn('identity_account_usage', 'period_start', 'TIMESTAMP WITH TIME ZONE');\n await addColumn('identity_pod_usage', 'compute_seconds', 'BIGINT NOT NULL DEFAULT 0');\n await addColumn('identity_pod_usage', 'tokens_used', 'BIGINT NOT NULL DEFAULT 0');\n await addColumn('identity_pod_usage', 'compute_limit_seconds', 'BIGINT');\n await addColumn('identity_pod_usage', 'token_limit_monthly', 'BIGINT');\n await addColumn('identity_pod_usage', 'period_start', 'TIMESTAMP WITH TIME ZONE');\n\n // Service token table\n try {\n await pool.query(`\n CREATE TABLE IF NOT EXISTS identity_service_token (\n id TEXT PRIMARY KEY,\n token_hash TEXT NOT NULL UNIQUE,\n service_type TEXT NOT NULL,\n service_id TEXT NOT NULL,\n scopes TEXT NOT NULL,\n created_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT NOW(),\n expires_at TIMESTAMP WITH TIME ZONE\n );\n `);\n } catch {\n // Ignore if already exists\n }\n}\n\n\nasync function ensurePostgresTables(pool: Pool): Promise<void> {\n await pool.query(`\n CREATE TABLE IF NOT EXISTS identity_account_usage (\n account_id TEXT PRIMARY KEY,\n storage_bytes BIGINT NOT NULL DEFAULT 0,\n ingress_bytes BIGINT NOT NULL DEFAULT 0,\n egress_bytes BIGINT NOT NULL DEFAULT 0,\n storage_limit_bytes BIGINT,\n bandwidth_limit_bps BIGINT,\n updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()\n );\n\n CREATE TABLE IF NOT EXISTS identity_pod_usage (\n pod_id TEXT PRIMARY KEY,\n account_id TEXT NOT NULL,\n storage_bytes BIGINT NOT NULL DEFAULT 0,\n ingress_bytes BIGINT NOT NULL DEFAULT 0,\n egress_bytes BIGINT NOT NULL DEFAULT 0,\n storage_limit_bytes BIGINT,\n bandwidth_limit_bps BIGINT,\n updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()\n );\n\n CREATE TABLE IF NOT EXISTS identity_edge_node (\n id TEXT PRIMARY KEY,\n display_name TEXT,\n owner_account_id TEXT,\n token_hash TEXT NOT NULL,\n account_id TEXT,\n node_type TEXT DEFAULT 'edge',\n subdomain TEXT UNIQUE,\n access_mode TEXT,\n public_ip TEXT,\n public_port BIGINT,\n public_url TEXT,\n service_token_hash TEXT,\n provision_code_hash TEXT,\n internal_ip TEXT,\n internal_port BIGINT,\n capabilities JSONB,\n metadata JSONB,\n connectivity_status TEXT DEFAULT 'unknown',\n last_connectivity_check TIMESTAMPTZ,\n created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),\n updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),\n last_seen TIMESTAMPTZ\n );\n\n CREATE TABLE IF NOT EXISTS identity_edge_node_pod (\n node_id TEXT NOT NULL REFERENCES identity_edge_node(id) ON DELETE CASCADE,\n base_url TEXT NOT NULL\n );\n\n CREATE TABLE IF NOT EXISTS api_client_credentials (\n client_id TEXT PRIMARY KEY,\n client_secret_encrypted TEXT NOT NULL,\n web_id TEXT NOT NULL,\n account_id TEXT NOT NULL,\n display_name TEXT,\n created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()\n );\n `);\n\n await migratePostgresColumns(pool);\n}\n\nasync function migratePostgresColumns(pool: Pool): Promise<void> {\n const addColumn = async (table: string, column: string, type: string): Promise<void> => {\n await pool.query(`ALTER TABLE ${table} ADD COLUMN IF NOT EXISTS ${column} ${type}`);\n };\n\n await addColumn('identity_edge_node', 'public_url', 'TEXT');\n await addColumn('identity_edge_node', 'service_token_hash', 'TEXT');\n await addColumn('identity_edge_node', 'provision_code_hash', 'TEXT');\n}\n"]}