@undefineds.co/drizzle-solid 0.2.7 → 0.2.9

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 (168) hide show
  1. package/CHANGELOG-DRAFT.md +444 -0
  2. package/dist/core/ast-to-sparql.d.ts +1 -6
  3. package/dist/core/ast-to-sparql.d.ts.map +1 -1
  4. package/dist/core/ast-to-sparql.js +3 -22
  5. package/dist/core/ast-to-sparql.js.map +1 -1
  6. package/dist/core/execution/ldp-executor.d.ts +8 -7
  7. package/dist/core/execution/ldp-executor.d.ts.map +1 -1
  8. package/dist/core/execution/ldp-executor.js +106 -126
  9. package/dist/core/execution/ldp-executor.js.map +1 -1
  10. package/dist/core/execution/pod-executor.d.ts.map +1 -1
  11. package/dist/core/execution/pod-executor.js +9 -0
  12. package/dist/core/execution/pod-executor.js.map +1 -1
  13. package/dist/core/execution/sparql-strategy.d.ts +7 -26
  14. package/dist/core/execution/sparql-strategy.d.ts.map +1 -1
  15. package/dist/core/execution/sparql-strategy.js +40 -96
  16. package/dist/core/execution/sparql-strategy.js.map +1 -1
  17. package/dist/core/execution/types.d.ts +8 -8
  18. package/dist/core/execution/types.d.ts.map +1 -1
  19. package/dist/core/pod-database.d.ts +0 -4
  20. package/dist/core/pod-database.d.ts.map +1 -1
  21. package/dist/core/pod-database.js +8 -32
  22. package/dist/core/pod-database.js.map +1 -1
  23. package/dist/core/pod-dialect.d.ts +10 -24
  24. package/dist/core/pod-dialect.d.ts.map +1 -1
  25. package/dist/core/pod-dialect.js +19 -182
  26. package/dist/core/pod-dialect.js.map +1 -1
  27. package/dist/core/pod-session.d.ts +6 -2
  28. package/dist/core/pod-session.d.ts.map +1 -1
  29. package/dist/core/pod-session.js +8 -2
  30. package/dist/core/pod-session.js.map +1 -1
  31. package/dist/core/query-builders/select-query-builder.d.ts.map +1 -1
  32. package/dist/core/query-builders/select-query-builder.js +0 -13
  33. package/dist/core/query-builders/select-query-builder.js.map +1 -1
  34. package/dist/core/query-conditions.d.ts.map +1 -1
  35. package/dist/core/query-conditions.js.map +1 -1
  36. package/dist/core/resource-resolver/base-resolver.d.ts.map +1 -1
  37. package/dist/core/resource-resolver/base-resolver.js +9 -1
  38. package/dist/core/resource-resolver/base-resolver.js.map +1 -1
  39. package/dist/core/resource-resolver/document-resolver.d.ts.map +1 -1
  40. package/dist/core/resource-resolver/document-resolver.js +51 -8
  41. package/dist/core/resource-resolver/document-resolver.js.map +1 -1
  42. package/dist/core/runtime/pod-runtime.d.ts +25 -0
  43. package/dist/core/runtime/pod-runtime.d.ts.map +1 -1
  44. package/dist/core/runtime/pod-runtime.js +67 -0
  45. package/dist/core/runtime/pod-runtime.js.map +1 -1
  46. package/dist/core/sparql/builder/select-builder.d.ts.map +1 -1
  47. package/dist/core/sparql/builder/select-builder.js +8 -1
  48. package/dist/core/sparql/builder/select-builder.js.map +1 -1
  49. package/dist/core/subject/index.js +1 -1
  50. package/dist/core/subject/index.js.map +1 -1
  51. package/dist/core/subject/resolver.js +2 -2
  52. package/dist/core/subject/types.d.ts +8 -1
  53. package/dist/core/subject/types.d.ts.map +1 -1
  54. package/dist/core/triple/builder.d.ts.map +1 -1
  55. package/dist/core/triple/builder.js +2 -3
  56. package/dist/core/triple/builder.js.map +1 -1
  57. package/dist/core/typeindex-manager.d.ts +6 -0
  58. package/dist/core/typeindex-manager.d.ts.map +1 -1
  59. package/dist/core/typeindex-manager.js +21 -0
  60. package/dist/core/typeindex-manager.js.map +1 -1
  61. package/dist/core/uri/resolver.d.ts.map +1 -1
  62. package/dist/core/uri/resolver.js +1 -7
  63. package/dist/core/uri/resolver.js.map +1 -1
  64. package/dist/core/uri/types.d.ts +0 -3
  65. package/dist/core/uri/types.d.ts.map +1 -1
  66. package/dist/driver.d.ts +5 -0
  67. package/dist/driver.d.ts.map +1 -1
  68. package/dist/driver.js +1 -0
  69. package/dist/driver.js.map +1 -1
  70. package/dist/esm/core/ast-to-sparql.d.ts +1 -6
  71. package/dist/esm/core/ast-to-sparql.d.ts.map +1 -1
  72. package/dist/esm/core/ast-to-sparql.js +3 -22
  73. package/dist/esm/core/ast-to-sparql.js.map +1 -1
  74. package/dist/esm/core/execution/ldp-executor.d.ts +8 -7
  75. package/dist/esm/core/execution/ldp-executor.d.ts.map +1 -1
  76. package/dist/esm/core/execution/ldp-executor.js +106 -126
  77. package/dist/esm/core/execution/ldp-executor.js.map +1 -1
  78. package/dist/esm/core/execution/pod-executor.d.ts.map +1 -1
  79. package/dist/esm/core/execution/pod-executor.js +9 -0
  80. package/dist/esm/core/execution/pod-executor.js.map +1 -1
  81. package/dist/esm/core/execution/sparql-strategy.d.ts +7 -26
  82. package/dist/esm/core/execution/sparql-strategy.d.ts.map +1 -1
  83. package/dist/esm/core/execution/sparql-strategy.js +40 -96
  84. package/dist/esm/core/execution/sparql-strategy.js.map +1 -1
  85. package/dist/esm/core/execution/types.d.ts +8 -8
  86. package/dist/esm/core/execution/types.d.ts.map +1 -1
  87. package/dist/esm/core/pod-database.d.ts +0 -4
  88. package/dist/esm/core/pod-database.d.ts.map +1 -1
  89. package/dist/esm/core/pod-database.js +8 -32
  90. package/dist/esm/core/pod-database.js.map +1 -1
  91. package/dist/esm/core/pod-dialect.d.ts +10 -24
  92. package/dist/esm/core/pod-dialect.d.ts.map +1 -1
  93. package/dist/esm/core/pod-dialect.js +19 -182
  94. package/dist/esm/core/pod-dialect.js.map +1 -1
  95. package/dist/esm/core/pod-session.d.ts +6 -2
  96. package/dist/esm/core/pod-session.d.ts.map +1 -1
  97. package/dist/esm/core/pod-session.js +8 -2
  98. package/dist/esm/core/pod-session.js.map +1 -1
  99. package/dist/esm/core/query-builders/select-query-builder.d.ts.map +1 -1
  100. package/dist/esm/core/query-builders/select-query-builder.js +0 -13
  101. package/dist/esm/core/query-builders/select-query-builder.js.map +1 -1
  102. package/dist/esm/core/query-conditions.d.ts.map +1 -1
  103. package/dist/esm/core/query-conditions.js.map +1 -1
  104. package/dist/esm/core/resource-resolver/base-resolver.d.ts.map +1 -1
  105. package/dist/esm/core/resource-resolver/base-resolver.js +9 -1
  106. package/dist/esm/core/resource-resolver/base-resolver.js.map +1 -1
  107. package/dist/esm/core/resource-resolver/document-resolver.d.ts.map +1 -1
  108. package/dist/esm/core/resource-resolver/document-resolver.js +51 -8
  109. package/dist/esm/core/resource-resolver/document-resolver.js.map +1 -1
  110. package/dist/esm/core/runtime/pod-runtime.d.ts +25 -0
  111. package/dist/esm/core/runtime/pod-runtime.d.ts.map +1 -1
  112. package/dist/esm/core/runtime/pod-runtime.js +67 -0
  113. package/dist/esm/core/runtime/pod-runtime.js.map +1 -1
  114. package/dist/esm/core/sparql/builder/select-builder.d.ts.map +1 -1
  115. package/dist/esm/core/sparql/builder/select-builder.js +8 -1
  116. package/dist/esm/core/sparql/builder/select-builder.js.map +1 -1
  117. package/dist/esm/core/subject/index.js +1 -1
  118. package/dist/esm/core/subject/index.js.map +1 -1
  119. package/dist/esm/core/subject/resolver.js +2 -2
  120. package/dist/esm/core/subject/types.d.ts +8 -1
  121. package/dist/esm/core/subject/types.d.ts.map +1 -1
  122. package/dist/esm/core/triple/builder.d.ts.map +1 -1
  123. package/dist/esm/core/triple/builder.js +2 -3
  124. package/dist/esm/core/triple/builder.js.map +1 -1
  125. package/dist/esm/core/typeindex-manager.d.ts +6 -0
  126. package/dist/esm/core/typeindex-manager.d.ts.map +1 -1
  127. package/dist/esm/core/typeindex-manager.js +21 -0
  128. package/dist/esm/core/typeindex-manager.js.map +1 -1
  129. package/dist/esm/core/uri/resolver.d.ts.map +1 -1
  130. package/dist/esm/core/uri/resolver.js +1 -7
  131. package/dist/esm/core/uri/resolver.js.map +1 -1
  132. package/dist/esm/core/uri/types.d.ts +0 -3
  133. package/dist/esm/core/uri/types.d.ts.map +1 -1
  134. package/dist/esm/driver.d.ts +5 -0
  135. package/dist/esm/driver.d.ts.map +1 -1
  136. package/dist/esm/driver.js +1 -0
  137. package/dist/esm/driver.js.map +1 -1
  138. package/dist/esm/index.d.ts +1 -0
  139. package/dist/esm/index.d.ts.map +1 -1
  140. package/dist/esm/index.js.map +1 -1
  141. package/dist/esm/utils/webid-resolver.d.ts +24 -0
  142. package/dist/esm/utils/webid-resolver.d.ts.map +1 -0
  143. package/dist/esm/utils/webid-resolver.js +69 -0
  144. package/dist/esm/utils/webid-resolver.js.map +1 -0
  145. package/dist/index.d.ts +1 -0
  146. package/dist/index.d.ts.map +1 -1
  147. package/dist/index.js.map +1 -1
  148. package/dist/utils/webid-resolver.d.ts +24 -0
  149. package/dist/utils/webid-resolver.d.ts.map +1 -0
  150. package/dist/utils/webid-resolver.js +73 -0
  151. package/dist/utils/webid-resolver.js.map +1 -0
  152. package/package.json +1 -1
  153. package/dist/core/pod-table.d.ts +0 -710
  154. package/dist/core/pod-table.d.ts.map +0 -1
  155. package/dist/core/pod-table.js +0 -1300
  156. package/dist/core/pod-table.js.map +0 -1
  157. package/dist/core/publish-manager.d.ts +0 -90
  158. package/dist/core/publish-manager.d.ts.map +0 -1
  159. package/dist/core/publish-manager.js +0 -147
  160. package/dist/core/publish-manager.js.map +0 -1
  161. package/dist/esm/core/pod-table.d.ts +0 -710
  162. package/dist/esm/core/pod-table.d.ts.map +0 -1
  163. package/dist/esm/core/pod-table.js +0 -1249
  164. package/dist/esm/core/pod-table.js.map +0 -1
  165. package/dist/esm/core/publish-manager.d.ts +0 -90
  166. package/dist/esm/core/publish-manager.d.ts.map +0 -1
  167. package/dist/esm/core/publish-manager.js +0 -143
  168. package/dist/esm/core/publish-manager.js.map +0 -1
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.webIdResolver = exports.WebIdResolver = void 0;
4
+ const query_sparql_solid_1 = require("@comunica/query-sparql-solid");
5
+ /**
6
+ * Resolver to find the actual storage root (SP) from a WebID (IdP).
7
+ * Implements the IdP-SP Separation architecture.
8
+ */
9
+ class WebIdResolver {
10
+ constructor() {
11
+ this.cache = new Map();
12
+ this.engine = new query_sparql_solid_1.QueryEngine();
13
+ }
14
+ /**
15
+ * Resolve the storage root URL from a WebID Profile.
16
+ * Prioritizes pim:storage (WSIM) over solid:pod.
17
+ *
18
+ * @param webId The WebID to resolve
19
+ * @param fetchFn The authenticated fetch function (optional)
20
+ * @returns The resolved storage URL (with trailing slash), or null if not found
21
+ */
22
+ async resolveStorage(webId, fetchFn) {
23
+ if (this.cache.has(webId)) {
24
+ return this.cache.get(webId);
25
+ }
26
+ try {
27
+ // PIM Storage (WSIM) is the primary predicate, solid:pod is secondary
28
+ // We look for both
29
+ const query = `
30
+ SELECT ?storage WHERE {
31
+ { <${webId}> <http://www.w3.org/ns/pim/space#storage> ?storage }
32
+ UNION
33
+ { <${webId}> <http://www.w3.org/ns/solid/terms#pod> ?storage }
34
+ } LIMIT 1
35
+ `;
36
+ // Use authenticated fetch if available, otherwise fall back to unauthenticated
37
+ // Profile documents are usually public, but some might be private
38
+ const context = {
39
+ sources: [webId],
40
+ lenient: true
41
+ };
42
+ if (fetchFn) {
43
+ context.fetch = fetchFn;
44
+ }
45
+ const bindingsStream = await this.engine.queryBindings(query, context);
46
+ const bindings = await bindingsStream.toArray();
47
+ if (bindings.length > 0) {
48
+ const storage = bindings[0].get('storage')?.value;
49
+ if (storage) {
50
+ // Ensure trailing slash for directory/container semantics
51
+ const normalized = storage.endsWith('/') ? storage : `${storage}/`;
52
+ console.log(`[WebIdResolver] Resolved storage for ${webId} -> ${normalized}`);
53
+ this.cache.set(webId, normalized);
54
+ return normalized;
55
+ }
56
+ }
57
+ }
58
+ catch (error) {
59
+ console.warn(`[WebIdResolver] Failed to resolve storage for ${webId}`, error);
60
+ }
61
+ return null;
62
+ }
63
+ /**
64
+ * Clear the internal cache
65
+ */
66
+ clearCache() {
67
+ this.cache.clear();
68
+ }
69
+ }
70
+ exports.WebIdResolver = WebIdResolver;
71
+ // Singleton instance
72
+ exports.webIdResolver = new WebIdResolver();
73
+ //# sourceMappingURL=webid-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webid-resolver.js","sourceRoot":"","sources":["../../src/utils/webid-resolver.ts"],"names":[],"mappings":";;;AAAA,qEAA2D;AAE3D;;;GAGG;AACH,MAAa,aAAa;IAIxB;QAFQ,UAAK,GAAwB,IAAI,GAAG,EAAE,CAAC;QAG7C,IAAI,CAAC,MAAM,GAAG,IAAI,gCAAW,EAAE,CAAC;IAClC,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,cAAc,CAAC,KAAa,EAAE,OAAsB;QACxD,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC;QAChC,CAAC;QAED,IAAI,CAAC;YACH,sEAAsE;YACtE,mBAAmB;YACnB,MAAM,KAAK,GAAG;;eAEL,KAAK;;eAEL,KAAK;;OAEb,CAAC;YAEF,+EAA+E;YAC/E,kEAAkE;YAClE,MAAM,OAAO,GAAQ;gBACnB,OAAO,EAAE,CAAC,KAAK,CAAC;gBAChB,OAAO,EAAE,IAAI;aACd,CAAC;YAEF,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC;YAC1B,CAAC;YAED,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACvE,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,CAAC;YAEhD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC;gBAClD,IAAI,OAAO,EAAE,CAAC;oBACZ,0DAA0D;oBAC1D,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC;oBAEnE,OAAO,CAAC,GAAG,CAAC,wCAAwC,KAAK,OAAO,UAAU,EAAE,CAAC,CAAC;oBAC9E,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;oBAClC,OAAO,UAAU,CAAC;gBACpB,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,iDAAiD,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC;QAChF,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,UAAU;QACR,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;CACF;AAtED,sCAsEC;AAED,qBAAqB;AACR,QAAA,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@undefineds.co/drizzle-solid",
3
- "version": "0.2.7",
3
+ "version": "0.2.9",
4
4
  "description": "Drizzle ORM adapter for Solid Pods",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",