@undefineds.co/xpod 0.2.0 → 0.2.1

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 +182 -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 +1 -0
  330. package/dist/storage/vector/SqliteVectorStore.js +7 -11
  331. package/dist/storage/vector/SqliteVectorStore.js.map +1 -1
  332. package/dist/storage/vector/SqliteVectorStore.jsonld +4 -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
@@ -1,65 +1,7 @@
1
1
  "use strict";
2
- /**
3
- * VectorStore Schema - Container 级别的知识库配置
4
- *
5
- * 存储位置: /settings/ai/vector-stores.ttl
6
- */
7
2
  Object.defineProperty(exports, "__esModule", { value: true });
8
3
  exports.IndexedFile = exports.VectorStore = void 0;
9
- const drizzle_solid_1 = require("@undefineds.co/drizzle-solid");
10
- const vocab_1 = require("../../vocab");
11
- /**
12
- * VectorStore - Container 级别的知识库配置
13
- *
14
- * RDF 示例:
15
- * <#vs_abc123> a udfs:VectorStore ;
16
- * udfs:name "My Notes" ;
17
- * udfs:container </notes/> ;
18
- * udfs:chunkingStrategy "auto" ;
19
- * udfs:status "completed" ;
20
- * udfs:createdAt "2024-01-15T10:30:00Z"^^xsd:dateTime .
21
- */
22
- exports.VectorStore = (0, drizzle_solid_1.podTable)('VectorStore', {
23
- id: (0, drizzle_solid_1.string)('id').primaryKey(),
24
- name: (0, drizzle_solid_1.string)('name'),
25
- container: (0, drizzle_solid_1.uri)('container'),
26
- chunkingStrategy: (0, drizzle_solid_1.string)('chunkingStrategy'),
27
- status: (0, drizzle_solid_1.string)('status'),
28
- createdAt: (0, drizzle_solid_1.datetime)('createdAt'),
29
- lastActiveAt: (0, drizzle_solid_1.datetime)('lastActiveAt'),
30
- }, {
31
- base: '/settings/ai/vector-stores.ttl',
32
- type: vocab_1.UDFS.VectorStore,
33
- namespace: vocab_1.UDFS_NAMESPACE,
34
- subjectTemplate: '#{id}',
35
- });
36
- /**
37
- * IndexedFile - 全局文件索引状态管理
38
- *
39
- * 存储位置: /settings/ai/indexed-files.ttl
40
- *
41
- * RDF 示例:
42
- * <#idx_abc123> a udfs:IndexedFile ;
43
- * udfs:fileUrl </notes/hello.md> ;
44
- * udfs:vectorId "123456789"^^xsd:integer ;
45
- * udfs:chunkingStrategy "auto" ;
46
- * udfs:status "completed" ;
47
- * udfs:usageBytes "1024"^^xsd:integer ;
48
- * udfs:indexedAt "2024-01-15T10:30:00Z"^^xsd:dateTime .
49
- */
50
- exports.IndexedFile = (0, drizzle_solid_1.podTable)('IndexedFile', {
51
- id: (0, drizzle_solid_1.string)('id').primaryKey(),
52
- fileUrl: (0, drizzle_solid_1.uri)('fileUrl'),
53
- vectorId: (0, drizzle_solid_1.int)('vectorId'),
54
- chunkingStrategy: (0, drizzle_solid_1.string)('chunkingStrategy'),
55
- status: (0, drizzle_solid_1.string)('status'),
56
- usageBytes: (0, drizzle_solid_1.int)('usageBytes'),
57
- lastError: (0, drizzle_solid_1.string)('lastError'),
58
- indexedAt: (0, drizzle_solid_1.datetime)('indexedAt'),
59
- }, {
60
- base: '/settings/ai/indexed-files.ttl',
61
- type: vocab_1.UDFS.IndexedFile,
62
- namespace: vocab_1.UDFS_NAMESPACE,
63
- subjectTemplate: '#{id}',
64
- });
4
+ const models_1 = require("@undefineds.co/models");
5
+ exports.VectorStore = models_1.linxSchema.vectorStoreTable;
6
+ exports.IndexedFile = models_1.linxSchema.indexedFileTable;
65
7
  //# sourceMappingURL=vector-store.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vector-store.js","sourceRoot":"","sources":["../../../src/ai/schema/vector-store.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,gEAAoF;AACpF,uCAAmD;AAEnD;;;;;;;;;;GAUG;AACU,QAAA,WAAW,GAAG,IAAA,wBAAQ,EACjC,aAAa,EACb;IACE,EAAE,EAAE,IAAA,sBAAM,EAAC,IAAI,CAAC,CAAC,UAAU,EAAE;IAC7B,IAAI,EAAE,IAAA,sBAAM,EAAC,MAAM,CAAC;IACpB,SAAS,EAAE,IAAA,mBAAG,EAAC,WAAW,CAAC;IAC3B,gBAAgB,EAAE,IAAA,sBAAM,EAAC,kBAAkB,CAAC;IAC5C,MAAM,EAAE,IAAA,sBAAM,EAAC,QAAQ,CAAC;IACxB,SAAS,EAAE,IAAA,wBAAQ,EAAC,WAAW,CAAC;IAChC,YAAY,EAAE,IAAA,wBAAQ,EAAC,cAAc,CAAC;CACvC,EACD;IACE,IAAI,EAAE,gCAAgC;IACtC,IAAI,EAAE,YAAI,CAAC,WAAW;IACtB,SAAS,EAAE,sBAAc;IACzB,eAAe,EAAE,OAAO;CACzB,CACF,CAAC;AAKF;;;;;;;;;;;;;GAaG;AACU,QAAA,WAAW,GAAG,IAAA,wBAAQ,EACjC,aAAa,EACb;IACE,EAAE,EAAE,IAAA,sBAAM,EAAC,IAAI,CAAC,CAAC,UAAU,EAAE;IAC7B,OAAO,EAAE,IAAA,mBAAG,EAAC,SAAS,CAAC;IACvB,QAAQ,EAAE,IAAA,mBAAG,EAAC,UAAU,CAAC;IACzB,gBAAgB,EAAE,IAAA,sBAAM,EAAC,kBAAkB,CAAC;IAC5C,MAAM,EAAE,IAAA,sBAAM,EAAC,QAAQ,CAAC;IACxB,UAAU,EAAE,IAAA,mBAAG,EAAC,YAAY,CAAC;IAC7B,SAAS,EAAE,IAAA,sBAAM,EAAC,WAAW,CAAC;IAC9B,SAAS,EAAE,IAAA,wBAAQ,EAAC,WAAW,CAAC;CACjC,EACD;IACE,IAAI,EAAE,gCAAgC;IACtC,IAAI,EAAE,YAAI,CAAC,WAAW;IACtB,SAAS,EAAE,sBAAc;IACzB,eAAe,EAAE,OAAO;CACzB,CACF,CAAC","sourcesContent":["/**\n * VectorStore Schema - Container 级别的知识库配置\n *\n * 存储位置: /settings/ai/vector-stores.ttl\n */\n\nimport { podTable, string, int, datetime, uri } from '@undefineds.co/drizzle-solid';\nimport { UDFS, UDFS_NAMESPACE } from '../../vocab';\n\n/**\n * VectorStore - Container 级别的知识库配置\n *\n * RDF 示例:\n * <#vs_abc123> a udfs:VectorStore ;\n * udfs:name \"My Notes\" ;\n * udfs:container </notes/> ;\n * udfs:chunkingStrategy \"auto\" ;\n * udfs:status \"completed\" ;\n * udfs:createdAt \"2024-01-15T10:30:00Z\"^^xsd:dateTime .\n */\nexport const VectorStore = podTable(\n 'VectorStore',\n {\n id: string('id').primaryKey(),\n name: string('name'),\n container: uri('container'),\n chunkingStrategy: string('chunkingStrategy'),\n status: string('status'),\n createdAt: datetime('createdAt'),\n lastActiveAt: datetime('lastActiveAt'),\n },\n {\n base: '/settings/ai/vector-stores.ttl',\n type: UDFS.VectorStore,\n namespace: UDFS_NAMESPACE,\n subjectTemplate: '#{id}',\n },\n);\n\nexport type VectorStoreRow = typeof VectorStore.$inferSelect;\nexport type VectorStoreInsert = typeof VectorStore.$inferInsert;\n\n/**\n * IndexedFile - 全局文件索引状态管理\n *\n * 存储位置: /settings/ai/indexed-files.ttl\n *\n * RDF 示例:\n * <#idx_abc123> a udfs:IndexedFile ;\n * udfs:fileUrl </notes/hello.md> ;\n * udfs:vectorId \"123456789\"^^xsd:integer ;\n * udfs:chunkingStrategy \"auto\" ;\n * udfs:status \"completed\" ;\n * udfs:usageBytes \"1024\"^^xsd:integer ;\n * udfs:indexedAt \"2024-01-15T10:30:00Z\"^^xsd:dateTime .\n */\nexport const IndexedFile = podTable(\n 'IndexedFile',\n {\n id: string('id').primaryKey(),\n fileUrl: uri('fileUrl'),\n vectorId: int('vectorId'),\n chunkingStrategy: string('chunkingStrategy'),\n status: string('status'),\n usageBytes: int('usageBytes'),\n lastError: string('lastError'),\n indexedAt: datetime('indexedAt'),\n },\n {\n base: '/settings/ai/indexed-files.ttl',\n type: UDFS.IndexedFile,\n namespace: UDFS_NAMESPACE,\n subjectTemplate: '#{id}',\n },\n);\n\nexport type IndexedFileRow = typeof IndexedFile.$inferSelect;\nexport type IndexedFileInsert = typeof IndexedFile.$inferInsert;\n"]}
