@_linked/core 2.18.1 → 2.20.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 (47) hide show
  1. package/CHANGELOG.md +63 -0
  2. package/README.md +104 -3
  3. package/lib/esm/index.d.ts +3 -0
  4. package/lib/esm/index.js +1 -0
  5. package/lib/esm/index.js.map +1 -1
  6. package/lib/esm/interfaces/IDataset.d.ts +23 -0
  7. package/lib/esm/interfaces/IFileStore.d.ts +64 -1
  8. package/lib/esm/interfaces/IFileStore.js +21 -1
  9. package/lib/esm/interfaces/IFileStore.js.map +1 -1
  10. package/lib/esm/queries/CountBuilder.d.ts +69 -0
  11. package/lib/esm/queries/CountBuilder.js +162 -0
  12. package/lib/esm/queries/CountBuilder.js.map +1 -0
  13. package/lib/esm/queries/CountQuery.d.ts +80 -0
  14. package/lib/esm/queries/CountQuery.js +7 -0
  15. package/lib/esm/queries/CountQuery.js.map +1 -0
  16. package/lib/esm/queries/IntermediateRepresentation.d.ts +31 -1
  17. package/lib/esm/queries/QueryBuilder.d.ts +80 -0
  18. package/lib/esm/queries/QueryBuilder.js +98 -13
  19. package/lib/esm/queries/QueryBuilder.js.map +1 -1
  20. package/lib/esm/queries/fromJSON.d.ts +5 -3
  21. package/lib/esm/queries/fromJSON.js +4 -1
  22. package/lib/esm/queries/fromJSON.js.map +1 -1
  23. package/lib/esm/queries/lower.d.ts +17 -2
  24. package/lib/esm/queries/lower.js +61 -0
  25. package/lib/esm/queries/lower.js.map +1 -1
  26. package/lib/esm/queries/queryDispatch.d.ts +35 -0
  27. package/lib/esm/queries/queryDispatch.js +36 -0
  28. package/lib/esm/queries/queryDispatch.js.map +1 -1
  29. package/lib/esm/shapes/Shape.d.ts +32 -0
  30. package/lib/esm/shapes/Shape.js +47 -0
  31. package/lib/esm/shapes/Shape.js.map +1 -1
  32. package/lib/esm/sparql/SparqlDataset.d.ts +11 -0
  33. package/lib/esm/sparql/SparqlDataset.js +19 -2
  34. package/lib/esm/sparql/SparqlDataset.js.map +1 -1
  35. package/lib/esm/sparql/index.d.ts +3 -3
  36. package/lib/esm/sparql/index.js +3 -3
  37. package/lib/esm/sparql/index.js.map +1 -1
  38. package/lib/esm/sparql/irToAlgebra.d.ts +32 -1
  39. package/lib/esm/sparql/irToAlgebra.js +74 -0
  40. package/lib/esm/sparql/irToAlgebra.js.map +1 -1
  41. package/lib/esm/sparql/resultMapping.d.ts +14 -1
  42. package/lib/esm/sparql/resultMapping.js +40 -0
  43. package/lib/esm/sparql/resultMapping.js.map +1 -1
  44. package/lib/esm/utils/LinkedFileStorage.d.ts +96 -3
  45. package/lib/esm/utils/LinkedFileStorage.js +164 -12
  46. package/lib/esm/utils/LinkedFileStorage.js.map +1 -1
  47. package/package.json +3 -2
@@ -1,39 +1,191 @@
1
+ /**
2
+ * Well-known file store purposes shipped with core.
3
+ *
4
+ * Core itself never writes to `appAssets`; it lives here as the documented
5
+ * convention (plan 011 D4) so the CLI and apps agree on the same key without a
6
+ * shared runtime dependency. Any *new* purpose's constant belongs in the
7
+ * runtime package that owns the concept, not here and not in the CLI.
8
+ */
9
+ export const FileStorePurposes = {
10
+ /** User-generated files. Resolves to the default store unless split out. */
11
+ uploads: 'uploads',
12
+ /** Built app bundles published by `linked build-app`. */
13
+ appAssets: 'appAssets',
14
+ };
1
15
  export class LinkedFileStorage {
2
16
  static get accessURL() {
3
17
  // check if default store is not set, return default accessURL
4
- if (!this.defaultDataset) {
18
+ if (!this.defaultStore) {
5
19
  return this.url;
6
20
  }
7
- return this.defaultDataset.accessURL;
21
+ return this.defaultStore.accessURL;
8
22
  }
9
23
  static setDefaultAccessURL(accessURL) {
10
24
  return (this.url = accessURL);
11
25
  }
26
+ static getDefaultStore() {
27
+ return this.defaultStore;
28
+ }
29
+ /**
30
+ * Configure the default store: the fallback for *every* purpose, `uploads`
31
+ * included.
32
+ *
33
+ * It deliberately writes no entry into the purpose → store map, so `uploads`
34
+ * behaves exactly like `appAssets`: an explicit `setStore('uploads', other)`
35
+ * wins whenever it is called, before or after this, and `hasStore('uploads')`
36
+ * stays false until such a call is made.
37
+ */
38
+ static setDefaultStore(store) {
39
+ this.defaultStore = store;
40
+ if (this.defaultStore.init) {
41
+ this.defaultStore.init();
42
+ }
43
+ }
44
+ /** @deprecated use {@link LinkedFileStorage.getDefaultStore} */
12
45
  static getDefaultDataset() {
13
- return this.defaultDataset;
46
+ return this.getDefaultStore();
14
47
  }
48
+ /** @deprecated use {@link LinkedFileStorage.setDefaultStore} */
15
49
  static setDefaultDataset(dataset) {
16
- this.defaultDataset = dataset;
17
- if (this.defaultDataset.init) {
18
- this.defaultDataset.init();
50
+ this.setDefaultStore(dataset);
51
+ }
52
+ /**
53
+ * Declare a purpose without configuring a store for it.
54
+ *
55
+ * A package that *reads* a purpose the app may leave unconfigured registers
56
+ * it in the same module that exports its constant, so importing the constant
57
+ * is the registration and ordering resolves itself.
58
+ */
59
+ static registerPurpose(purpose, info = {}) {
60
+ var _a;
61
+ const existing = this.purposes.get(purpose);
62
+ // Keep an existing description rather than blanking it on a re-register.
63
+ this.purposes.set(purpose, {
64
+ description: (_a = info.description) !== null && _a !== void 0 ? _a : existing === null || existing === void 0 ? void 0 : existing.description,
65
+ });
66
+ }
67
+ /** Configure the store for a purpose. Also registers the purpose. */
68
+ static setStore(purpose, store) {
69
+ this.registerPurpose(purpose);
70
+ this.stores.set(purpose, store);
71
+ if (store.init) {
72
+ store.init();
19
73
  }
20
74
  }
75
+ /**
76
+ * Resolve the store for a purpose (plan 011 D2):
77
+ * - configured → that store;
78
+ * - registered, not configured → the default store, logged once;
79
+ * - not registered → throws.
80
+ *
81
+ * Unregistered throws on purpose: only a registry can tell "the app did not
82
+ * split this purpose out" apart from a typo. Without it, `'appAsset'` would
83
+ * silently write release bundles into the uploads store.
84
+ *
85
+ * The returned store is a **live reference**, resolved once at call time. A
86
+ * caller that holds on to a store returned through the default-store fallback
87
+ * keeps that object even after a later `setStore(purpose, other)`; call
88
+ * `getStore` again per operation if the configuration can change at runtime.
89
+ */
90
+ static getStore(purpose) {
91
+ const configured = this.stores.get(purpose);
92
+ if (configured) {
93
+ return configured;
94
+ }
95
+ if (!this.purposes.has(purpose)) {
96
+ throw new Error(`Unknown file store purpose '${purpose}'. Register it with LinkedFileStorage.setStore(), ` +
97
+ `or import the package that defines it. Known purposes: ${this.listPurposes()
98
+ .map((entry) => entry.purpose)
99
+ .join(', ') || '(none)'}`);
100
+ }
101
+ if (!this.defaultStore) {
102
+ throw new Error(`No file store is configured for purpose '${purpose}', and no default store is configured. ` +
103
+ `Call LinkedFileStorage.setStore('${purpose}', store) or LinkedFileStorage.setDefaultStore(store).`);
104
+ }
105
+ if (!this.loggedFallbacks.has(purpose)) {
106
+ this.loggedFallbacks.add(purpose);
107
+ // `debug`, not `info`: falling back is the normal configuration for an
108
+ // app that runs one store, so this must not read as a problem or show up
109
+ // in default-level logs. It stays available when diagnosing which store a
110
+ // purpose actually resolved to.
111
+ console.debug(`[LinkedFileStorage] Purpose '${purpose}' has no dedicated store; using the default store.`);
112
+ }
113
+ return this.defaultStore;
114
+ }
115
+ /**
116
+ * Whether a store was *explicitly configured* for this purpose.
117
+ *
118
+ * The default-store fallback is deliberately ignored: `hasStore(p)` is false
119
+ * while `getStore(p)` still returns a usable store via the default. Use this
120
+ * to ask "did the app split this purpose out?", never as a guard before
121
+ * `getStore` — that would skip a perfectly working fallback.
122
+ */
123
+ static hasStore(purpose) {
124
+ return this.stores.has(purpose);
125
+ }
126
+ /** Every declared purpose, with whether it has its own store. */
127
+ static listPurposes() {
128
+ return Array.from(this.purposes.entries()).map(([purpose, info]) => ({
129
+ purpose,
130
+ description: info.description,
131
+ configured: this.stores.has(purpose),
132
+ }));
133
+ }
134
+ /** The access URL of the store resolved for this purpose. */
135
+ static accessURLFor(purpose) {
136
+ return this.getStore(purpose).accessURL;
137
+ }
21
138
  static deleteFile(filePath) {
22
- return this.defaultDataset.deleteFile(filePath);
139
+ return this.defaultStore.deleteFile(filePath);
23
140
  }
24
141
  static fileExists(filePath) {
25
- return this.defaultDataset.fileExists(filePath);
142
+ return this.defaultStore.fileExists(filePath);
26
143
  }
27
144
  static getFile(filePath) {
28
- return this.defaultDataset.getFile(filePath);
145
+ return this.defaultStore.getFile(filePath);
29
146
  }
30
147
  static listFiles(prefix) {
31
- return this.defaultDataset.listFiles(prefix);
148
+ return this.defaultStore.listFiles(prefix);
32
149
  }
33
- static saveFile(filePath, fileContent, mimeType, preventDuplicates = false) {
34
- return this.defaultDataset.saveFile(filePath, fileContent, mimeType, preventDuplicates);
150
+ static saveFile(filePath, fileContent, options,
151
+ /**
152
+ * Forwarded exactly as given. No default here on purpose: "unspecified"
153
+ * must reach the store so it can apply its own default.
154
+ */
155
+ preventDuplicates) {
156
+ return this.defaultStore.saveFile(filePath, fileContent, options, preventDuplicates);
35
157
  }
158
+ /**
159
+ * Clears the module-global registry and default store.
160
+ * For tests only — the registry is process-wide state.
161
+ *
162
+ * @internal
163
+ */
164
+ static resetForTests() {
165
+ this.stores.clear();
166
+ this.purposes.clear();
167
+ this.loggedFallbacks.clear();
168
+ this.defaultStore = undefined;
169
+ this.url = undefined;
170
+ registerWellKnownPurposes();
171
+ }
172
+ }
173
+ /** Purpose → the store configured for it. */
174
+ LinkedFileStorage.stores = new Map();
175
+ /** Every declared purpose, configured or not. */
176
+ LinkedFileStorage.purposes = new Map();
177
+ /** Purposes already reported as falling back, so the log fires once each. */
178
+ LinkedFileStorage.loggedFallbacks = new Set();
179
+ /** The purposes core ships with are declared at module load. */
180
+ function registerWellKnownPurposes() {
181
+ LinkedFileStorage.registerPurpose(FileStorePurposes.uploads, {
182
+ description: 'User-generated files. Falls back to the default store.',
183
+ });
184
+ LinkedFileStorage.registerPurpose(FileStorePurposes.appAssets, {
185
+ description: 'Built app bundles published by `linked build-app`.',
186
+ });
36
187
  }
188
+ registerWellKnownPurposes();
37
189
  /**
38
190
  * Get the full path of an asset based on the way LinkedFileStorage is configured
39
191
  * Returns accessURL + directory (/public by default) + path
@@ -1 +1 @@
1
- {"version":3,"file":"LinkedFileStorage.js","sourceRoot":"","sources":["../../../src/utils/LinkedFileStorage.ts"],"names":[],"mappings":"AAGA,MAAM,OAAgB,iBAAiB;IAIrC,MAAM,KAAK,SAAS;QAClB,8DAA8D;QAC9D,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,GAAG,CAAC;QAClB,CAAC;QAED,OAAO,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC;IACvC,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,SAAiB;QAC1C,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,iBAAiB;QACtB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,OAAmB;QAC1C,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;QAE9B,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;YAC7B,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,QAAgB;QAChC,OAAO,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,QAAgB;QAChC,OAAO,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,QAAgB;QAC7B,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,MAAe;QAC9B,OAAO,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,CAAC,QAAQ,CACb,QAAgB,EAChB,WAAoD,EACpD,QAAiB,EACjB,oBAA6B,KAAK;QAElC,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,CACjC,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,iBAAiB,CAClB,CAAC;IACJ,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,UAAU,KAAK,CAAC,IAAY,EAAE,YAAoB,SAAS;IAC/D,2EAA2E;IAC3E,sEAAsE;IACtE,wEAAwE;IACxE,0EAA0E;IAC1E,6CAA6C;IAC7C,IAAI,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5F,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,SAAS,GAAG,iBAAiB,CAAC,SAAS,CAAC;IAC9C,MAAM,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,IAAI,CAAC;IAC9C,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"LinkedFileStorage.js","sourceRoot":"","sources":["../../../src/utils/LinkedFileStorage.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,4EAA4E;IAC5E,OAAO,EAAE,SAAS;IAClB,yDAAyD;IACzD,SAAS,EAAE,WAAW;CACd,CAAC;AAeX,MAAM,OAAgB,iBAAiB;IAWrC,MAAM,KAAK,SAAS;QAClB,8DAA8D;QAC9D,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,GAAG,CAAC;QAClB,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;IACrC,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,SAAiB;QAC1C,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,eAAe;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,eAAe,CAAC,KAAiB;QACtC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAE1B,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YAC3B,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,gEAAgE;IAChE,MAAM,CAAC,iBAAiB;QACtB,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;IAChC,CAAC;IAED,gEAAgE;IAChE,MAAM,CAAC,iBAAiB,CAAC,OAAmB;QAC1C,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,eAAe,CAAC,OAAe,EAAE,OAA6B,EAAE;;QACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC5C,yEAAyE;QACzE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE;YACzB,WAAW,EAAE,MAAA,IAAI,CAAC,WAAW,mCAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,WAAW;SACvD,CAAC,CAAC;IACL,CAAC;IAED,qEAAqE;IACrE,MAAM,CAAC,QAAQ,CAAC,OAAe,EAAE,KAAiB;QAChD,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAEhC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,QAAQ,CAAC,OAAe;QAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CACb,+BAA+B,OAAO,oDAAoD;gBACxF,0DACE,IAAI,CAAC,YAAY,EAAE;qBAChB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;qBAC7B,IAAI,CAAC,IAAI,CAAC,IAAI,QACnB,EAAE,CACL,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CACb,4CAA4C,OAAO,yCAAyC;gBAC1F,oCAAoC,OAAO,wDAAwD,CACtG,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAClC,uEAAuE;YACvE,yEAAyE;YACzE,0EAA0E;YAC1E,gCAAgC;YAChC,OAAO,CAAC,KAAK,CACX,gCAAgC,OAAO,oDAAoD,CAC5F,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,QAAQ,CAAC,OAAe;QAC7B,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,iEAAiE;IACjE,MAAM,CAAC,YAAY;QACjB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YACnE,OAAO;YACP,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC;SACrC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,6DAA6D;IAC7D,MAAM,CAAC,YAAY,CAAC,OAAe;QACjC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC;IAC1C,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,QAAgB;QAChC,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,QAAgB;QAChC,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,QAAgB;QAC7B,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,MAAe;QAC9B,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,CAAC,QAAQ,CACb,QAAgB,EAChB,WAAoD,EACpD,OAAkC;IAClC;;;OAGG;IACH,iBAA2B;QAE3B,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAC/B,QAAQ,EACR,WAAW,EACX,OAAO,EACP,iBAAiB,CAClB,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,aAAa;QAClB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,YAAY,GAAG,SAAkC,CAAC;QACvD,IAAI,CAAC,GAAG,GAAG,SAA8B,CAAC;QAC1C,yBAAyB,EAAE,CAAC;IAC9B,CAAC;;AA1MD,6CAA6C;AAC9B,wBAAM,GAA4B,IAAI,GAAG,EAAE,CAAC;AAC3D,iDAAiD;AAClC,0BAAQ,GAAsC,IAAI,GAAG,EAAE,CAAC;AACvE,6EAA6E;AAC9D,iCAAe,GAAgB,IAAI,GAAG,EAAE,CAAC;AAwM1D,gEAAgE;AAChE,SAAS,yBAAyB;IAChC,iBAAiB,CAAC,eAAe,CAAC,iBAAiB,CAAC,OAAO,EAAE;QAC3D,WAAW,EAAE,wDAAwD;KACtE,CAAC,CAAC;IACH,iBAAiB,CAAC,eAAe,CAAC,iBAAiB,CAAC,SAAS,EAAE;QAC7D,WAAW,EAAE,oDAAoD;KAClE,CAAC,CAAC;AACL,CAAC;AAED,yBAAyB,EAAE,CAAC;AAE5B;;;;;;GAMG;AACH,MAAM,UAAU,KAAK,CAAC,IAAY,EAAE,YAAoB,SAAS;IAC/D,2EAA2E;IAC3E,sEAAsE;IACtE,wEAAwE;IACxE,0EAA0E;IAC1E,6CAA6C;IAC7C,IAAI,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5F,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,SAAS,GAAG,iBAAiB,CAAC,SAAS,CAAC;IAC9C,MAAM,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,IAAI,CAAC;IAC9C,OAAO,QAAQ,CAAC;AAClB,CAAC"}
package/package.json CHANGED
@@ -1,13 +1,14 @@
1
1
  {
2
2
  "name": "@_linked/core",
3
- "version": "2.18.1",
3
+ "version": "2.20.1",
4
+ "packageManager": "npm@11.19.1",
4
5
  "license": "MIT",
5
6
  "linkedPackage": true,
6
7
  "type": "module",
7
8
  "description": "Linked.js core query and SHACL shape DSL (copy-then-prune baseline)",
8
9
  "repository": {
9
10
  "type": "git",
10
- "url": "git+https://github.com/linked-cm/core.git"
11
+ "url": "git+https://github.com/linked-fw/core.git"
11
12
  },
12
13
  "main": "lib/esm/index.js",
13
14
  "module": "lib/esm/index.js",