1
+ {"version":3,"file":"vector-store.js","sourceRoot":"","sources":["../../../src/ai/schema/vector-store.ts"],"names":[],"mappings":";;;AAAA,kDAAmD;AAEtC,QAAA,WAAW,GAAG,mBAAU,CAAC,gBAAuB,CAAC;AAKjD,QAAA,WAAW,GAAG,mBAAU,CAAC,gBAAuB,CAAC","sourcesContent":["import { linxSchema } from '@undefineds.co/models';\n\nexport const VectorStore = linxSchema.vectorStoreTable as any;\n\nexport type VectorStoreRow = typeof VectorStore.$inferSelect;\nexport type VectorStoreInsert = typeof VectorStore.$inferInsert;\n\nexport const IndexedFile = linxSchema.indexedFileTable as any;\n\nexport type IndexedFileRow = typeof IndexedFile.$inferSelect;\nexport type IndexedFileInsert = typeof IndexedFile.$inferInsert;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"CredentialReaderImpl.js","sourceRoot":"","sources":["../../../src/ai/service/CredentialReaderImpl.ts"],"names":[],"mappings":";;;AAAA,iEAAqD;AACrD,gEAAgE;AAChE,yDAAsD;AAEtD,2DAA4D;AAC5D,iDAA8C;AAC9C,yDAA8E;AAE9E,MAAM,MAAM,GAAG;IACb,UAAU,EAAE,mBAAU;IACtB,QAAQ,EAAE,mBAAQ;CACnB,CAAC;AAEF,MAAa,oBAAqB,SAAQ,mCAAgB;IAA1D;;QACqB,WAAM,GAAG,IAAA,oCAAY,EAAC,IAAI,CAAC,CAAC;IAiDjD,CAAC;IA/CiB,KAAK,CAAC,eAAe,CACnC,UAAkB,EAClB,UAAkB,EAClB,kBAAgC,EAChC,KAAc;QAEd,IAAI,CAAC;YACH,MAAM,OAAO,GAAG;gBACd,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE;gBACjC,KAAK,EAAE,kBAAkB;aAC1B,CAAC;YACF,MAAM,EAAE,GAAG,IAAA,uBAAO,EAAC,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YAExC,kBAAkB;YAClB,MAAM,WAAW,GAAG,GAAG,UAAU,6BAA6B,UAAU,EAAE,CAAC;YAE3E,qCAAqC;YACrC,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC;gBACrD,KAAK,EAAE,IAAA,mBAAG,EACR,IAAA,kBAAE,EAAC,mBAAU,CAAC,OAAO,EAAE,mBAAW,CAAC,EAAE,CAAC,EACtC,IAAA,kBAAE,EAAC,mBAAU,CAAC,MAAM,EAAE,wBAAgB,CAAC,MAAM,CAAC,EAC9C,IAAA,kBAAE,EAAC,mBAAU,CAAC,QAAQ,EAAE,WAAW,CAAC,CACrC;gBACD,IAAI,EAAE;oBACJ,QAAQ,EAAE,IAAI;iBACf;aACF,CAAC,CAAC;YAEH,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4CAA4C,UAAU,EAAE,CAAC,CAAC;gBAC5E,OAAO,IAAI,CAAC;YACd,CAAC;YAED,eAAe;YACf,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,CAAQ,CAAC;YAEtF,OAAO;gBACL,QAAQ,EAAE,UAAU;gBACpB,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,OAAO,EAAE,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,QAAQ,EAAE,OAAO,IAAI,SAAS;gBACxE,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE,QAAQ,IAAI,SAAS;aACrD,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,UAAU,GAAG,EAAE,KAAK,CAAC,CAAC;YAClF,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;CACF;AAlDD,oDAkDC","sourcesContent":["import { getLoggerFor } from 'global-logger-factory';\nimport { drizzle, eq, and } from '@undefineds.co/drizzle-solid';\nimport { CredentialReader } from './CredentialReader';\nimport type { AiCredential } from './types';\nimport { Credential } from '../../credential/schema/tables';\nimport { Provider } from '../schema/provider';\nimport { ServiceType, CredentialStatus } from '../../credential/schema/types';\n\nconst schema = {\n credential: Credential,\n provider: Provider,\n};\n\nexport class CredentialReaderImpl extends CredentialReader {\n protected readonly logger = getLoggerFor(this);\n\n public override async getAiCredential(\n podBaseUrl: string,\n providerId: string,\n authenticatedFetch: typeof fetch,\n webId?: string,\n ): Promise<AiCredential | null> {\n try {\n const session = {\n info: { isLoggedIn: true, webId },\n fetch: authenticatedFetch,\n };\n const db = drizzle(session, { schema });\n\n // 构建 Provider URI\n const providerUri = `${podBaseUrl}settings/ai/providers.ttl#${providerId}`;\n\n // 查询 credential,直接通过 provider URI 过滤\n const credentials = await db.query.credential.findMany({\n where: and(\n eq(Credential.service, ServiceType.AI),\n eq(Credential.status, CredentialStatus.ACTIVE),\n eq(Credential.provider, providerUri),\n ),\n with: {\n provider: true,\n },\n });\n\n if (credentials.length === 0) {\n this.logger.debug(`No active credential found for provider: ${providerId}`);\n return null;\n }\n\n // 随机选择一个(负载均衡)\n const credential = credentials[Math.floor(Math.random() * credentials.length)] as any;\n\n return {\n provider: providerId,\n apiKey: credential.apiKey,\n baseUrl: credential.baseUrl || credential.provider?.baseUrl || undefined,\n proxyUrl: credential.provider?.proxyUrl || undefined,\n };\n } catch (error) {\n this.logger.error(`Failed to read credential for provider ${providerId}:`, error);\n return null;\n }\n }\n}\n"]}
1
+ {"version":3,"file":"CredentialReaderImpl.js","sourceRoot":"","sources":["../../../src/ai/service/CredentialReaderImpl.ts"],"names":[],"mappings":";;;AAAA,iEAAqD;AACrD,gEAAgE;AAChE,yDAAsD;AAEtD,2DAA4D;AAC5D,iDAA8C;AAC9C,yDAA8E;AAE9E,MAAM,MAAM,GAAG;IACb,UAAU,EAAE,mBAAU;IACtB,QAAQ,EAAE,mBAAQ;CACnB,CAAC;AAEF,MAAa,oBAAqB,SAAQ,mCAAgB;IAA1D;;QACqB,WAAM,GAAG,IAAA,oCAAY,EAAC,IAAI,CAAC,CAAC;IAiDjD,CAAC;IA/CiB,KAAK,CAAC,eAAe,CACnC,UAAkB,EAClB,UAAkB,EAClB,kBAAgC,EAChC,KAAc;QAEd,IAAI,CAAC;YACH,MAAM,OAAO,GAAG;gBACd,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE;gBACjC,KAAK,EAAE,kBAAkB;aAC1B,CAAC;YACF,MAAM,EAAE,GAAQ,IAAA,uBAAO,EAAC,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YAE7C,kBAAkB;YAClB,MAAM,WAAW,GAAG,GAAG,UAAU,6BAA6B,UAAU,EAAE,CAAC;YAE3E,qCAAqC;YACrC,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC;gBACrD,KAAK,EAAE,IAAA,mBAAG,EACR,IAAA,kBAAE,EAAC,mBAAU,CAAC,OAAO,EAAE,mBAAW,CAAC,EAAE,CAAC,EACtC,IAAA,kBAAE,EAAC,mBAAU,CAAC,MAAM,EAAE,wBAAgB,CAAC,MAAM,CAAC,EAC9C,IAAA,kBAAE,EAAC,mBAAU,CAAC,QAAQ,EAAE,WAAW,CAAC,CACrC;gBACD,IAAI,EAAE;oBACJ,QAAQ,EAAE,IAAI;iBACf;aACF,CAAC,CAAC;YAEH,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4CAA4C,UAAU,EAAE,CAAC,CAAC;gBAC5E,OAAO,IAAI,CAAC;YACd,CAAC;YAED,eAAe;YACf,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,CAAQ,CAAC;YAEtF,OAAO;gBACL,QAAQ,EAAE,UAAU;gBACpB,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,OAAO,EAAE,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,QAAQ,EAAE,OAAO,IAAI,SAAS;gBACxE,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE,QAAQ,IAAI,SAAS;aACrD,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,UAAU,GAAG,EAAE,KAAK,CAAC,CAAC;YAClF,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;CACF;AAlDD,oDAkDC","sourcesContent":["import { getLoggerFor } from 'global-logger-factory';\nimport { drizzle, eq, and } from '@undefineds.co/drizzle-solid';\nimport { CredentialReader } from './CredentialReader';\nimport type { AiCredential } from './types';\nimport { Credential } from '../../credential/schema/tables';\nimport { Provider } from '../schema/provider';\nimport { ServiceType, CredentialStatus } from '../../credential/schema/types';\n\nconst schema = {\n credential: Credential,\n provider: Provider,\n};\n\nexport class CredentialReaderImpl extends CredentialReader {\n protected readonly logger = getLoggerFor(this);\n\n public override async getAiCredential(\n podBaseUrl: string,\n providerId: string,\n authenticatedFetch: typeof fetch,\n webId?: string,\n ): Promise<AiCredential | null> {\n try {\n const session = {\n info: { isLoggedIn: true, webId },\n fetch: authenticatedFetch,\n };\n const db: any = drizzle(session, { schema });\n\n // 构建 Provider URI\n const providerUri = `${podBaseUrl}settings/ai/providers.ttl#${providerId}`;\n\n // 查询 credential,直接通过 provider URI 过滤\n const credentials = await db.query.credential.findMany({\n where: and(\n eq(Credential.service, ServiceType.AI),\n eq(Credential.status, CredentialStatus.ACTIVE),\n eq(Credential.provider, providerUri),\n ),\n with: {\n provider: true,\n },\n });\n\n if (credentials.length === 0) {\n this.logger.debug(`No active credential found for provider: ${providerId}`);\n return null;\n }\n\n // 随机选择一个(负载均衡)\n const credential = credentials[Math.floor(Math.random() * credentials.length)] as any;\n\n return {\n provider: providerId,\n apiKey: credential.apiKey,\n baseUrl: credential.baseUrl || credential.provider?.baseUrl || undefined,\n proxyUrl: credential.provider?.proxyUrl || undefined,\n };\n } catch (error) {\n this.logger.error(`Failed to read credential for provider ${providerId}:`, error);\n return null;\n }\n }\n}\n"]}
@@ -1,5 +1,6 @@
1
1
  import { type Server, type ServerResponse } from 'node:http';
2
2
  import type { AuthMiddleware, AuthenticatedRequest } from './middleware/AuthMiddleware';
3
+ import type { RuntimeHost, RuntimeListenEndpoint } from '../runtime/host/types';
3
4
  /**
4
5
  * Route handler function
5
6
  */
@@ -19,6 +20,8 @@ export interface ApiServerOptions {
19
20
  port?: number;
20
21
  host?: string;
21
22
  socketPath?: string;
23
+ listenEndpoint?: RuntimeListenEndpoint;
24
+ runtimeHost?: RuntimeHost;
22
25
  authMiddleware: AuthMiddleware;
23
26
  corsOrigins?: string[];
24
27
  }
@@ -27,9 +30,8 @@ export interface ApiServerOptions {
27
30
  */
28
31
  export declare class ApiServer {
29
32
  private readonly logger;
30
- private readonly port;
31
- private readonly host;
32
- private readonly socketPath?;
33
+ private readonly runtimeHost;
34
+ private readonly listenEndpoint;
33
35
  private readonly authMiddleware;
34
36
  private readonly corsOrigins;
35
37
  private readonly routes;
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ApiServer = void 0;
4
4
  const node_http_1 = require("node:http");
5
5
  const global_logger_factory_1 = require("global-logger-factory");
6
- const socket_utils_1 = require("../runtime/socket-utils");
6
+ const NodeRuntimeHost_1 = require("../runtime/host/node/NodeRuntimeHost");
7
7
  /**
8
8
  * Standalone API Server
9
9
  */
@@ -11,9 +11,12 @@ class ApiServer {
11
11
  constructor(options) {
12
12
  this.logger = (0, global_logger_factory_1.getLoggerFor)(this);
13
13
  this.routes = [];
14
- this.port = options.port ?? 0;
15
- this.host = options.host ?? '0.0.0.0';
16
- this.socketPath = options.socketPath;
14
+ this.runtimeHost = options.runtimeHost ?? NodeRuntimeHost_1.nodeRuntimeHost;
15
+ this.listenEndpoint = options.listenEndpoint ?? this.runtimeHost.createListenEndpoint({
16
+ port: options.port,
17
+ host: options.host,
18
+ socketPath: options.socketPath,
19
+ });
17
20
  this.authMiddleware = options.authMiddleware;
18
21
  this.corsOrigins = options.corsOrigins ?? ['*'];
19
22
  }
@@ -64,19 +67,10 @@ class ApiServer {
64
67
  }
65
68
  });
66
69
  });
67
- this.server.on('error', reject);
68
- if (this.socketPath) {
69
- (0, socket_utils_1.prepareSocketPath)(this.socketPath);
70
- this.server.listen(this.socketPath, () => {
71
- this.logger.info(`API Server listening on unix://${this.socketPath}`);
72
- resolve();
73
- });
74
- return;
75
- }
76
- this.server.listen(this.port, this.host, () => {
77
- this.logger.info(`API Server listening on ${this.host}:${this.port}`);
70
+ this.runtimeHost.listen(this.server, this.listenEndpoint).then(() => {
71
+ this.logger.info(`API Server listening on ${this.runtimeHost.formatListenEndpoint(this.listenEndpoint)}`);
78
72
  resolve();
79
- });
73
+ }, reject);
80
74
  });
81
75
  }
82
76
  /**
@@ -88,18 +82,10 @@ class ApiServer {
88
82
  resolve();
89
83
  return;
90
84
  }
91
- this.server.close((error) => {
92
- if (error) {
93
- reject(error);
94
- }
95
- else {
96
- if (this.socketPath) {
97
- (0, socket_utils_1.removeSocketPath)(this.socketPath);
98
- }
99
- this.logger.info('API Server stopped');
100
- resolve();
101
- }
102
- });
85
+ this.runtimeHost.close(this.server, this.listenEndpoint).then(() => {
86
+ this.logger.info('API Server stopped');
87
+ resolve();
88
+ }, reject);
103
89
  });
104
90
  }
105
91
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ApiServer.js","sourceRoot":"","sources":["../../src/api/ApiServer.ts"],"names":[],"mappings":"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","sourcesContent":["import { createServer, type Server, type IncomingMessage, type ServerResponse } from 'node:http';\nimport { getLoggerFor } from 'global-logger-factory';\nimport type { AuthMiddleware, AuthenticatedRequest } from './middleware/AuthMiddleware';\nimport { prepareSocketPath, removeSocketPath } from '../runtime/socket-utils';\n\n/**\n * Route handler function\n */\nexport type RouteHandler = (\n request: AuthenticatedRequest,\n response: ServerResponse,\n params: Record<string, string>,\n) => Promise<void>;\n\n/**\n * Route definition\n */\nexport interface Route {\n method: string;\n pattern: RegExp;\n paramNames: string[];\n handler: RouteHandler;\n /** If true, skip authentication */\n public?: boolean;\n}\n\nexport interface ApiServerOptions {\n port?: number;\n host?: string;\n socketPath?: string;\n authMiddleware: AuthMiddleware;\n corsOrigins?: string[];\n}\n\n/**\n * Standalone API Server\n */\nexport class ApiServer {\n private readonly logger = getLoggerFor(this);\n private readonly port: number;\n private readonly host: string;\n private readonly socketPath?: string;\n private readonly authMiddleware: AuthMiddleware;\n private readonly corsOrigins: string[];\n private readonly routes: Route[] = [];\n private server?: Server;\n\n public constructor(options: ApiServerOptions) {\n this.port = options.port ?? 0;\n this.host = options.host ?? '0.0.0.0';\n this.socketPath = options.socketPath;\n this.authMiddleware = options.authMiddleware;\n this.corsOrigins = options.corsOrigins ?? ['*'];\n }\n\n /**\n * Register a route\n */\n public route(\n method: string,\n path: string,\n handler: RouteHandler,\n options?: {\n /** If true, skip authentication for this route */\n public?: boolean;\n },\n ): void {\n const { pattern, paramNames } = this.pathToRegex(path);\n this.routes.push({\n method: method.toUpperCase(),\n pattern,\n paramNames,\n handler,\n public: options?.public,\n });\n this.logger.debug(`Registered route: ${method.toUpperCase()} ${path}${options?.public ? ' (public)' : ''}`);\n }\n\n /**\n * Convenience methods for common HTTP methods\n */\n public get(path: string, handler: RouteHandler, options?: { public?: boolean }): void {\n this.route('GET', path, handler, options);\n }\n\n public post(path: string, handler: RouteHandler, options?: { public?: boolean }): void {\n this.route('POST', path, handler, options);\n }\n\n public put(path: string, handler: RouteHandler, options?: { public?: boolean }): void {\n this.route('PUT', path, handler, options);\n }\n\n public delete(path: string, handler: RouteHandler, options?: { public?: boolean }): void {\n this.route('DELETE', path, handler, options);\n }\n\n public patch(path: string, handler: RouteHandler, options?: { public?: boolean }): void {\n this.route('PATCH', path, handler, options);\n }\n\n /**\n * Start the server\n */\n public async start(): Promise<void> {\n return new Promise((resolve, reject) => {\n this.server = createServer((req, res) => {\n this.handleRequest(req, res).catch((error) => {\n this.logger.error(`Unhandled error: ${error}`);\n if (!res.headersSent) {\n res.statusCode = 500;\n res.setHeader('Content-Type', 'application/json');\n res.end(JSON.stringify({ error: 'Internal Server Error' }));\n }\n });\n });\n\n this.server.on('error', reject);\n\n if (this.socketPath) {\n prepareSocketPath(this.socketPath);\n this.server.listen(this.socketPath, () => {\n this.logger.info(`API Server listening on unix://${this.socketPath}`);\n resolve();\n });\n return;\n }\n\n this.server.listen(this.port, this.host, () => {\n this.logger.info(`API Server listening on ${this.host}:${this.port}`);\n resolve();\n });\n });\n }\n\n /**\n * Stop the server\n */\n public async stop(): Promise<void> {\n return new Promise((resolve, reject) => {\n if (!this.server) {\n resolve();\n return;\n }\n\n this.server.close((error) => {\n if (error) {\n reject(error);\n } else {\n if (this.socketPath) {\n removeSocketPath(this.socketPath);\n }\n this.logger.info('API Server stopped');\n resolve();\n }\n });\n });\n }\n\n /**\n * Get the underlying HTTP server (for WebSocket upgrade)\n */\n public getHttpServer(): Server | undefined {\n return this.server;\n }\n\n private async handleRequest(request: IncomingMessage, response: ServerResponse): Promise<void> {\n const method = request.method?.toUpperCase() ?? 'GET';\n const url = new URL(request.url ?? '/', `http://${request.headers.host ?? 'localhost'}`);\n const path = url.pathname;\n\n // Handle CORS preflight\n if (method === 'OPTIONS') {\n this.handleCors(request, response);\n response.statusCode = 204;\n response.end();\n return;\n }\n\n // Add CORS headers\n this.handleCors(request, response);\n\n // Find matching route\n const match = this.findRoute(method, path);\n if (!match) {\n response.statusCode = 404;\n response.setHeader('Content-Type', 'application/json');\n response.end(JSON.stringify({ error: 'Not Found' }));\n return;\n }\n\n const { route, params } = match;\n const authRequest = request as AuthenticatedRequest;\n\n // Run auth middleware unless route is public\n if (!route.public) {\n const authOk = await this.authMiddleware.process(authRequest, response);\n if (!authOk) {\n return;\n }\n }\n\n // Execute handler\n try {\n await route.handler(authRequest, response, params);\n } catch (error) {\n this.logger.error(`Route handler error: ${error}`);\n if (!response.headersSent) {\n response.statusCode = 500;\n response.setHeader('Content-Type', 'application/json');\n response.end(JSON.stringify({ error: 'Internal Server Error' }));\n }\n }\n }\n\n private findRoute(method: string, path: string): { route: Route; params: Record<string, string> } | undefined {\n for (const route of this.routes) {\n if (route.method !== method) {\n continue;\n }\n\n const match = route.pattern.exec(path);\n if (match) {\n const params: Record<string, string> = {};\n route.paramNames.forEach((name, index) => {\n params[name] = match[index + 1];\n });\n return { route, params };\n }\n }\n return undefined;\n }\n\n private pathToRegex(path: string): { pattern: RegExp; paramNames: string[] } {\n const paramNames: string[] = [];\n let regexStr = path\n // 先处理通配符 *path 或 * (匹配剩余所有路径)\n .replace(/\\*([a-zA-Z0-9_]*)/g, (_, name) => {\n paramNames.push(name || 'wildcard');\n return '(.*)';\n })\n // 再处理普通参数 :param (只匹配单段)\n .replace(/:([a-zA-Z0-9_]+)/g, (_, name) => {\n paramNames.push(name);\n return '([^/]+)';\n })\n .replace(/\\//g, '\\\\/');\n return {\n pattern: new RegExp(`^${regexStr}$`),\n paramNames,\n };\n }\n\n private handleCors(request: IncomingMessage, response: ServerResponse): void {\n const origin = request.headers.origin;\n\n if (this.corsOrigins.includes('*')) {\n response.setHeader('Access-Control-Allow-Origin', '*');\n } else if (origin && this.corsOrigins.includes(origin)) {\n response.setHeader('Access-Control-Allow-Origin', origin);\n response.setHeader('Vary', 'Origin');\n }\n\n response.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, PATCH, OPTIONS');\n response.setHeader('Access-Control-Allow-Headers', '*');\n response.setHeader('Access-Control-Max-Age', '86400');\n }\n}\n"]}
1
+ {"version":3,"file":"ApiServer.js","sourceRoot":"","sources":["../../src/api/ApiServer.ts"],"names":[],"mappings":"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","sourcesContent":["import { createServer, type Server, type IncomingMessage, type ServerResponse } from 'node:http';\nimport { getLoggerFor } from 'global-logger-factory';\nimport type { AuthMiddleware, AuthenticatedRequest } from './middleware/AuthMiddleware';\nimport { nodeRuntimeHost } from '../runtime/host/node/NodeRuntimeHost';\nimport type { RuntimeHost, RuntimeListenEndpoint } from '../runtime/host/types';\n\n/**\n * Route handler function\n */\nexport type RouteHandler = (\n request: AuthenticatedRequest,\n response: ServerResponse,\n params: Record<string, string>,\n) => Promise<void>;\n\n/**\n * Route definition\n */\nexport interface Route {\n method: string;\n pattern: RegExp;\n paramNames: string[];\n handler: RouteHandler;\n /** If true, skip authentication */\n public?: boolean;\n}\n\nexport interface ApiServerOptions {\n port?: number;\n host?: string;\n socketPath?: string;\n listenEndpoint?: RuntimeListenEndpoint;\n runtimeHost?: RuntimeHost;\n authMiddleware: AuthMiddleware;\n corsOrigins?: string[];\n}\n\n/**\n * Standalone API Server\n */\nexport class ApiServer {\n private readonly logger = getLoggerFor(this);\n private readonly runtimeHost: RuntimeHost;\n private readonly listenEndpoint: RuntimeListenEndpoint;\n private readonly authMiddleware: AuthMiddleware;\n private readonly corsOrigins: string[];\n private readonly routes: Route[] = [];\n private server?: Server;\n\n public constructor(options: ApiServerOptions) {\n this.runtimeHost = options.runtimeHost ?? nodeRuntimeHost;\n this.listenEndpoint = options.listenEndpoint ?? this.runtimeHost.createListenEndpoint({\n port: options.port,\n host: options.host,\n socketPath: options.socketPath,\n });\n this.authMiddleware = options.authMiddleware;\n this.corsOrigins = options.corsOrigins ?? ['*'];\n }\n\n /**\n * Register a route\n */\n public route(\n method: string,\n path: string,\n handler: RouteHandler,\n options?: {\n /** If true, skip authentication for this route */\n public?: boolean;\n },\n ): void {\n const { pattern, paramNames } = this.pathToRegex(path);\n this.routes.push({\n method: method.toUpperCase(),\n pattern,\n paramNames,\n handler,\n public: options?.public,\n });\n this.logger.debug(`Registered route: ${method.toUpperCase()} ${path}${options?.public ? ' (public)' : ''}`);\n }\n\n /**\n * Convenience methods for common HTTP methods\n */\n public get(path: string, handler: RouteHandler, options?: { public?: boolean }): void {\n this.route('GET', path, handler, options);\n }\n\n public post(path: string, handler: RouteHandler, options?: { public?: boolean }): void {\n this.route('POST', path, handler, options);\n }\n\n public put(path: string, handler: RouteHandler, options?: { public?: boolean }): void {\n this.route('PUT', path, handler, options);\n }\n\n public delete(path: string, handler: RouteHandler, options?: { public?: boolean }): void {\n this.route('DELETE', path, handler, options);\n }\n\n public patch(path: string, handler: RouteHandler, options?: { public?: boolean }): void {\n this.route('PATCH', path, handler, options);\n }\n\n /**\n * Start the server\n */\n public async start(): Promise<void> {\n return new Promise((resolve, reject) => {\n this.server = createServer((req, res) => {\n this.handleRequest(req, res).catch((error) => {\n this.logger.error(`Unhandled error: ${error}`);\n if (!res.headersSent) {\n res.statusCode = 500;\n res.setHeader('Content-Type', 'application/json');\n res.end(JSON.stringify({ error: 'Internal Server Error' }));\n }\n });\n });\n\n this.runtimeHost.listen(this.server, this.listenEndpoint).then(() => {\n this.logger.info(`API Server listening on ${this.runtimeHost.formatListenEndpoint(this.listenEndpoint)}`);\n resolve();\n }, reject);\n });\n }\n\n /**\n * Stop the server\n */\n public async stop(): Promise<void> {\n return new Promise((resolve, reject) => {\n if (!this.server) {\n resolve();\n return;\n }\n\n this.runtimeHost.close(this.server, this.listenEndpoint).then(() => {\n this.logger.info('API Server stopped');\n resolve();\n }, reject);\n });\n }\n\n /**\n * Get the underlying HTTP server (for WebSocket upgrade)\n */\n public getHttpServer(): Server | undefined {\n return this.server;\n }\n\n private async handleRequest(request: IncomingMessage, response: ServerResponse): Promise<void> {\n const method = request.method?.toUpperCase() ?? 'GET';\n const url = new URL(request.url ?? '/', `http://${request.headers.host ?? 'localhost'}`);\n const path = url.pathname;\n\n // Handle CORS preflight\n if (method === 'OPTIONS') {\n this.handleCors(request, response);\n response.statusCode = 204;\n response.end();\n return;\n }\n\n // Add CORS headers\n this.handleCors(request, response);\n\n // Find matching route\n const match = this.findRoute(method, path);\n if (!match) {\n response.statusCode = 404;\n response.setHeader('Content-Type', 'application/json');\n response.end(JSON.stringify({ error: 'Not Found' }));\n return;\n }\n\n const { route, params } = match;\n const authRequest = request as AuthenticatedRequest;\n\n // Run auth middleware unless route is public\n if (!route.public) {\n const authOk = await this.authMiddleware.process(authRequest, response);\n if (!authOk) {\n return;\n }\n }\n\n // Execute handler\n try {\n await route.handler(authRequest, response, params);\n } catch (error) {\n this.logger.error(`Route handler error: ${error}`);\n if (!response.headersSent) {\n response.statusCode = 500;\n response.setHeader('Content-Type', 'application/json');\n response.end(JSON.stringify({ error: 'Internal Server Error' }));\n }\n }\n }\n\n private findRoute(method: string, path: string): { route: Route; params: Record<string, string> } | undefined {\n for (const route of this.routes) {\n if (route.method !== method) {\n continue;\n }\n\n const match = route.pattern.exec(path);\n if (match) {\n const params: Record<string, string> = {};\n route.paramNames.forEach((name, index) => {\n params[name] = match[index + 1];\n });\n return { route, params };\n }\n }\n return undefined;\n }\n\n private pathToRegex(path: string): { pattern: RegExp; paramNames: string[] } {\n const paramNames: string[] = [];\n let regexStr = path\n // 先处理通配符 *path 或 * (匹配剩余所有路径)\n .replace(/\\*([a-zA-Z0-9_]*)/g, (_, name) => {\n paramNames.push(name || 'wildcard');\n return '(.*)';\n })\n // 再处理普通参数 :param (只匹配单段)\n .replace(/:([a-zA-Z0-9_]+)/g, (_, name) => {\n paramNames.push(name);\n return '([^/]+)';\n })\n .replace(/\\//g, '\\\\/');\n return {\n pattern: new RegExp(`^${regexStr}$`),\n paramNames,\n };\n }\n\n private handleCors(request: IncomingMessage, response: ServerResponse): void {\n const origin = request.headers.origin;\n\n if (this.corsOrigins.includes('*')) {\n response.setHeader('Access-Control-Allow-Origin', '*');\n } else if (origin && this.corsOrigins.includes(origin)) {\n response.setHeader('Access-Control-Allow-Origin', origin);\n response.setHeader('Vary', 'Origin');\n }\n\n response.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, PATCH, OPTIONS');\n response.setHeader('Access-Control-Allow-Headers', '*');\n response.setHeader('Access-Control-Max-Age', '86400');\n }\n}\n"]}
@@ -15,6 +15,7 @@ export interface SolidAuthContext {
15
15
  displayName?: string;
16
16
  accessToken?: string;
17
17
  tokenType?: 'Bearer' | 'DPoP';
18
+ dpopProof?: string;
18
19
  /** Whether this was authenticated via API Key (client credentials) */
19
20
  viaApiKey?: boolean;
20
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AuthContext.js","sourceRoot":"","sources":["../../../src/api/auth/AuthContext.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;AA8BH,kCAEC;AAED,gCAEC;AAKD,4BAEC;AAKD,wCAEC;AAKD,oCAQC;AAED,8BAEC;AAED,sCAEC;AAKD,4BAEC;AAhDD,SAAgB,WAAW,CAAC,GAAgB;IAC1C,OAAO,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC;AAC9B,CAAC;AAED,SAAgB,UAAU,CAAC,GAAgB;IACzC,OAAO,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,SAAgB,QAAQ,CAAC,GAAgB;IACvC,OAAO,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACtD,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,GAAgB;IAC7C,OAAO,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5D,CAAC;AAED;;GAEG;AACH,SAAgB,YAAY,CAAC,GAAgB;IAC3C,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACzB,OAAO,GAAG,CAAC,SAAS,CAAC;IACvB,CAAC;IACD,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACxB,OAAO,GAAG,CAAC,SAAS,CAAC;IACvB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAgB,SAAS,CAAC,GAAgB;IACxC,OAAO,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AACtD,CAAC;AAED,SAAgB,aAAa,CAAC,GAAgB;IAC5C,OAAO,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,SAAgB,QAAQ,CAAC,GAAgB,EAAE,KAAa;IACtD,OAAO,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC9D,CAAC","sourcesContent":["/**\n * Authentication context representing the authenticated caller\n * \n * Authenticated caller context.\n * - Solid Token: user provides Bearer or DPoP token\n * - API Key: third-party provides client_id, API Server exchanges for token\n * - Node Token: edge node provides node API key\n */\n\nexport interface SolidAuthContext {\n type: 'solid';\n webId: string;\n accountId?: string;\n clientId?: string;\n clientSecret?: string; // For client credentials auth\n displayName?: string;\n accessToken?: string;\n tokenType?: 'Bearer' | 'DPoP';\n /** Whether this was authenticated via API Key (client credentials) */\n viaApiKey?: boolean;\n}\n\nexport interface NodeAuthContext {\n type: 'node';\n nodeId: string;\n accountId?: string;\n}\n\nexport interface ServiceAuthContext {\n type: 'service';\n serviceType: 'local' | 'business' | 'cloud' | 'compute';\n serviceId: string;\n scopes: string[];\n}\n\nexport type AuthContext = SolidAuthContext | NodeAuthContext | ServiceAuthContext;\n\nexport function isSolidAuth(ctx: AuthContext): ctx is SolidAuthContext {\n return ctx.type === 'solid';\n}\n\nexport function isNodeAuth(ctx: AuthContext): ctx is NodeAuthContext {\n return ctx.type === 'node';\n}\n\n/**\n * Get webId from auth context\n */\nexport function getWebId(ctx: AuthContext): string | undefined {\n return ctx.type === 'solid' ? ctx.webId : undefined;\n}\n\n/**\n * Get display name from auth context\n */\nexport function getDisplayName(ctx: AuthContext): string | undefined {\n return ctx.type === 'solid' ? ctx.displayName : undefined;\n}\n\n/**\n * Get accountId from auth context (if available)\n */\nexport function getAccountId(ctx: AuthContext): string | undefined {\n if (ctx.type === 'solid') {\n return ctx.accountId;\n }\n if (ctx.type === 'node') {\n return ctx.accountId;\n }\n return undefined;\n}\n\nexport function getNodeId(ctx: AuthContext): string | undefined {\n return ctx.type === 'node' ? ctx.nodeId : undefined;\n}\n\nexport function isServiceAuth(ctx: AuthContext): ctx is ServiceAuthContext {\n return ctx.type === 'service';\n}\n\n/**\n * Check if a service auth context has the required scope\n */\nexport function hasScope(ctx: AuthContext, scope: string): boolean {\n return ctx.type === 'service' && ctx.scopes.includes(scope);\n}\n"]}
1
+ {"version":3,"file":"AuthContext.js","sourceRoot":"","sources":["../../../src/api/auth/AuthContext.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;AA+BH,kCAEC;AAED,gCAEC;AAKD,4BAEC;AAKD,wCAEC;AAKD,oCAQC;AAED,8BAEC;AAED,sCAEC;AAKD,4BAEC;AAhDD,SAAgB,WAAW,CAAC,GAAgB;IAC1C,OAAO,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC;AAC9B,CAAC;AAED,SAAgB,UAAU,CAAC,GAAgB;IACzC,OAAO,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,SAAgB,QAAQ,CAAC,GAAgB;IACvC,OAAO,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACtD,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,GAAgB;IAC7C,OAAO,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5D,CAAC;AAED;;GAEG;AACH,SAAgB,YAAY,CAAC,GAAgB;IAC3C,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACzB,OAAO,GAAG,CAAC,SAAS,CAAC;IACvB,CAAC;IACD,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACxB,OAAO,GAAG,CAAC,SAAS,CAAC;IACvB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAgB,SAAS,CAAC,GAAgB;IACxC,OAAO,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AACtD,CAAC;AAED,SAAgB,aAAa,CAAC,GAAgB;IAC5C,OAAO,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,SAAgB,QAAQ,CAAC,GAAgB,EAAE,KAAa;IACtD,OAAO,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC9D,CAAC","sourcesContent":["/**\n * Authentication context representing the authenticated caller\n * \n * Authenticated caller context.\n * - Solid Token: user provides Bearer or DPoP token\n * - API Key: third-party provides client_id, API Server exchanges for token\n * - Node Token: edge node provides node API key\n */\n\nexport interface SolidAuthContext {\n type: 'solid';\n webId: string;\n accountId?: string;\n clientId?: string;\n clientSecret?: string; // For client credentials auth\n displayName?: string;\n accessToken?: string;\n tokenType?: 'Bearer' | 'DPoP';\n dpopProof?: string;\n /** Whether this was authenticated via API Key (client credentials) */\n viaApiKey?: boolean;\n}\n\nexport interface NodeAuthContext {\n type: 'node';\n nodeId: string;\n accountId?: string;\n}\n\nexport interface ServiceAuthContext {\n type: 'service';\n serviceType: 'local' | 'business' | 'cloud' | 'compute';\n serviceId: string;\n scopes: string[];\n}\n\nexport type AuthContext = SolidAuthContext | NodeAuthContext | ServiceAuthContext;\n\nexport function isSolidAuth(ctx: AuthContext): ctx is SolidAuthContext {\n return ctx.type === 'solid';\n}\n\nexport function isNodeAuth(ctx: AuthContext): ctx is NodeAuthContext {\n return ctx.type === 'node';\n}\n\n/**\n * Get webId from auth context\n */\nexport function getWebId(ctx: AuthContext): string | undefined {\n return ctx.type === 'solid' ? ctx.webId : undefined;\n}\n\n/**\n * Get display name from auth context\n */\nexport function getDisplayName(ctx: AuthContext): string | undefined {\n return ctx.type === 'solid' ? ctx.displayName : undefined;\n}\n\n/**\n * Get accountId from auth context (if available)\n */\nexport function getAccountId(ctx: AuthContext): string | undefined {\n if (ctx.type === 'solid') {\n return ctx.accountId;\n }\n if (ctx.type === 'node') {\n return ctx.accountId;\n }\n return undefined;\n}\n\nexport function getNodeId(ctx: AuthContext): string | undefined {\n return ctx.type === 'node' ? ctx.nodeId : undefined;\n}\n\nexport function isServiceAuth(ctx: AuthContext): ctx is ServiceAuthContext {\n return ctx.type === 'service';\n}\n\n/**\n * Check if a service auth context has the required scope\n */\nexport function hasScope(ctx: AuthContext, scope: string): boolean {\n return ctx.type === 'service' && ctx.scopes.includes(scope);\n}\n"]}
@@ -6,10 +6,11 @@ import type { Authenticator, AuthResult } from './Authenticator';
6
6
  export interface TokenCache {
7
7
  get(clientId: string): Promise<{
8
8
  token: string;
9
+ tokenType?: 'Bearer' | 'DPoP';
9
10
  webId: string;
10
11
  expiresAt: Date;
11
12
  } | undefined>;
12
- set(clientId: string, token: string, webId: string, expiresAt: Date): Promise<void>;
13
+ set(clientId: string, token: string, webId: string, expiresAt: Date, tokenType?: 'Bearer' | 'DPoP'): Promise<void>;
13
14
  }
14
15
  export interface ClientCredentialsAuthenticatorOptions {
15
16
  tokenCache?: TokenCache;
@@ -83,21 +83,23 @@ class ClientCredentialsAuthenticator {
83
83
  accountId: cached.webId,
84
84
  clientId,
85
85
  clientSecret,
86
+ accessToken: cached.token,
87
+ tokenType: cached.tokenType ?? 'Bearer',
86
88
  viaApiKey: true,
87
89
  },
88
90
  };
89
91
  }
90
92
  }
91
93
  // Exchange for token at CSS endpoint
92
- console.log(`[ClientCredentialsAuthenticator] Exchanging credentials at ${this.tokenEndpoint}`);
94
+ this.logger.debug(`Exchanging client credentials at ${this.tokenEndpoint}`);
93
95
  const tokenResult = await this.exchangeForToken(clientId, clientSecret);
94
- console.log(`[ClientCredentialsAuthenticator] Token exchange result: success=${tokenResult.success}, webId=${tokenResult.webId}, error=${tokenResult.error}`);
95
- if (!tokenResult.success || !tokenResult.webId) {
96
+ this.logger.debug(`Token exchange result: success=${tokenResult.success}, webId=${tokenResult.webId}, error=${tokenResult.error}`);
97
+ if (!tokenResult.success || !tokenResult.webId || !tokenResult.token) {
96
98
  return { success: false, error: tokenResult.error || 'Token exchange failed' };
97
99
  }
98
100
  // Cache the token
99
101
  if (this.tokenCache && tokenResult.expiresAt) {
100
- await this.tokenCache.set(clientId, tokenResult.token, tokenResult.webId, tokenResult.expiresAt);
102
+ await this.tokenCache.set(clientId, tokenResult.token, tokenResult.webId, tokenResult.expiresAt, tokenResult.tokenType);
101
103
  }
102
104
  const context = {
103
105
  type: 'solid',
@@ -105,13 +107,14 @@ class ClientCredentialsAuthenticator {
105
107
  accountId: tokenResult.webId,
106
108
  clientId,
107
109
  clientSecret,
110
+ accessToken: tokenResult.token,
111
+ tokenType: tokenResult.tokenType ?? 'Bearer',
108
112
  viaApiKey: true,
109
113
  };
110
114
  this.logger.debug(`Authenticated API Key for webId: ${tokenResult.webId}`);
111
115
  return { success: true, context };
112
116
  }
113
117
  catch (error) {
114
- console.error(`[ClientCredentialsAuthenticator] API Key authentication error:`, error);
115
118
  this.logger.error(`API Key authentication error: ${error}`);
116
119
  return { success: false, error: 'Authentication failed' };
117
120
  }
@@ -158,6 +161,7 @@ class ClientCredentialsAuthenticator {
158
161
  return {
159
162
  success: true,
160
163
  token: data.access_token,
164
+ tokenType: data.token_type?.toUpperCase() === 'DPOP' ? 'DPoP' : 'Bearer',
161
165
  webId,
162
166
  expiresAt,
163
167
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ClientCredentialsAuthenticator.js","sourceRoot":"","sources":["../../../src/api/auth/ClientCredentialsAuthenticator.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IncomingMessage } from 'node:http';\nimport { getLoggerFor } from 'global-logger-factory';\nimport type { Authenticator, AuthResult } from './Authenticator';\nimport type { SolidAuthContext } from './AuthContext';\n\n/**\n * Interface for token cache\n */\nexport interface TokenCache {\n get(clientId: string): Promise<{ token: string; webId: string; expiresAt: Date } | undefined>;\n set(clientId: string, token: string, webId: string, expiresAt: Date): Promise<void>;\n}\n\nexport interface ClientCredentialsAuthenticatorOptions {\n tokenCache?: TokenCache;\n /**\n * CSS token endpoint URL\n */\n tokenEndpoint: string;\n}\n\n/**\n * Authenticator for API Keys in sk-xxx format.\n * \n * Format: sk-base64(client_id:client_secret)\n * \n * This authenticator:\n * 1. Decodes the API Key to get client_id and client_secret\n * 2. Exchanges them for a Solid Token via CSS token endpoint\n * 3. Extracts webId from the token response\n * 4. Returns a SolidAuthContext\n */\nexport class ClientCredentialsAuthenticator implements Authenticator {\n private readonly logger = getLoggerFor(this);\n private readonly tokenCache?: TokenCache;\n private readonly tokenEndpoint: string;\n\n public constructor(options: ClientCredentialsAuthenticatorOptions) {\n this.tokenCache = options.tokenCache;\n this.tokenEndpoint = options.tokenEndpoint;\n }\n\n public canAuthenticate(request: IncomingMessage): boolean {\n const auth = request.headers.authorization;\n if (!auth?.startsWith('Bearer ')) {\n return false;\n }\n // If there's a DPoP header, it's a Solid Token, not an API Key\n if (request.headers.dpop) {\n return false;\n }\n const token = auth.slice(7).trim();\n if (!token) {\n return false;\n }\n // Only handle sk-xxx format or non-JWT tokens\n return token.startsWith('sk-') || !this.isJwt(token);\n }\n\n public async authenticate(request: IncomingMessage): Promise<AuthResult> {\n const authorization = request.headers.authorization;\n if (!authorization?.startsWith('Bearer ')) {\n return { success: false, error: 'Missing Bearer token' };\n }\n\n const token = authorization.slice(7).trim();\n if (!token) {\n return { success: false, error: 'Empty API Key' };\n }\n\n try {\n let clientId: string;\n let clientSecret: string;\n\n // Parse sk-xxx format (base64 encoded client_id:client_secret)\n if (token.startsWith('sk-')) {\n const base64 = token.slice(3);\n try {\n const decoded = Buffer.from(base64, 'base64').toString('utf-8');\n const colonIndex = decoded.indexOf(':');\n if (colonIndex === -1) {\n return { success: false, error: 'Invalid API Key format: missing colon separator' };\n }\n clientId = decoded.slice(0, colonIndex);\n clientSecret = decoded.slice(colonIndex + 1);\n \n if (!clientId || !clientSecret) {\n return { success: false, error: 'Invalid API Key format: empty client_id or client_secret' };\n }\n } catch {\n return { success: false, error: 'Invalid API Key encoding' };\n }\n } else {\n // Non sk- format not supported without database lookup\n return { success: false, error: 'Invalid API Key format: must start with sk-' };\n }\n\n // Check cache first\n if (this.tokenCache) {\n const cached = await this.tokenCache.get(clientId);\n if (cached && cached.expiresAt > new Date()) {\n this.logger.debug(`Using cached token for ${clientId.slice(0, 8)}...`);\n return {\n success: true,\n context: {\n type: 'solid',\n webId: cached.webId,\n accountId: cached.webId,\n clientId,\n clientSecret,\n viaApiKey: true,\n },\n };\n }\n }\n\n // Exchange for token at CSS endpoint\n console.log(`[ClientCredentialsAuthenticator] Exchanging credentials at ${this.tokenEndpoint}`);\n const tokenResult = await this.exchangeForToken(clientId, clientSecret);\n console.log(`[ClientCredentialsAuthenticator] Token exchange result: success=${tokenResult.success}, webId=${tokenResult.webId}, error=${tokenResult.error}`);\n \n if (!tokenResult.success || !tokenResult.webId) {\n return { success: false, error: tokenResult.error || 'Token exchange failed' };\n }\n\n // Cache the token\n if (this.tokenCache && tokenResult.expiresAt) {\n await this.tokenCache.set(clientId, tokenResult.token!, tokenResult.webId, tokenResult.expiresAt);\n }\n\n const context: SolidAuthContext = {\n type: 'solid',\n webId: tokenResult.webId,\n accountId: tokenResult.webId,\n clientId,\n clientSecret,\n viaApiKey: true,\n };\n\n this.logger.debug(`Authenticated API Key for webId: ${tokenResult.webId}`);\n return { success: true, context };\n } catch (error) {\n console.error(`[ClientCredentialsAuthenticator] API Key authentication error:`, error);\n this.logger.error(`API Key authentication error: ${error}`);\n return { success: false, error: 'Authentication failed' };\n }\n }\n\n private async exchangeForToken(clientId: string, clientSecret: string): Promise<{\n success: boolean;\n token?: string;\n webId?: string;\n expiresAt?: Date;\n error?: string;\n }> {\n // 开发模式:跳过 CSS token exchange\n if (process.env.NODE_ENV === 'development') {\n this.logger.warn(`[DEV] Skipping token exchange for ${clientId.slice(0, 8)}...`);\n return {\n success: true,\n token: `dev-token-${clientId}`,\n expiresAt: new Date(Date.now() + 3600000),\n };\n }\n\n try {\n const response = await fetch(this.tokenEndpoint, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n body: new URLSearchParams({\n grant_type: 'client_credentials',\n client_id: clientId,\n client_secret: clientSecret,\n }),\n });\n\n if (!response.ok) {\n const error = await response.text();\n this.logger.warn(`Token exchange failed: ${response.status} ${error}`);\n return { success: false, error: `Token exchange failed: ${response.status}` };\n }\n\n const data = await response.json() as {\n access_token: string;\n expires_in?: number;\n token_type: string;\n webid?: string; // CSS returns webid in response\n };\n\n // Extract webId from token response or decode from JWT\n let webId = data.webid;\n if (!webId && data.access_token) {\n webId = this.extractWebIdFromJwt(data.access_token);\n }\n\n if (!webId) {\n return { success: false, error: 'Could not determine webId from token response' };\n }\n\n const expiresAt = data.expires_in\n ? new Date(Date.now() + data.expires_in * 1000 - 60000) // 1 min buffer\n : new Date(Date.now() + 3600000); // Default 1 hour\n\n return {\n success: true,\n token: data.access_token,\n webId,\n expiresAt,\n };\n } catch (error) {\n this.logger.error(`Token exchange error: ${error}`);\n return { success: false, error: 'Token exchange failed' };\n }\n }\n\n /**\n * Extract webId from JWT access token\n */\n private extractWebIdFromJwt(jwt: string): string | undefined {\n try {\n const parts = jwt.split('.');\n if (parts.length !== 3) {\n return undefined;\n }\n const payload = JSON.parse(Buffer.from(parts[1], 'base64').toString('utf-8'));\n return payload.webid || payload.webId || payload.sub;\n } catch {\n return undefined;\n }\n }\n\n private isJwt(token: string): boolean {\n return /^[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+$/.test(token);\n }\n}\n\n// Re-export for backwards compatibility (these are no longer needed but keep for other code)\nexport interface ClientCredentialsRecord {\n clientId: string;\n webId: string;\n accountId: string;\n displayName?: string;\n createdAt: Date;\n}\n\nexport interface ClientCredentialsStore {\n findByClientId(clientId: string): Promise<ClientCredentialsRecord | undefined>;\n}\n"]}
1
+ {"version":3,"file":"ClientCredentialsAuthenticator.js","sourceRoot":"","sources":["../../../src/api/auth/ClientCredentialsAuthenticator.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IncomingMessage } from 'node:http';\nimport { getLoggerFor } from 'global-logger-factory';\nimport type { Authenticator, AuthResult } from './Authenticator';\nimport type { SolidAuthContext } from './AuthContext';\n\n/**\n * Interface for token cache\n */\nexport interface TokenCache {\n get(clientId: string): Promise<{\n token: string;\n tokenType?: 'Bearer' | 'DPoP';\n webId: string;\n expiresAt: Date;\n } | undefined>;\n set(\n clientId: string,\n token: string,\n webId: string,\n expiresAt: Date,\n tokenType?: 'Bearer' | 'DPoP',\n ): Promise<void>;\n}\n\nexport interface ClientCredentialsAuthenticatorOptions {\n tokenCache?: TokenCache;\n /**\n * CSS token endpoint URL\n */\n tokenEndpoint: string;\n}\n\n/**\n * Authenticator for API Keys in sk-xxx format.\n * \n * Format: sk-base64(client_id:client_secret)\n * \n * This authenticator:\n * 1. Decodes the API Key to get client_id and client_secret\n * 2. Exchanges them for a Solid Token via CSS token endpoint\n * 3. Extracts webId from the token response\n * 4. Returns a SolidAuthContext\n */\nexport class ClientCredentialsAuthenticator implements Authenticator {\n private readonly logger = getLoggerFor(this);\n private readonly tokenCache?: TokenCache;\n private readonly tokenEndpoint: string;\n\n public constructor(options: ClientCredentialsAuthenticatorOptions) {\n this.tokenCache = options.tokenCache;\n this.tokenEndpoint = options.tokenEndpoint;\n }\n\n public canAuthenticate(request: IncomingMessage): boolean {\n const auth = request.headers.authorization;\n if (!auth?.startsWith('Bearer ')) {\n return false;\n }\n // If there's a DPoP header, it's a Solid Token, not an API Key\n if (request.headers.dpop) {\n return false;\n }\n const token = auth.slice(7).trim();\n if (!token) {\n return false;\n }\n // Only handle sk-xxx format or non-JWT tokens\n return token.startsWith('sk-') || !this.isJwt(token);\n }\n\n public async authenticate(request: IncomingMessage): Promise<AuthResult> {\n const authorization = request.headers.authorization;\n if (!authorization?.startsWith('Bearer ')) {\n return { success: false, error: 'Missing Bearer token' };\n }\n\n const token = authorization.slice(7).trim();\n if (!token) {\n return { success: false, error: 'Empty API Key' };\n }\n\n try {\n let clientId: string;\n let clientSecret: string;\n\n // Parse sk-xxx format (base64 encoded client_id:client_secret)\n if (token.startsWith('sk-')) {\n const base64 = token.slice(3);\n try {\n const decoded = Buffer.from(base64, 'base64').toString('utf-8');\n const colonIndex = decoded.indexOf(':');\n if (colonIndex === -1) {\n return { success: false, error: 'Invalid API Key format: missing colon separator' };\n }\n clientId = decoded.slice(0, colonIndex);\n clientSecret = decoded.slice(colonIndex + 1);\n \n if (!clientId || !clientSecret) {\n return { success: false, error: 'Invalid API Key format: empty client_id or client_secret' };\n }\n } catch {\n return { success: false, error: 'Invalid API Key encoding' };\n }\n } else {\n // Non sk- format not supported without database lookup\n return { success: false, error: 'Invalid API Key format: must start with sk-' };\n }\n\n // Check cache first\n if (this.tokenCache) {\n const cached = await this.tokenCache.get(clientId);\n if (cached && cached.expiresAt > new Date()) {\n this.logger.debug(`Using cached token for ${clientId.slice(0, 8)}...`);\n return {\n success: true,\n context: {\n type: 'solid',\n webId: cached.webId,\n accountId: cached.webId,\n clientId,\n clientSecret,\n accessToken: cached.token,\n tokenType: cached.tokenType ?? 'Bearer',\n viaApiKey: true,\n },\n };\n }\n }\n\n // Exchange for token at CSS endpoint\n this.logger.debug(`Exchanging client credentials at ${this.tokenEndpoint}`);\n const tokenResult = await this.exchangeForToken(clientId, clientSecret);\n this.logger.debug(`Token exchange result: success=${tokenResult.success}, webId=${tokenResult.webId}, error=${tokenResult.error}`);\n \n if (!tokenResult.success || !tokenResult.webId || !tokenResult.token) {\n return { success: false, error: tokenResult.error || 'Token exchange failed' };\n }\n\n // Cache the token\n if (this.tokenCache && tokenResult.expiresAt) {\n await this.tokenCache.set(\n clientId,\n tokenResult.token!,\n tokenResult.webId,\n tokenResult.expiresAt,\n tokenResult.tokenType,\n );\n }\n\n const context: SolidAuthContext = {\n type: 'solid',\n webId: tokenResult.webId,\n accountId: tokenResult.webId,\n clientId,\n clientSecret,\n accessToken: tokenResult.token,\n tokenType: tokenResult.tokenType ?? 'Bearer',\n viaApiKey: true,\n };\n\n this.logger.debug(`Authenticated API Key for webId: ${tokenResult.webId}`);\n return { success: true, context };\n } catch (error) {\n this.logger.error(`API Key authentication error: ${error}`);\n return { success: false, error: 'Authentication failed' };\n }\n }\n\n private async exchangeForToken(clientId: string, clientSecret: string): Promise<{\n success: boolean;\n token?: string;\n tokenType?: 'Bearer' | 'DPoP';\n webId?: string;\n expiresAt?: Date;\n error?: string;\n }> {\n // 开发模式:跳过 CSS token exchange\n if (process.env.NODE_ENV === 'development') {\n this.logger.warn(`[DEV] Skipping token exchange for ${clientId.slice(0, 8)}...`);\n return {\n success: true,\n token: `dev-token-${clientId}`,\n expiresAt: new Date(Date.now() + 3600000),\n };\n }\n\n try {\n const response = await fetch(this.tokenEndpoint, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n body: new URLSearchParams({\n grant_type: 'client_credentials',\n client_id: clientId,\n client_secret: clientSecret,\n }),\n });\n\n if (!response.ok) {\n const error = await response.text();\n this.logger.warn(`Token exchange failed: ${response.status} ${error}`);\n return { success: false, error: `Token exchange failed: ${response.status}` };\n }\n\n const data = await response.json() as {\n access_token: string;\n expires_in?: number;\n token_type: string;\n webid?: string; // CSS returns webid in response\n };\n\n // Extract webId from token response or decode from JWT\n let webId = data.webid;\n if (!webId && data.access_token) {\n webId = this.extractWebIdFromJwt(data.access_token);\n }\n\n if (!webId) {\n return { success: false, error: 'Could not determine webId from token response' };\n }\n\n const expiresAt = data.expires_in\n ? new Date(Date.now() + data.expires_in * 1000 - 60000) // 1 min buffer\n : new Date(Date.now() + 3600000); // Default 1 hour\n\n return {\n success: true,\n token: data.access_token,\n tokenType: data.token_type?.toUpperCase() === 'DPOP' ? 'DPoP' : 'Bearer',\n webId,\n expiresAt,\n };\n } catch (error) {\n this.logger.error(`Token exchange error: ${error}`);\n return { success: false, error: 'Token exchange failed' };\n }\n }\n\n /**\n * Extract webId from JWT access token\n */\n private extractWebIdFromJwt(jwt: string): string | undefined {\n try {\n const parts = jwt.split('.');\n if (parts.length !== 3) {\n return undefined;\n }\n const payload = JSON.parse(Buffer.from(parts[1], 'base64').toString('utf-8'));\n return payload.webid || payload.webId || payload.sub;\n } catch {\n return undefined;\n }\n }\n\n private isJwt(token: string): boolean {\n return /^[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+$/.test(token);\n }\n}\n\n// Re-export for backwards compatibility (these are no longer needed but keep for other code)\nexport interface ClientCredentialsRecord {\n clientId: string;\n webId: string;\n accountId: string;\n displayName?: string;\n createdAt: Date;\n}\n\nexport interface ClientCredentialsStore {\n findByClientId(clientId: string): Promise<ClientCredentialsRecord | undefined>;\n}\n"]}
@@ -70,6 +70,7 @@ class SolidTokenAuthenticator {
70
70
  clientId,
71
71
  accessToken: rawToken?.trim(),
72
72
  tokenType: scheme === 'DPoP' ? 'DPoP' : 'Bearer',
73
+ dpopProof: dpopHeader?.trim(),
73
74
  };
74
75
  this.logger.debug(`Authenticated Solid token for webId: ${webId}`);
75
76
  return { success: true, context };
@@ -1 +1 @@
1
- {"version":3,"file":"SolidTokenAuthenticator.js","sourceRoot":"","sources":["../../../src/api/auth/SolidTokenAuthenticator.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IncomingMessage } from 'node:http';\nimport { createSolidTokenVerifier } from '@solid/access-token-verifier';\nimport { getLoggerFor } from 'global-logger-factory';\nimport type { Authenticator, AuthResult } from './Authenticator';\nimport type { SolidAuthContext } from './AuthContext';\n\nexport interface SolidTokenAuthenticatorOptions {\n /**\n * Function to resolve accountId from webId (optional)\n */\n resolveAccountId?: (webId: string) => Promise<string | undefined>;\n}\n\n/**\n * Authenticator for Solid access tokens (Bearer or DPoP).\n */\nexport class SolidTokenAuthenticator implements Authenticator {\n private readonly logger = getLoggerFor(this);\n private readonly verify = createSolidTokenVerifier();\n private readonly resolveAccountId?: (webId: string) => Promise<string | undefined>;\n\n public constructor(options: SolidTokenAuthenticatorOptions = {}) {\n this.resolveAccountId = options.resolveAccountId;\n }\n\n public canAuthenticate(request: IncomingMessage): boolean {\n const auth = request.headers.authorization;\n if (!auth) {\n return false;\n }\n const [scheme, token] = auth.split(' ');\n if (!scheme || !token) {\n return false;\n }\n if (scheme !== 'Bearer' && scheme !== 'DPoP') {\n return false;\n }\n return this.isJwt(token.trim());\n }\n\n public async authenticate(request: IncomingMessage): Promise<AuthResult> {\n const authorization = request.headers.authorization;\n if (!authorization) {\n return { success: false, error: 'Missing Authorization header' };\n }\n\n const [scheme, rawToken] = authorization.split(' ');\n const dpopRaw = request.headers.dpop;\n const dpopHeader = Array.isArray(dpopRaw) ? dpopRaw[0] : dpopRaw;\n if (scheme === 'DPoP' && !dpopHeader) {\n return { success: false, error: 'Missing DPoP header' };\n }\n\n try {\n // Build the request URL for verification\n const method = (request.method ?? 'GET') as 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'HEAD' | 'OPTIONS';\n const url = this.buildRequestUrl(request);\n\n console.log(`[SolidTokenAuthenticator] Verifying DPoP for URL: ${url}, method: ${method}, host header: ${request.headers.host}, x-forwarded-host: ${request.headers['x-forwarded-host']}`);\n\n const dpopOptions = dpopHeader ? {\n header: dpopHeader,\n method,\n url,\n } : undefined;\n\n const payload = await this.verify(authorization, dpopOptions) as unknown as Record<string, unknown>;\n\n const webId = this.extractWebId(payload);\n if (!webId) {\n return { success: false, error: 'Token missing webId claim' };\n }\n\n const clientId = this.extractString(payload, 'client_id') ?? \n this.extractString(payload, 'azp');\n\n let accountId: string | undefined;\n if (this.resolveAccountId) {\n try {\n accountId = await this.resolveAccountId(webId);\n } catch (error) {\n this.logger.warn(`Failed to resolve accountId for webId ${webId}: ${error}`);\n }\n }\n\n const context: SolidAuthContext = {\n type: 'solid',\n webId,\n accountId,\n clientId,\n accessToken: rawToken?.trim(),\n tokenType: scheme === 'DPoP' ? 'DPoP' : 'Bearer',\n };\n\n this.logger.debug(`Authenticated Solid token for webId: ${webId}`);\n return { success: true, context };\n } catch (error) {\n this.logger.warn(`Solid token verification failed: ${error}`);\n return { success: false, error: 'Invalid Solid token' };\n }\n }\n\n private buildRequestUrl(request: IncomingMessage): string {\n const host = this.getHost(request);\n const proto = this.getProtocol(request);\n const prefix = this.getForwardedPrefix(request);\n const path = request.url ?? '/';\n const fullPath = prefix ? this.joinPaths(prefix, path) : path;\n return `${proto}://${host}${fullPath}`;\n }\n\n private getProtocol(request: IncomingMessage): string {\n const forwarded = request.headers['x-forwarded-proto'];\n if (forwarded) {\n const proto = Array.isArray(forwarded) ? forwarded[0] : forwarded;\n return proto?.split(',')[0]?.trim() ?? 'http';\n }\n // Default to http for local development\n return 'http';\n }\n\n private getHost(request: IncomingMessage): string {\n const forwarded = request.headers['x-forwarded-host'];\n if (forwarded) {\n const raw = Array.isArray(forwarded) ? forwarded[0] : forwarded;\n const host = raw?.split(',')[0]?.trim();\n if (host) {\n return host;\n }\n }\n return request.headers.host ?? 'localhost';\n }\n\n private getForwardedPrefix(request: IncomingMessage): string | undefined {\n const forwarded = request.headers['x-forwarded-prefix'];\n if (!forwarded) {\n return undefined;\n }\n const raw = Array.isArray(forwarded) ? forwarded[0] : forwarded;\n const prefix = raw?.split(',')[0]?.trim();\n return prefix && prefix !== '/' ? prefix : undefined;\n }\n\n private joinPaths(prefix: string, path: string): string {\n const normalizedPrefix = prefix.endsWith('/') ? prefix.slice(0, -1) : prefix;\n const normalizedPath = path.startsWith('/') ? path : `/${path}`;\n if (!normalizedPrefix) {\n return normalizedPath;\n }\n return `${normalizedPrefix}${normalizedPath}`;\n }\n\n private isJwt(token: string): boolean {\n return /^[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+$/.test(token);\n }\n\n private extractWebId(payload: Record<string, unknown>): string | undefined {\n return this.extractString(payload, 'webid') ??\n this.extractString(payload, 'webId') ??\n this.extractString(payload, 'sub');\n }\n\n private extractString(obj: Record<string, unknown>, key: string): string | undefined {\n const value = obj[key];\n if (typeof value === 'string' && value.trim().length > 0) {\n return value.trim();\n }\n return undefined;\n }\n}\n"]}
1
+ {"version":3,"file":"SolidTokenAuthenticator.js","sourceRoot":"","sources":["../../../src/api/auth/SolidTokenAuthenticator.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IncomingMessage } from 'node:http';\nimport { createSolidTokenVerifier } from '@solid/access-token-verifier';\nimport { getLoggerFor } from 'global-logger-factory';\nimport type { Authenticator, AuthResult } from './Authenticator';\nimport type { SolidAuthContext } from './AuthContext';\n\nexport interface SolidTokenAuthenticatorOptions {\n /**\n * Function to resolve accountId from webId (optional)\n */\n resolveAccountId?: (webId: string) => Promise<string | undefined>;\n}\n\n/**\n * Authenticator for Solid access tokens (Bearer or DPoP).\n */\nexport class SolidTokenAuthenticator implements Authenticator {\n private readonly logger = getLoggerFor(this);\n private readonly verify = createSolidTokenVerifier();\n private readonly resolveAccountId?: (webId: string) => Promise<string | undefined>;\n\n public constructor(options: SolidTokenAuthenticatorOptions = {}) {\n this.resolveAccountId = options.resolveAccountId;\n }\n\n public canAuthenticate(request: IncomingMessage): boolean {\n const auth = request.headers.authorization;\n if (!auth) {\n return false;\n }\n const [scheme, token] = auth.split(' ');\n if (!scheme || !token) {\n return false;\n }\n if (scheme !== 'Bearer' && scheme !== 'DPoP') {\n return false;\n }\n return this.isJwt(token.trim());\n }\n\n public async authenticate(request: IncomingMessage): Promise<AuthResult> {\n const authorization = request.headers.authorization;\n if (!authorization) {\n return { success: false, error: 'Missing Authorization header' };\n }\n\n const [scheme, rawToken] = authorization.split(' ');\n const dpopRaw = request.headers.dpop;\n const dpopHeader = Array.isArray(dpopRaw) ? dpopRaw[0] : dpopRaw;\n if (scheme === 'DPoP' && !dpopHeader) {\n return { success: false, error: 'Missing DPoP header' };\n }\n\n try {\n // Build the request URL for verification\n const method = (request.method ?? 'GET') as 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'HEAD' | 'OPTIONS';\n const url = this.buildRequestUrl(request);\n\n console.log(`[SolidTokenAuthenticator] Verifying DPoP for URL: ${url}, method: ${method}, host header: ${request.headers.host}, x-forwarded-host: ${request.headers['x-forwarded-host']}`);\n\n const dpopOptions = dpopHeader ? {\n header: dpopHeader,\n method,\n url,\n } : undefined;\n\n const payload = await this.verify(authorization, dpopOptions) as unknown as Record<string, unknown>;\n\n const webId = this.extractWebId(payload);\n if (!webId) {\n return { success: false, error: 'Token missing webId claim' };\n }\n\n const clientId = this.extractString(payload, 'client_id') ?? \n this.extractString(payload, 'azp');\n\n let accountId: string | undefined;\n if (this.resolveAccountId) {\n try {\n accountId = await this.resolveAccountId(webId);\n } catch (error) {\n this.logger.warn(`Failed to resolve accountId for webId ${webId}: ${error}`);\n }\n }\n\n const context: SolidAuthContext = {\n type: 'solid',\n webId,\n accountId,\n clientId,\n accessToken: rawToken?.trim(),\n tokenType: scheme === 'DPoP' ? 'DPoP' : 'Bearer',\n dpopProof: dpopHeader?.trim(),\n };\n\n this.logger.debug(`Authenticated Solid token for webId: ${webId}`);\n return { success: true, context };\n } catch (error) {\n this.logger.warn(`Solid token verification failed: ${error}`);\n return { success: false, error: 'Invalid Solid token' };\n }\n }\n\n private buildRequestUrl(request: IncomingMessage): string {\n const host = this.getHost(request);\n const proto = this.getProtocol(request);\n const prefix = this.getForwardedPrefix(request);\n const path = request.url ?? '/';\n const fullPath = prefix ? this.joinPaths(prefix, path) : path;\n return `${proto}://${host}${fullPath}`;\n }\n\n private getProtocol(request: IncomingMessage): string {\n const forwarded = request.headers['x-forwarded-proto'];\n if (forwarded) {\n const proto = Array.isArray(forwarded) ? forwarded[0] : forwarded;\n return proto?.split(',')[0]?.trim() ?? 'http';\n }\n // Default to http for local development\n return 'http';\n }\n\n private getHost(request: IncomingMessage): string {\n const forwarded = request.headers['x-forwarded-host'];\n if (forwarded) {\n const raw = Array.isArray(forwarded) ? forwarded[0] : forwarded;\n const host = raw?.split(',')[0]?.trim();\n if (host) {\n return host;\n }\n }\n return request.headers.host ?? 'localhost';\n }\n\n private getForwardedPrefix(request: IncomingMessage): string | undefined {\n const forwarded = request.headers['x-forwarded-prefix'];\n if (!forwarded) {\n return undefined;\n }\n const raw = Array.isArray(forwarded) ? forwarded[0] : forwarded;\n const prefix = raw?.split(',')[0]?.trim();\n return prefix && prefix !== '/' ? prefix : undefined;\n }\n\n private joinPaths(prefix: string, path: string): string {\n const normalizedPrefix = prefix.endsWith('/') ? prefix.slice(0, -1) : prefix;\n const normalizedPath = path.startsWith('/') ? path : `/${path}`;\n if (!normalizedPrefix) {\n return normalizedPath;\n }\n return `${normalizedPrefix}${normalizedPath}`;\n }\n\n private isJwt(token: string): boolean {\n return /^[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+$/.test(token);\n }\n\n private extractWebId(payload: Record<string, unknown>): string | undefined {\n return this.extractString(payload, 'webid') ??\n this.extractString(payload, 'webId') ??\n this.extractString(payload, 'sub');\n }\n\n private extractString(obj: Record<string, unknown>, key: string): string | undefined {\n const value = obj[key];\n if (typeof value === 'string' && value.trim().length > 0) {\n return value.trim();\n }\n return undefined;\n }\n}\n"]}
@@ -144,6 +144,7 @@ Model: ${model}
144
144
  baseURL: config.baseUrl || (0, provider_registry_1.getDefaultBaseUrl)(),
145
145
  apiKey: config.apiKey,
146
146
  proxy: config.proxyUrl,
147
+ defaultModel: config.defaultModel,
147
148
  credentialId: config.credentialId,
148
149
  };
149
150
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ai-provider.js","sourceRoot":"","sources":["../../../src/api/chatkit/ai-provider.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * AI Provider Adapter\n *\n * Adapts existing AI services to the ChatKit AiProvider interface.\n * Includes 429 rate limit handling with credential status backfill.\n */\n\nimport { createOpenAI } from '@ai-sdk/openai';\nimport { streamText, APICallError } from 'ai';\nimport { getLoggerFor } from 'global-logger-factory';\nimport { ProxyAgent } from 'undici';\nimport type { AiProvider } from './service';\nimport type { StoreContext } from './store';\nimport type { PodChatKitStore } from './pod-store';\nimport type { AuthContext } from '../auth/AuthContext';\nimport { getWebId, getAccountId } from '../auth/AuthContext';\nimport { CredentialStatus } from '../../credential/schema/types';\nimport { getDefaultBaseUrl } from '../service/provider-registry';\n\n// Create a proxy-aware fetch function\nfunction createProxyFetch(proxyUrl: string): typeof fetch {\n const agent = new ProxyAgent(proxyUrl);\n return (url, init) => fetch(url, { ...init, dispatcher: agent } as any);\n}\n\nexport interface VercelAiProviderOptions {\n store: PodChatKitStore;\n}\n\n/**\n * Vercel AI SDK based provider\n *\n * Uses PodChatKitStore to get AI provider settings from Pod.\n * Reuses the same Session cached in StoreContext.\n */\nexport class VercelAiProvider implements AiProvider {\n private readonly logger = getLoggerFor(this);\n private readonly store: PodChatKitStore;\n\n public constructor(options: VercelAiProviderOptions) {\n this.store = options.store;\n }\n\n /**\n * Stream a response for the given messages\n */\n public async *streamResponse(\n messages: Array<{ role: 'system' | 'user' | 'assistant'; content: string }>,\n options?: {\n model?: string;\n temperature?: number;\n maxTokens?: number;\n context?: unknown;\n },\n ): AsyncIterable<string> {\n // Get context (contains auth and cached session)\n const context = options?.context as StoreContext | undefined;\n const auth = context?.auth as AuthContext | undefined;\n const userId = auth ? (getWebId(auth) ?? getAccountId(auth) ?? 'anonymous') : 'anonymous';\n\n // 从 Pod 获取配置\n const config = await this.getProviderConfig(context);\n\n if (!config) {\n throw new Error('No AI provider configured. Please configure Pod AI provider or set DEFAULT_API_BASE.');\n }\n\n const model = options?.model ?? config.defaultModel ?? process.env.DEFAULT_MODEL ?? 'stepfun/step-3.5-flash:free';\n\n this.logger.debug(`Streaming response for ${userId}, model: ${model}`);\n\n const provider = this.createProvider(config);\n\n try {\n const result = streamText({\n model: provider.chat(model),\n messages: messages as any,\n temperature: options?.temperature,\n maxTokens: options?.maxTokens,\n system: `You are a helpful AI assistant running on Xpod (a Solid Pod-based platform).\n\nYour capabilities:\n1. Help users with various tasks\n2. Use user's configured provider/model to respond consistently\n\nCurrent AI Provider: ${config.baseURL.includes('openrouter') ? 'OpenRouter (Free)' : 'Custom'}\nModel: ${model}\n`,\n } as any);\n\n // Stream text chunks\n for await (const chunk of result.textStream) {\n yield chunk;\n }\n } catch (error) {\n // Handle 429 rate limit errors\n if (this.isRateLimitError(error)) {\n await this.handleRateLimitError(error, context, config.credentialId);\n }\n throw error;\n }\n }\n\n /**\n * Check if error is a 429 rate limit error\n */\n private isRateLimitError(error: unknown): boolean {\n if (error instanceof APICallError) {\n return error.statusCode === 429;\n }\n if (error && typeof error === 'object') {\n const err = error as any;\n return err.status === 429 || err.statusCode === 429 || err.code === 'rate_limit_exceeded';\n }\n return false;\n }\n\n /**\n * Handle 429 rate limit error by updating credential status\n */\n private async handleRateLimitError(\n error: unknown,\n context: StoreContext | undefined,\n credentialId: string | undefined,\n ): Promise<void> {\n if (!context || !credentialId) {\n this.logger.debug('Cannot update credential status: missing context or credentialId');\n return;\n }\n\n let rateLimitResetAt: Date | undefined;\n if (error instanceof APICallError && error.responseHeaders) {\n const retryAfter = error.responseHeaders['retry-after'];\n if (retryAfter) {\n const seconds = parseInt(retryAfter, 10);\n if (!isNaN(seconds)) {\n rateLimitResetAt = new Date(Date.now() + seconds * 1000);\n } else {\n const date = new Date(retryAfter);\n if (!isNaN(date.getTime())) {\n rateLimitResetAt = date;\n }\n }\n }\n }\n\n if (!rateLimitResetAt) {\n rateLimitResetAt = new Date(Date.now() + 60 * 1000);\n }\n\n this.logger.warn(`Rate limited for credential ${credentialId}, reset at ${rateLimitResetAt.toISOString()}`);\n\n try {\n await this.store.updateCredentialStatus(context, credentialId, CredentialStatus.RATE_LIMITED, {\n rateLimitResetAt,\n incrementFailCount: true,\n });\n } catch (updateError) {\n this.logger.error(`Failed to update credential status: ${updateError}`);\n }\n }\n\n private async getProviderConfig(\n context: StoreContext | undefined,\n ): Promise<{\n baseURL: string;\n apiKey: string;\n proxy?: string;\n defaultModel?: string;\n credentialId?: string;\n } | null> {\n let config: Awaited<ReturnType<PodChatKitStore['getAiConfig']>> | undefined;\n\n if (context) {\n try {\n config = await this.store.getAiConfig(context);\n this.logger.debug(`Pod config: ${JSON.stringify(config)}`);\n } catch (error) {\n this.logger.debug(`Failed to get Pod config: ${error}`);\n config = undefined;\n }\n }\n\n // 1. 用户 Pod 有配置,优先使用\n if (config?.apiKey) {\n return {\n baseURL: config.baseUrl || getDefaultBaseUrl(),\n apiKey: config.apiKey,\n proxy: config.proxyUrl,\n credentialId: config.credentialId,\n };\n }\n\n // 2. 平台 Provider\n const platformBase = process.env.DEFAULT_API_BASE;\n if (platformBase) {\n return {\n baseURL: platformBase,\n apiKey: process.env.DEFAULT_API_KEY || '',\n };\n }\n\n // 3. 无配置\n this.logger.debug('No valid AI config found');\n return null;\n }\n\n private createProvider(config: { baseURL: string; apiKey: string; proxy?: string }) {\n const { baseURL, apiKey, proxy } = config;\n\n this.logger.debug(`Using AI Provider: ${baseURL} (proxy: ${proxy || 'none'})`);\n\n const options: any = { baseURL, apiKey };\n if (proxy) {\n options.fetch = createProxyFetch(proxy);\n }\n\n return createOpenAI(options);\n }\n\n}\n"]}
1
+ {"version":3,"file":"ai-provider.js","sourceRoot":"","sources":["../../../src/api/chatkit/ai-provider.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,2CAA8C;AAC9C,2BAA8C;AAC9C,iEAAqD;AACrD,mCAAoC;AAKpC,qDAA6D;AAC7D,yDAAiE;AACjE,oEAAiE;AAEjE,sCAAsC;AACtC,SAAS,gBAAgB,CAAC,QAAgB;IACxC,MAAM,KAAK,GAAG,IAAI,mBAAU,CAAC,QAAQ,CAAC,CAAC;IACvC,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,KAAK,EAAS,CAAC,CAAC;AAC1E,CAAC;AAMD;;;;;GAKG;AACH,MAAa,gBAAgB;IAI3B,YAAmB,OAAgC;QAHlC,WAAM,GAAG,IAAA,oCAAY,EAAC,IAAI,CAAC,CAAC;QAI3C,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC7B,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,CAAC,cAAc,CAC1B,QAA2E,EAC3E,OAKC;QAED,iDAAiD;QACjD,MAAM,OAAO,GAAG,OAAO,EAAE,OAAmC,CAAC;QAC7D,MAAM,IAAI,GAAG,OAAO,EAAE,IAA+B,CAAC;QACtD,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAA,sBAAQ,EAAC,IAAI,CAAC,IAAI,IAAA,0BAAY,EAAC,IAAI,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;QAE1F,aAAa;QACb,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAErD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,sFAAsF,CAAC,CAAC;QAC1G,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,MAAM,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,6BAA6B,CAAC;QAElH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,MAAM,YAAY,KAAK,EAAE,CAAC,CAAC;QAEvE,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAE7C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAA,eAAU,EAAC;gBACxB,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC3B,QAAQ,EAAE,QAAe;gBACzB,WAAW,EAAE,OAAO,EAAE,WAAW;gBACjC,SAAS,EAAE,OAAO,EAAE,SAAS;gBAC7B,MAAM,EAAE;;;;;;uBAMO,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,QAAQ;SACpF,KAAK;CACb;aACa,CAAC,CAAC;YAEV,qBAAqB;YACrB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;gBAC5C,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,+BAA+B;YAC/B,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjC,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;YACvE,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,KAAc;QACrC,IAAI,KAAK,YAAY,iBAAY,EAAE,CAAC;YAClC,OAAO,KAAK,CAAC,UAAU,KAAK,GAAG,CAAC;QAClC,CAAC;QACD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvC,MAAM,GAAG,GAAG,KAAY,CAAC;YACzB,OAAO,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,qBAAqB,CAAC;QAC5F,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,oBAAoB,CAChC,KAAc,EACd,OAAiC,EACjC,YAAgC;QAEhC,IAAI,CAAC,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;YACtF,OAAO;QACT,CAAC;QAED,IAAI,gBAAkC,CAAC;QACvC,IAAI,KAAK,YAAY,iBAAY,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;YAC3D,MAAM,UAAU,GAAG,KAAK,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;YACxD,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;gBACzC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;oBACpB,gBAAgB,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC;gBAC3D,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;oBAClC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;wBAC3B,gBAAgB,GAAG,IAAI,CAAC;oBAC1B,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,gBAAgB,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QACtD,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,YAAY,cAAc,gBAAgB,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAE5G,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,OAAO,EAAE,YAAY,EAAE,wBAAgB,CAAC,YAAY,EAAE;gBAC5F,gBAAgB;gBAChB,kBAAkB,EAAE,IAAI;aACzB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAuC,WAAW,EAAE,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC7B,OAAiC;QAQjC,IAAI,MAAuE,CAAC;QAE5E,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBAC/C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC7D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,KAAK,EAAE,CAAC,CAAC;gBACxD,MAAM,GAAG,SAAS,CAAC;YACrB,CAAC;QACH,CAAC;QAED,qBAAqB;QACrB,IAAI,MAAM,EAAE,MAAM,EAAE,CAAC;YACnB,OAAO;gBACL,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,IAAA,qCAAiB,GAAE;gBAC9C,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,KAAK,EAAE,MAAM,CAAC,QAAQ;gBACtB,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,YAAY,EAAE,MAAM,CAAC,YAAY;aAClC,CAAC;QACJ,CAAC;QAED,iBAAiB;QACjB,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;QAClD,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO;gBACL,OAAO,EAAE,YAAY;gBACrB,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE;aAC1C,CAAC;QACJ,CAAC;QAED,SAAS;QACT,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,cAAc,CAAC,MAA2D;QAChF,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;QAE1C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,OAAO,YAAY,KAAK,IAAI,MAAM,GAAG,CAAC,CAAC;QAE/E,MAAM,OAAO,GAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QACzC,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO,IAAA,qBAAY,EAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;CAEF;AA1LD,4CA0LC","sourcesContent":["/**\n * AI Provider Adapter\n *\n * Adapts existing AI services to the ChatKit AiProvider interface.\n * Includes 429 rate limit handling with credential status backfill.\n */\n\nimport { createOpenAI } from '@ai-sdk/openai';\nimport { streamText, APICallError } from 'ai';\nimport { getLoggerFor } from 'global-logger-factory';\nimport { ProxyAgent } from 'undici';\nimport type { AiProvider } from './service';\nimport type { StoreContext } from './store';\nimport type { PodChatKitStore } from './pod-store';\nimport type { AuthContext } from '../auth/AuthContext';\nimport { getWebId, getAccountId } from '../auth/AuthContext';\nimport { CredentialStatus } from '../../credential/schema/types';\nimport { getDefaultBaseUrl } from '../service/provider-registry';\n\n// Create a proxy-aware fetch function\nfunction createProxyFetch(proxyUrl: string): typeof fetch {\n const agent = new ProxyAgent(proxyUrl);\n return (url, init) => fetch(url, { ...init, dispatcher: agent } as any);\n}\n\nexport interface VercelAiProviderOptions {\n store: PodChatKitStore;\n}\n\n/**\n * Vercel AI SDK based provider\n *\n * Uses PodChatKitStore to get AI provider settings from Pod.\n * Reuses the same Session cached in StoreContext.\n */\nexport class VercelAiProvider implements AiProvider {\n private readonly logger = getLoggerFor(this);\n private readonly store: PodChatKitStore;\n\n public constructor(options: VercelAiProviderOptions) {\n this.store = options.store;\n }\n\n /**\n * Stream a response for the given messages\n */\n public async *streamResponse(\n messages: Array<{ role: 'system' | 'user' | 'assistant'; content: string }>,\n options?: {\n model?: string;\n temperature?: number;\n maxTokens?: number;\n context?: unknown;\n },\n ): AsyncIterable<string> {\n // Get context (contains auth and cached session)\n const context = options?.context as StoreContext | undefined;\n const auth = context?.auth as AuthContext | undefined;\n const userId = auth ? (getWebId(auth) ?? getAccountId(auth) ?? 'anonymous') : 'anonymous';\n\n // 从 Pod 获取配置\n const config = await this.getProviderConfig(context);\n\n if (!config) {\n throw new Error('No AI provider configured. Please configure Pod AI provider or set DEFAULT_API_BASE.');\n }\n\n const model = options?.model ?? config.defaultModel ?? process.env.DEFAULT_MODEL ?? 'stepfun/step-3.5-flash:free';\n\n this.logger.debug(`Streaming response for ${userId}, model: ${model}`);\n\n const provider = this.createProvider(config);\n\n try {\n const result = streamText({\n model: provider.chat(model),\n messages: messages as any,\n temperature: options?.temperature,\n maxTokens: options?.maxTokens,\n system: `You are a helpful AI assistant running on Xpod (a Solid Pod-based platform).\n\nYour capabilities:\n1. Help users with various tasks\n2. Use user's configured provider/model to respond consistently\n\nCurrent AI Provider: ${config.baseURL.includes('openrouter') ? 'OpenRouter (Free)' : 'Custom'}\nModel: ${model}\n`,\n } as any);\n\n // Stream text chunks\n for await (const chunk of result.textStream) {\n yield chunk;\n }\n } catch (error) {\n // Handle 429 rate limit errors\n if (this.isRateLimitError(error)) {\n await this.handleRateLimitError(error, context, config.credentialId);\n }\n throw error;\n }\n }\n\n /**\n * Check if error is a 429 rate limit error\n */\n private isRateLimitError(error: unknown): boolean {\n if (error instanceof APICallError) {\n return error.statusCode === 429;\n }\n if (error && typeof error === 'object') {\n const err = error as any;\n return err.status === 429 || err.statusCode === 429 || err.code === 'rate_limit_exceeded';\n }\n return false;\n }\n\n /**\n * Handle 429 rate limit error by updating credential status\n */\n private async handleRateLimitError(\n error: unknown,\n context: StoreContext | undefined,\n credentialId: string | undefined,\n ): Promise<void> {\n if (!context || !credentialId) {\n this.logger.debug('Cannot update credential status: missing context or credentialId');\n return;\n }\n\n let rateLimitResetAt: Date | undefined;\n if (error instanceof APICallError && error.responseHeaders) {\n const retryAfter = error.responseHeaders['retry-after'];\n if (retryAfter) {\n const seconds = parseInt(retryAfter, 10);\n if (!isNaN(seconds)) {\n rateLimitResetAt = new Date(Date.now() + seconds * 1000);\n } else {\n const date = new Date(retryAfter);\n if (!isNaN(date.getTime())) {\n rateLimitResetAt = date;\n }\n }\n }\n }\n\n if (!rateLimitResetAt) {\n rateLimitResetAt = new Date(Date.now() + 60 * 1000);\n }\n\n this.logger.warn(`Rate limited for credential ${credentialId}, reset at ${rateLimitResetAt.toISOString()}`);\n\n try {\n await this.store.updateCredentialStatus(context, credentialId, CredentialStatus.RATE_LIMITED, {\n rateLimitResetAt,\n incrementFailCount: true,\n });\n } catch (updateError) {\n this.logger.error(`Failed to update credential status: ${updateError}`);\n }\n }\n\n private async getProviderConfig(\n context: StoreContext | undefined,\n ): Promise<{\n baseURL: string;\n apiKey: string;\n proxy?: string;\n defaultModel?: string;\n credentialId?: string;\n } | null> {\n let config: Awaited<ReturnType<PodChatKitStore['getAiConfig']>> | undefined;\n\n if (context) {\n try {\n config = await this.store.getAiConfig(context);\n this.logger.debug(`Pod config: ${JSON.stringify(config)}`);\n } catch (error) {\n this.logger.debug(`Failed to get Pod config: ${error}`);\n config = undefined;\n }\n }\n\n // 1. 用户 Pod 有配置,优先使用\n if (config?.apiKey) {\n return {\n baseURL: config.baseUrl || getDefaultBaseUrl(),\n apiKey: config.apiKey,\n proxy: config.proxyUrl,\n defaultModel: config.defaultModel,\n credentialId: config.credentialId,\n };\n }\n\n // 2. 平台 Provider\n const platformBase = process.env.DEFAULT_API_BASE;\n if (platformBase) {\n return {\n baseURL: platformBase,\n apiKey: process.env.DEFAULT_API_KEY || '',\n };\n }\n\n // 3. 无配置\n this.logger.debug('No valid AI config found');\n return null;\n }\n\n private createProvider(config: { baseURL: string; apiKey: string; proxy?: string }) {\n const { baseURL, apiKey, proxy } = config;\n\n this.logger.debug(`Using AI Provider: ${baseURL} (proxy: ${proxy || 'none'})`);\n\n const options: any = { baseURL, apiKey };\n if (proxy) {\n options.fetch = createProxyFetch(proxy);\n }\n\n return createOpenAI(options);\n }\n\n}\n"]}